吴恩达机器学习笔记02

Logistic 回归

Posted by canjuly on July 4, 2019

分类问题

Logistic回归,又称分类问题,他和线性回归问题一样都属于监督学习的范畴。比如说,现在有一个数据集,内容为大小为x毫米的肿瘤是否为良性。显然,线性回归问题的结果时连续的,而分类问题的结果是离散的(肿瘤只有良性或恶性两种可能)。

预测函数

在线性回归中,预测函数是这样的:

hθ(x) = θ0+θ1x1+θ2x2+⋯+θnxn

而分类问题,即逻辑回归中预测函数如下:

h_\theta(x)=g(\theta^Tx)

其中

g(z)=\frac{1}{1+e^{-z}}

上式中g(z)又称Sigmoid函数。这个函数能将函数值控制在0和1之间。该预测函数的意思是:在给定x和θ的情况下,y=1的概率为hθ(x)。

决策边界

显然,预测函数hθ(x)还是一个连续的函数,故要对结果进行人为的划分,比如hθ(x)>=0.5时,结果取1,否则取0。我们划分的这个界限即为决策边界。

代价函数

由于预测函数的变化,对于线性回归适用的代价函数不再适用于逻辑回归。倘若将原代价函数用于逻辑回归,则会造成函数不凸,也就是会有多个极小值,这样就无法进行下一步操作。所以我们将代价函数更换为如下:

J(\theta)= -\frac{1}{m}\Big(y^Tlog\big(g\left(X\theta\right)\big)+(1-y)^Tlog\big(1-g\left(X\theta\right)\big)\Big)

由于该函数满足凸函数的性质,故同样可以使用梯度下降法进行求解。

过拟合与正则化

当一个问题有相当多的特征值时,我们拟合的曲线可能会很好的适应数据集,但是并没有办法进行推广。也就是说,曲线为了迎合数据而变得十分复杂,会有非常多的拐点,失去了真实性,这种情况被称为过拟合。

为了解决过拟合问题,我们引入正则化概念,我们将代价函数更改为如下所示:

J(\theta)= -\frac{1}{m}\Big(y^Tlog\big(g\left(X\theta\right)\big)+(1-y)^Tlog\big(1-g\left(X\theta\right)\big)\Big)+\frac{\lambda}{2m}\theta^T\theta

显然,要使代价函数尽量小的话,各θi的值就要相应缩小一些,此时我们拟合的曲线就会相对更平滑,也就更具有真实性。