Coursera ML 逻辑回归与正则化

分类与逻辑回归


逻辑回归

逻辑回归(Logistic Regression)是一种将数据分类的方法。如垃圾邮件识别,病情估计等。

与线性回归不同的是,逻辑回归的输出是离散的值,因此,预测函数也将于线性回归不同。

预测函数

为了使预测函数在0与1之间,我们使用Sigmoid函数对预测函数进行处理:

Sigmoid函数:\[g(z) = \frac{1}{1+e^{-z}}\]

211552039538769.jpg

预测函数为:
\[h_\theta(x) = g(X\theta) = \frac{1}{1+g^{-X\theta}}\]

预测函数的值表示结果为1的概率:
\[P(y=1|x;\theta) = h_\theta(x)\]
\[P(y=0|x;\theta) = 1 - h_\theta(x)\]

代价函数

Cost函数和J函数如下,它们是基于最大似然估计推导得到的:

211554226568394.png

211554381564726.png

向量化得:

\[J(\theta) = \frac{1}{m}\sum_{i=1}^nCost(h_\theta(x),y) = -\frac{1}{m}(-y^Tlog(g(X\theta)) - (1-y)^Tlog(1-g(X\theta))\]


梯度下降

代价函数求偏导:

211557572814192.png

θ更新过程:

211557518752111.png

211558242655314.png

向量化得:
\[\theta = \theta - a\frac{1}{m}(X^T*(X\theta-Y))\]

向量化后的计算步骤:
\[A = X\theta \]
\[E = g(A) - Y \]
\[\theta = \theta - aX^TE\]

正则化

过拟合问题

对于线性回归或逻辑回归的损失函数构成的模型,可能会有些权重很大,有些权重很小,导致过拟合(就是过分拟合了训练数据),使得模型的复杂度提高,泛化能力较差(对未知数据的预测能力)。
下面左图即为欠拟合,中图为合适的拟合,右图为过拟合。

211701045316632.png

原因:
特征过多

解决方法:

  1. 减少特征数量(会导致特征信息丢失)
    • 人工选择特征
    • 模型选择算法
  2. 正则化(特征较多时比较有效)
    • 保留所有特征,减小θ的大小

正则化方法:

正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或惩罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化项就越大。

从房价预测问题开始,这次采用的是多项式回归。左图是适当拟合,右图是过拟合。

021424541772967.png

容易得到,如果想要解决这个过拟合问题,我们最好能将\(x^3\)\(x^4\)的影响降到最小,即使\(\theta_3\approx0 , \theta_4\approx0\)。假设我们对于\(\theta_3 与 \theta_4\)进行惩罚,即加上两个较大的惩罚项,如:
\[J(\theta) = \frac{1}{2m}\sum_{i=1}^m(h_\theta(x_i)-y_i)^2 + 100\theta_3^2 + 100\theta_4^2\]
这样在进行梯度下降的时候,会得到\(\theta_3\approx0 , \theta_4\approx0\)
在线性回归中,正则化后的Cost函数为:
\[J(\theta) = \frac{1}{2m}\sum_{i=1}^m(h_\theta(x)-y)^2 + \lambda\sum_{j=1}^n\theta_j^2\]

\(lambda\)是正则项系数:

  • 如果它的值很大,说明对模型的复杂度惩罚大,对拟合数据的损失惩罚小,这样它就不会过分拟合数据,在训练数据上的偏差较大,在未知数据上的方差较小,但是可能出现欠拟合的现象;
  • 如果它的值很小,说明比较注重对训练数据的拟合,在训练数据上的偏差会小,但是可能会导致过拟合。

正则化后梯度下降的更新变为:
\[\theta_j := \theta_j - \frac{a}{m}\sum_{i=1}^m(h_\theta(x^{(i)}) - y^{(i)})x_j^i - \frac{\lambda}{m}\theta_j\]

正则化后线性回归的正规方程为:

021506426306086.png

向量化得:

\[\theta := \theta - \frac{a}{m} ((X \theta - Y) X^T) \]

其他优化算法

  • Conjugate gradient method(共轭梯度法)
  • Quasi-Newton method(拟牛顿法)
  • BFGS method
  • L-BFGS(Limited-memory BFGS)

后二者由拟牛顿法引申出来,与梯度下降算法相比,这些算法的优点是:

  • 不需要手动的选择步长;
  • 通常比梯度下降算法快;

但是缺点是更复杂。




多类分类问题

对于多类分类问题,可以将其看做成二类分类问题:保留其中的一类,剩下的作为另一类。
对于每一个类 i 训练一个逻辑回归模型的分类器\(h^i_\theta(x)\),并且预测y = i时的概率;对于一个新的输入变量x, 分别对每一个类进行预测,取概率最大的那个类作为分类结果:

021511508499757.png


个人拙见,若笔记中存在谬误或不同意见,欢迎回复 :)

转载于:https://www.cnblogs.com/KIDJourney/p/4444480.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值