机器学习-逻辑回归

如果了解了线性回归,那么对于逻辑回归,基本上同理,只是具体上有些差别。

对于预测结果是0,和1这样的应用,我们有时也叫分类(classification).

如果我们使用线性回归来处理这样的问题,那么会发现效果不是很好,而且很容易受到干扰。

这里,NG使用了“肿瘤预测”的案例来说明问题。



 

上图是使用线性回归来解决这个问题,我们很明显可以从中间划一条线来分割,左边的就是良性,右边的是恶性。也就是有个明显的肿瘤大小值来划分。这样似乎问题得到解决。假设又来一个数据。

 



 

这时,拟合的直线向右倾斜了,这样导致原本属于应该判定为恶性的肿瘤变成良性了。

实际上,这个新的数据,并未提供任何新的信息。

 

分析问题,那就是我们期望的结果是1或者0,但是线性回归给我们的假想函数h通常都是大于1或者小于0的,如果我们的假想函数h是 0 <=hθ(x)<=1, 那么对于分类问题,就可以使用概率来预测0或者1了。

 

这里找到的是一个神奇的函数,



 

很形象,s型的函数,这个函数表达的,也就是结果为1的一个可能的概率。

可以用概率 表示 h(x)=P(y=1|x;θ), 意思就是 给定x,参数θ,y=1的概率

这里如果是y=0的,那么就是1-P(y=1|x;θ),他们加起来应该是1

 

找到了假想函数,那么我们还是寻找cost 函数。如果按照线性回归,我们可能得出以下公式

但是……我们画出的J(θ) 图像显示,如果在逻辑回归中使用一上cost function,那么我们得到的图像如下:

 


 

 NG老师说的non-convex,意思就不是凸型的,这样的问题是,使用梯度下降很难找到全局的最优解。

所以,这个J(θ)不能使用线性回归的这种方法。

那么应该使用什么方式呢?

 

这里我们可以这样考虑,如果实际情况与假想函数预测的相反,那么cost function的值应该是很大的。

反之,如果实际情况和预测函数一致,那么我们可以认为cost function的值为0

这时,我们可能就想到log函数了。



 

 我们看 -logx的情况 如上图中的蓝线。横坐标我们看做hθ(x),那么如果y=1,并且hθ(x)=1,这时候的J(θ)=0

说明预测与实际吻合,所以cost函数值为0.



 

有了思路,那么同理,我们分析 -log(1-hθ(x))

 



 也就是在假想函数和实际情况吻合(y=-0,并且 h
θ(x)=0)那么J(θ)也是0

相反,如果假想函数趋向1,而实际情况是y=0,那么,J(θ) 也趋向无穷大,这就是我们想要的cost function



 这里做了同意。我们的J(
θ)也就完成了。

 

接下来是梯度下降算法:

 



 这里NG老师直接给出了公式,我们发现和线性回归简直一模一样,但是NG 老师说,h
θ(x)函数不一样了,所以是不同的。如果我们学过微积分,可以试着通过对 θ求导 α 后的那一串。



 好了。到这里,基本上逻辑回归就告一段落了。我们可以试着实现一个自己的逻辑回归。

当然,还有一些内容下次补充。

 

猜你喜欢

转载自airu.iteye.com/blog/2326706