斯坦福 机器学习Andrew NG 第三讲Logistic Regression

Logistic Regression(Logistic 回归)


1·Classification(分类)

在生活中我们会遇到各种各样的分类问题,比如邮件的分类(判断是否是垃圾邮件),在线交易(是否为恶意的),肿瘤的判定(良性或恶性)等等。通常我们令y={0,1};
其中0表示negative class ,1表示positive class。

但在解决分类问题的时候,我们通常不会使用线性回归,so,why?

以根据肿瘤大小判断肿瘤良性恶性为例,x轴代表肿瘤的大小,y轴代表是恶性肿瘤的概率。当概率大于0.5时认为是恶性肿瘤,当小于0.5时,被认为是良性肿瘤。如上图所示,当不考虑最右边的那个数据时,做出一条直线与y=0.5想交的的交点做垂线与x轴交于一点。在此时,判断结果与实际情况较符合,当考虑到最右边的那个数据时,重新做出一条直线,可以看到过直线与y=0.5的交点做垂线交x于另一点的值与刚刚那种情况差别较大。线性回归的稳定性太差,数据的微小变动都对结果产生着很大的影响。所以线性回归不适合解决分类问题。
分类器要求结果分为0,1两项。而线性回归的结果可能大于1或者小于0.Logistic 回归的范围在0—1之间,采用Logistic 回归来解决分类问题。

2·Hypothesis Representation


Logistic function or sigmoid function的表达式和曲线就如上图所示。可以看出当z<0时,0<g(z)<0.5,当z>0时,0.5<g(z)<1.
由概率论知识可知,当x与Theta已知时,如下表达式成立:


3·Decision boundary

如何通过Logistic function 求Decision boundary?

如上图所示,当(Theta)T*X>0时,y=1,当(Theta)T*X<0时,y=0.所以(Theta)T*X=0,就是所要求得的Decision Boundary,如下例所示:

非线性的decision boundary与线性的decision boundary求解原理是一样的。如下例,非线性的decision boundary 求解。


4·Cost function

Logistic 回归与线性回归的Cost function有什么不同吗?如何求参数Theta呢?

为了使Cost function 收敛,可以令Cost function  如下:


5·Simplified cost function and gradient descent

由于y只能为0或1,所以可以将Cost function 简化。

然后选择梯度下降的方法求Theta。


6·Advanced optimization



除了梯度下降,我们还可以使用其他的算法来求Theta。
这些算法相较梯度下降有以下优点:
不需要设置学习率alpha
速度较梯度下降快
缺点:更复杂

7·Multi-class classification: One-vs-all

有时,我们更多的会遇到多级分类的问题,比如:



阅读更多
换一批

没有更多推荐了,返回首页