机器学习---之逻辑回归中损失函数的由来

来源:互联网 发布:淘宝卖家设置评论有礼 编辑:程序博客网 时间:2024/06/14 05:17

首先,要明确逻辑似地回归为什么要用似然函数方程来求极值。我觉得很大一部分原因在于逻辑斯蒂回归模型本质上是一个“概率模型”。具体可以参看《统计学习方法》中,关于逻辑斯蒂回归的介绍。我们简单拎出几个公式来说明它的物理含义。【纯属个人意见,如有不当,请指正。】

逻辑斯蒂回归模型中,我们用到了一个叫Sigmoid曲线,它Logistic曲线。具体的公式如下:

F(x) = P(X \le x) = \frac{1}{1+ e^{-(x-\mu)/\gamma}}

在斯坦福大学,吴恩达中的视频教程里,命名为Sigmoid函数,公式如下:

P(Y = 1 | x) = \frac{1}{1+e^{-z}} ,其中z = w\cdot x^T,w = (w_1,w_2,...,w_n),x = (x_1,x_2,...,x_n)

给出Sigmoid曲线为:


你会发现,Sigmoid函数和书中定义的Logistic曲线其实一个函数模型。而在吴恩达的视频中,他直接“凑出”了一个CostFunction,也就是题主所提到的CostFunction。


那么它是怎么来的呢?刚才说过逻辑斯蒂回归模型其实概率模型,因为在描述该分类时,我们其实是以概率来衡量的。从Logistic曲线就能看出,无论横坐标取什么值,它的值总是在[0,1]之间变化,它的物理含义很明确,指单个样例,在条件x下,出现的【概率】。我们还要时刻注意一点,横坐标【x】的物理含义是什么?要知道这个,我们需要拿出一个实际的生物模型,它在生物学中有广泛的应用。如下图所示:


这是草履虫密度的分布图,你会发现它的拟合曲线即为我们定义的Logistic曲线或Sigmoid曲线,呵呵,怎么那么巧呢。简单解释下该图的物理内涵,刚开始,种群的数量非常少,繁殖的速度会比较慢。随着数量的增加,繁殖速度越来越快,然后,会因为食物不足,有天敌出现等原因,增速开始下降,最后稳定在一个范围内。Logistic曲线非常好的描述了这个变化规律。


所以总结一下,就是,该曲线可以作为种群达到【稳定状态】的分布曲线。当横坐标的“条件”非常苛刻时,如【0-5】分钟内,草履虫相比去其他物种出现的概率小之又小,而在15分钟后,草履虫稳定了自己的状态,那么我们就认为在当前条件下,【草履虫种群】出现的概率为1。Ok,回到真正的逻辑斯蒂回归模型,去做分类时,我们是否一样可以有这样的认知?


现在假设我们有待分类的数据,分为种群【A类】和【B类】,那么不管是A类还是B类中的单个样本,它出现的概率我们都可以用Logistic曲线来描述。如在A类中,某个样本的概率为:

P(Y = A | x_0 ) = \frac{1}{1 + e ^{-z_0}}

针对A类中的某个样本x_o ,当它达到条件“z_0 ”时,出现的概率为P(Y = A | x_0) 。这里条件z_0 怎么理解呢?对比下,草履虫的条件,时间【t】是不是有一些新的认识了?它的概率其实对之前所有条件的累加,而非单个点的概率,所以更准确的A类某个样例的概率为:

P(Y = A |-\infty \le x_0 \le z_0) = \frac{1}{1+ e^{-z_0}}

条件z_0 是涵盖了之前所有条件的随机变量!!!目前我所能想到的富含这种特征的随机变量也就是时间了。所以逻辑斯蒂回归模型中对特征向量的选取还是有一定讲究的,最好能够随时间发生变化的量,而且随着时间趋于稳定的特征量(或者说是符合Logistic曲线的特征量),才能达到很好的分类效果。【纯属个人猜测,还未实际验证(┬_┬)】

好了,接下来的事情就简单了,因为对于数据样本中,所有单个样本都对应于一个概率,那么我们可以用概率模型就能描述这个分类过程了。此处用的核心思想便是【贝叶斯哲学】,所谓透过现象看本质,P(\theta | X) = \frac{P(\theta)P(X| \theta)}{P(X)} ,我们不去考虑模型参数\theta 的先验概率和出现该数据分布P(X)本身的概率,那么就有:

P(\theta | X) \sim P(X|\theta) ,此处\theta 表示模型参数,而X便是所有数据样本(表象)

所以有了贝叶斯公式,我们只需要求解等式右边即可,而等式右边的公式,无非就是所有样本出现A类或B类概率的乘积:

P(Y = 1| x ) = \pi(x), P(Y = 0 | x) = 1 - \pi (x)

似然函数为:

\prod_{i=1}^N[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}

有了似然函数,用log求其对数似然函数的极值,就能求解出参数\theta

\begin{align*} L(w) & = \sum_{i = 1}^N[y_i\log\pi(x_i)+ (1-y_i)\log(1-\pi(x_i))]\\ &= \sum_{i=1}^N[y_i\log(\frac{\pi(x_i)}{1-\pi(x_i)})+\log(1-\pi(x_i))]\\ &=\sum_{i=1}^N[y_i(w\cdot x_i) - \log (1+ exp(w\cdot x_i))] \end{align*}

对L(w)求极大值,得到w的估计值。这样,问题就变成了以对数似然函数为目标函数的最优化问题。逻辑斯蒂回归学习中通常采用的方法是梯度下降法及拟牛顿法。

注:相当于用一个最大似然估计去算最适合的w的值,因为已经知道p(y=1|x,w)这里算出,要使得样本是1且预测为1的概率最大,再用一个梯度下降法即可

原创粉丝点击