吴恩达机器学习课程笔记(四)Logistic Regression

时间:2022-06-05 20:14:23

*个人学习笔记

一、写在前面的话

注意到Logistic Regression 和 Linear Regression从名字上非常类似(事实上不仅是名字),但是本质是不同的,必须进行区分,了解到他们的不同之处,具体的不同最后我会给出的。

二、线性回归模型解决分类问题(糟糕!)

首先我们尝试使用一个线性回归模型来计算一个肿瘤是否是恶性的,我们可以看到划一条直线hθ(x) = θTx,转化为一个阈值问题,大于0.5阈值的为1,小于为零,看起来不错。

吴恩达机器学习课程笔记(四)Logistic Regression

但如果我们在最右侧增加一个数据,那么拟合的曲线就会被拉偏,按照之前设置的阈值,就会产生分类错误。当然,改变阈值能够修正这一个结果。

吴恩达机器学习课程笔记(四)Logistic Regression

但是,你会发现,这个线性回归模型的结果有时会远远大于1对不对,因为是线性的,而非0/1两个值的输出,这就很难受。

吴恩达机器学习课程笔记(四)Logistic Regression

可以看到线性回归做这个是有一些不合适的,所以我们希望用Logistic Regression来解决这个分类问题,那么具体怎么做?一步步来。

二、Logistic Regression

1.1 假设函数

假设函数为hθ(x)=g(θTx), 其中g(z)=1/(1+ez),g(z)叫做Sigmoid Function或者对率函数(Logistic Function).

吴恩达机器学习课程笔记(四)Logistic Regression


我们可以将对率函数的输出理解为当输入为x的时候, y=1的概率. 可以用hθ(x)=P(y=1|x;θ)

表达.(这个条件该概率的式子应该都知道,代表x和θ指定值下y = 1的概率

那么为什么假设函数等于这个条件概率的公式呢?

以肿瘤为例,代入计算x和θ值,然后代入sigmoid得出的会是一个0到1的数字对不对,把这个当作得肿瘤的概率,就可以想明白了。

1.2 决策边界 Decision Boundary

吴恩达机器学习课程笔记(四)Logistic Regression


我们可以看到,根据sigmoid,当z = 0时, g(z) = 0.5,如果把0.5当作一根分界线(也就是决策边界),我么可以说>0.5的就是预测值为1,<的自然就是0了;即θTx0时, 预测y=1;当θTx<0时, 预测y=0

如下图中的 x1 + x2 = 3 就是决策边界,因为大于这条曲线的就是y=1,如x1+x2=4,反之亦然。

吴恩达机器学习课程笔记(四)Logistic Regression

1.3 代价函数

如果我们还记得Linear Regression的代价函数:

吴恩达机器学习课程笔记(四)Logistic Regression

线性回归用这个美得很,因为这个J在现行回归模型中是一个凸函数,存在最优解,那么将现在的假设函数h代入costfunction呢??

吴恩达机器学习课程笔记(四)Logistic Regression

什么鬼,好多局部最优点,这就很痛苦了,所以这个美得很的平方差代价函数就不能用了,用个新的!

Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))


具体这个式子怎么来的呢?

吴恩达机器学习课程笔记(四)Logistic Regression

是由这两个式子合并的,其实就是线性组合了下,那么这两个式子啥意思嘞?

如果你画出上面的图像就明白了。

y=1时(y代表真实输出,h代表预测输出),对于预测h=0的地方,给予最严重的惩罚∞(因为计算J时,我们的目标是个最小的值对吧),而h=1即代表预测正确,则cost=0。

吴恩达机器学习课程笔记(四)Logistic Regression

y=0亦然。

吴恩达机器学习课程笔记(四)Logistic Regression

1.4梯度下降

代入上面的全新cost function,就可以得到:

吴恩达机器学习课程笔记(四)Logistic Regression

吴恩达机器学习课程笔记(四)Logistic Regression

经过一系列求导之后,竟然!!!更新规则和前面的线性回归是一样的。。。呵呵。。(注:下图公式中α后少了一个1/m)

1.5 高级优化算法

这里提到了几个高级优化算法,而非梯度下降,好处很多,缺点就是太复杂了。

吴恩达机器学习课程笔记(四)Logistic Regression

三、多分类问题

那之前之分01啊,那如果有三类012怎么办嘞?

吴恩达机器学习课程笔记(四)Logistic Regression

一种办法叫做“一对多 ONE-VS-ALL”,就是将上面这个三类转为三个二分类问题(三个“是/不是I种类”(i=0、1、2)的问题)。

吴恩达机器学习课程笔记(四)Logistic Regression

吴恩达机器学习课程笔记(四)Logistic Regression

分别计算出针对三种输出的概率,取最大的就是预测值啦。其实这个后面的SVM肯定也会讲到。


四、总结

LinearRegression VS LogisticRegression

这个就很重要了!!反正除了最后的θ更新,其他公式都不同!

吴恩达机器学习课程笔记(四)Logistic Regression

还有一定要记住,LinearR是用在预测一个具体数字输出上的,而LogisticR使用在分类问题上的。