机器学习(五)- 对于cost function的思考

logistic regression和linear regression的代价函数的思考

谈到逻辑回归,必然逃不开与线性回归的比较。自然它们有很多不同,今天在这里主要讲讲自己对于它们代价函数的思考。
Andrew Ng教授在讲到逻辑回归的时候提到逻辑回归的代价函数本身是由统计学中最大似然估计得来的。于是趁这个机会又去百度了几篇博客,复习复习最大似然估计与最大后验概率,顺手还转载了一篇,觉得写的挺好的。以下是几点思考:

问题1:线性回归的代价函数又从何而来?

如果逻辑回归的cost function是来自于最大似然估计,那线性回归的cost function从何而来呢,为此我专门回看了Andrew Ng在讲解线性回归时,提到代价函数的时候,他非常自然的应用了最小二乘,并没有说明为什么。于是我又继续百度去寻找答案,最后在知乎上关于“在进行线性回归时,为什么最小二乘法是最优方法”的解答中找到了自己比较认可的答案。(AlWeis和赵卿元,链接如下)
https://www.zhihu.com/question/24095027
简单总结就是其实我们并非一定要使用最小二乘,但是在进行线性拟合的时候,最小二乘是一种简单,直接而且自然(符合我们的习惯和直觉)的一种方法。因为欧式空间是我们习惯且非常熟悉的空间,当有人问你如何度量两点间的距离的时候,你自然的会在脑海里构建一个欧式空间,然后说当然是求
( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 + . . . \sqrt{(x_1-x_2)^2+(y_1-y_2)^2+...} (x1x2)2+(y1y2)2+...
所以我们在线性拟合时,也是自然的运用了最小二乘。在符合我们的习惯的同时,最小二乘还具有很多优点,第一就是运算简单(相减再平方),第二就是非负性,那有人就会问为什么不直接用绝对值呢,这就导出了第三个优点,可导性,函数平滑,每个点都可导,第四就是它是一个凸优化的问题,局部最优就是全局最优。

问题2:线性回归与最大似然估计的关系?

看到题目,我相信很多人都会想到下面这段推导。
首先假设线性回归模型具有如下形式:

f(\mathbf x) = \sum_{j=1}^{d} x_j w_j + \epsilon = \mathbf x \mathbf w^\intercal + \epsilon

其中\mathbf x \in \mathbb R^{1 \times d}\mathbf w \in \mathbb R^{1 \times d}误差\epsilon \in \mathbb R

当前已知\mathbf X=(\mathbf x_1 \cdots \mathbf x_n)^\intercal \in \mathbb R^{n \times d}\mathbf y \in \mathbb R^{n \times 1},怎样求\mathbf w呢?
假设\epsilon_i \sim \mathcal{N}(0, \sigma^2),也就是说\mathbf y_i \sim \mathcal{N}(\mathbf x_i \mathbf w^\intercal, \sigma^2),那么:

 \begin{align*} \text{arg\,max}_{\mathbf w} L(\mathbf w) & = \ln {\prod_{i=1}^n \frac{1}{\sigma \sqrt{2\pi}} \exp(-\frac{1}{2}(\frac{\mathbf y_i - \mathbf x_i \mathbf w^\intercal}{\sigma})^2})\\ & = - \frac{1}{2\sigma^2} \sum_{i=1}^n(\mathbf y_i - \mathbf x_i \mathbf w^\intercal)^2 - n \ln \sigma \sqrt{2\pi} \end{align*} \text{arg\,min}_{\mathbf w} f(\mathbf w) = \sum_{i=1}^n(\mathbf y_i - \mathbf x_i \mathbf w^\intercal)^2= {\left\lVert{\mathbf y - \mathbf X \mathbf w^\intercal}\right\rVert}_2^2


然后就惊喜的发现,哇哦,原来线性回归的代价函数也是由最大似然估计推导而来。但细心的朋友们其实发现上述推导是建立在Gaussian噪声的假设下的。只能说明在Gaussian噪声的假设下,可以由最大似然估计推导出最小二乘,并不能说明其必要性。也就是说线性回归的代价函数并不是由最大似然估计推导的,它们没有必然的联系。

问题3:逻辑回归的代价函数从何而来?

我们知道线性回归的代价函数是下图中的最小二乘式子,那为什么逻辑回归不能使用最小二乘呢,第一确实不太符合我们习惯的理解,因为逻辑回归本质上是一个分类,是一个离散的值,并不能很好的转换到欧式空间里。第二点更重要的是,因为 h ( x ) h(x) h(x)的不同,导致代价函数是一个非凸函数,这样就会有很多局部最优解,梯度下降无法求得全局最优。
这里写图片描述
上面我们也说了,逻辑回归的代价函数推导是来自于最大似然估计,那下面我们就用最大似然估计来推一推。(这里只讨论最简单的(0,1)分类)
由于二值分类很像二项分布,而且配合上我们所使用的sigmoid函数,我们能够直接将单一样本的类值假设成其发生的概率:
P ( y = 1 ∣ x ; θ ) = h θ ( x ) P ( y = 0 ∣ x ; θ ) = 1 − h θ ( x ) P(y=1|x;\theta)=h_\theta(x)\\P(y=0|x;\theta)=1-h_\theta(x) P(y=1x;θ)=hθ(x)P(y=0x;θ)=1hθ(x)
为了方便后面计算将上述两式合并:
P ( y ∣ x ; θ ) = ( h θ ( x ) ) y ( 1 − h

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值