吴恩达机器学习笔记——第三周

Logistic回归

目的是解决分类问题,线性回归不能很好的解决分类问题,这是因为分类问题并不能拟合成为一条直线。

假设函数

为了使得分类更加方便,最好输出值在0到1之间。
sigmod函数正好能够满足这个特点:
g(z)=11+ezg(z)=\frac{1}{1+e^z}
吴恩达机器学习笔记——第三周
因此对于假设函数进行如下变换
hθ(x)=g(θTx)h_{\theta}(x)=g(\theta^Tx)

实际意义在于该值是参数为θ\theta的情况下,输入x,得到y=1的概率。
而又由于y=0或者是1,所以一般hθ(x)>0.5h_{\theta}(x)>0.5则认为y=1.

决策边界

决策边界是划分y=0/1的直线或者曲线,如下图所示。
吴恩达机器学习笔记——第三周
由于这条线是区分y=0/1,也就是区分hθ(x)>0.5h_{\theta}(x)>0.5是否成立,也就是区分θTx>0\theta^Tx>0是否成立。
所以决策边界的求解办法是令θTx=0\theta^Tx=0

代价函数

不能再使用与原来相同的代价函数,这是因为Logistic回归的假设函数导致随着成本函数随参数的输出是波形的,也就是不再是凸函数了,这会导致很多的局部优化。
所以,为了仍然使得代价函数为凸函数,我们对于代价函数进行改进:
吴恩达机器学习笔记——第三周
吴恩达机器学习笔记——第三周
吴恩达机器学习笔记——第三周
从图中可以看出,预测值越接近0(真实值),函数代价越小直到为0;预测值越接近1,函数代价越大直到趋近于正无穷。

因为y只有0和1两个值,因此整合之后的代价函数为:
J(θ)=1mi=1m(y(i)log(hθ(x))+(1y(i))(1log(hθ(x)))J(\theta)=-\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}log(h_{\theta}(x))+(1-y^{(i)})(1-log(h_{\theta}(x)))