ng Machine Learning课程笔记(2)——Logistic Regression逻辑回归与Overfitting过拟合

Logistic Regression逻辑回归

二分类问题

考虑到二分类问题,一种方法是用线性回归,所得结果大于0.5的归类为1,小于0.5的归类为0,但是这种方法存在问题,因为分类问题本身并不一定是线性的。如果增加一个距离很远的点,拟合得到的直线就会出问题,从而得不到想要的结果。

ng Machine Learning课程笔记(2)——Logistic Regression逻辑回归与Overfitting过拟合_第1张图片

应用逻辑回归时,希望得到的结果在0-1之间,我们使用Sigmoid Function,也成为Logistic Function,定义如下:

ng Machine Learning课程笔记(2)——Logistic Regression逻辑回归与Overfitting过拟合_第2张图片

图像是这样的:

ng Machine Learning课程笔记(2)——Logistic Regression逻辑回归与Overfitting过拟合_第3张图片

当z>0时,g(z)>0.5,推出y=1;反之y=0。

sigmoid function的输入不必为线性的,甚至可以是一个圆或者更高元的函数。

我们不能使用与线性回归中相同的cost function,因为hθ(x)不再是一个凸函数,它有许多的极小值,如果在这样的cost function下使用gradient descent,很可能不能收敛到全局最小值。

因此使用下面的cost function:

ng Machine Learning课程笔记(2)——Logistic Regression逻辑回归与Overfitting过拟合_第4张图片

如果hθ(x)与y的值一致,cost function就会趋于0,如果不一致,就会趋于∞。

这种方式编写的cost function保证了逻辑回归的J(θ)是个凸函数。

将两个cost function压缩为一个式子,得到Simplified Cost Function:

梯度下降的算法:

ng Machine Learning课程笔记(2)——Logistic Regression逻辑回归与Overfitting过拟合_第5张图片

向量化的公式为:

多分类问题

使用one-vs-all,即一对多的方法,对于0,1,2,……,n个类别,创造n+1个子分类问题,将其中的某个类别作为一类,其他的全部归为另一类,使用返回值最大的假设作为数据的类别。

ng Machine Learning课程笔记(2)——Logistic Regression逻辑回归与Overfitting过拟合_第6张图片

Overfitting过拟合

欠拟合意味着函数不能很好地匹配训练数据,通常是由于函数过于简单,特征太少造成的。过拟合则意味着函数非常完美的匹配了训练集,但是不能很好地预测新的数据,往往是由于函数过于复杂,特征太多引起的。

两个方法预防过拟合:

(1)减少特征的数量。(手动选择特征或使用模型选择算法)

(2)正则化。(不改变特征的数量,但是减小某个特征的量级)

可以将所有的参数以和的形式附加在后面

λ称为regularization parameter,它决定了参数θ膨胀的代价。

后面加的小尾巴可以使函数hθ(x)更平滑,但如果λ过大,会使函数过于平滑,直至变成一条直线,若λ太小甚至等于0,又起不到平滑函数改善过拟合的效果。

正则化在线性回归中

正则化应用到梯度下降中:

ng Machine Learning课程笔记(2)——Logistic Regression逻辑回归与Overfitting过拟合_第7张图片

并不惩罚θ0。

式子经过变形可以得到:

这意味着θj在每一次的更新中都会变小一点。

正则化应用到正规方程中:

ng Machine Learning课程笔记(2)——Logistic Regression逻辑回归与Overfitting过拟合_第8张图片

L是一个(n+1)*(n+1)维的矩阵。

记得在之前提到的,X的转置*X,结果并不一定是可逆的,加上L之后,可以解决它不可逆的问题。

正则化在逻辑回归中

j是从1开始的,明确排除了θ0。

ng Machine Learning课程笔记(2)——Logistic Regression逻辑回归与Overfitting过拟合_第9张图片

你可能感兴趣的:(ML&DL,机器学习,逻辑回归,过拟合)