Coursera机器学习-第三周-逻辑回归Logistic Regression

Classification and Representation


1. Classification

Linear Regression (线性回归)考虑的是连续值([0,1]之间的数)的问题,而Logistic Regression(逻辑回归)考虑的是离散值(例如只能取0或1而不能取0到1之间的数)的问题。举个例子,你需要根据以往季度的电力数据,预测下一季度的电力数据,这个时候需要使用的是线性回归,因为这个值是连续的,而不是离散的。而当你需要判断这个人抽烟还是不抽烟的问题时,就需要使用逻辑回归了,因为答案必然是抽烟或不抽烟这其中的一个,也就是离散值。
图一
这里写图片描述
图解:
第1:对于Email的分类是否是垃圾/不垃圾
第2:在线交易:欺诈/不欺诈
第3:肿瘤:恶性或良性
上面所说的都是分类问题,因为选择是有限个的(都是2个),这个应该很好理解。
通常,将我们所需要得到的定义为正类,另外的定义为负类,但有时也可以随意,并不是严格的。例如,与图中相反的,可以将恶性(malignant)定义为负类(Negative),良性(benign)为正类(Positive)。
图二:
/ 下图给出8个样例/
这里写图片描述
使用线性回归 hθ(x)=θT x,对这8个样例进行拟合,如上图中粉线所示,我们设置一个阈值,当 hθ0.5 ,我们将它判定为正类,表示为恶性,当 hθ0.5 ,我们将它判定为负类,表示为良性。
即malignant=0.5的点投影下来,其右边的点预测y=1;左边预测y=0;则能够很好地进行分类。
可以这么理解,我们先观看横轴,表示Tumor Size也就是肿瘤大小,越往右边为恶性的可能性也就越大,所以看起来这图还是合理的。
但是,这个时候来了一个新的样本,如下 图三
这里写图片描述
这种情况下,假设linear regression预测由粉红线变为蓝线,那么由0.5的boundary得到的线性方程中,不能很好地进行分类。不满足,
hθ(x)0.5,y=1

hθ(x)<0.5,y=0

上图,竖直的蓝线本是原本的分割线,左边为良性,右边为恶性,多了一个新样本后,线性回归又拟合出一条新线(蓝线),这样,你再根据上面 hθ(x) 的值来判断,就会将一些本是恶性的归为良性了。
说到这里,应该引入逻辑回归了。
2. Hypothesis Representation

Logistic Regression(逻辑回归)
图四
这里写图片描述
逻辑回归的取值,从图上右侧来看也能得到
0hθ(x)1

仔细观察一下,不就是将原来的线性函数 θTx 通过函数 g 进行映射了么?得到逻辑回归的表达公式:
hθ(x)=g(z)=11+ez,z=θTx

z0,g(z)0.5;z<0,g(z)<0.5

由下图五,我们可以知道它的性质,在给定 xθ 的值后, y=1y=0 的概率之和为1,也就是说不是1就是0的意思
图五
这里写图片描述
3. Decision Boundary

所谓决策边界,其实就是分类边界,如下图所示的粉线,向上则是 y=1 区域 ,向下则是 y=0 区域, 那么问题来了,决策边界是怎么来的?
图六
这里写图片描述

这里先给出了 θT={3,1,1} 的取值 ,其实 θT 的取值我们是需要通过选择才能得到的,而不是直接给出,这里只是为了更好的理解而直接给出的, 我们得到 hθ(x)=g(3+x1+x2) ,回顾一下上面所讲的逻辑回归:

图七

这里写图片描述

hθ(x)=g(z)=11+ez,z=θTx

z0,g(z)0.5y=1;z<0,g(z)<0.5,y=0
,由此得到当 3+x1+x20 时, y=1 ,则得到如图六所示的粉线上方啦。

我们来看一个例题:

这里写图片描述

根据上面所讲,将 θT={5,1,0} 代入,得到 5x1 ,当 5x10 时,也就是 x15 时, y=1 ,得到:
这里写图片描述

当然,决策边界并不一定都是线性的,还有非线性的,我们来看这么一个例子:
图八
这里写图片描述

按照上面所讲,将 θT={1,0,0,1,1} 代入得到 hθ(x)=g(x21+x221) ,令 x21+x2210 得到一个半径为1的圆,为决策边界,圆的内侧为 y=0 区域,外侧为 y=1 区域

Logistic Regression Model


4. Cost Function

图九:
这里写图片描述

y=1,Cost(hθ(x),y)=log(hθ(x)) 如下图十所示:

图十:
这里写图片描述
hθ(x)01hθ(x)=11cost=00
y=0,Cost(hθ(x),y)=log(1hθ(x)) 如下图所示:

图十一

这里写图片描述
hθ(x)10hθ(x)=00cost=00

插一句话:为什么不写成Linear Regression Cost Function形式?

图十二:

这里写图片描述

如果写成线性回归的Cost则会出现非凸函数形式(non-convex),在利用梯度下降的时候,不利于得到全局最解

5. Simplified Cost Function and Gradient Descent

图十三:
这里写图片描述
因为取值为{0,1},所以可以写成上图这种形式,不信你可以另y=0或1看看。
现在我们知道了CostFunction,剩下的工作就是如何去 minJ(θ) 中的 θ

图十四:

这里写图片描述

这里使用的还是Gradient Descent, 也就是下图Repeat中的部分,

图十五:
这里写图片描述
上式中求解对 J(θ) 的偏导如下:

图十六:
这里写图片描述
上述求解过程用到如下公式:
这里写图片描述
将θ中所有维同时进行更新,而J(θ)的导数可以由下面的式子求得,结果如下图手写所示:
图十七:
这里写图片描述
通过观察,这个更新式子跟线性回归的很相似,但要注意 hθ(x(i)) 所代表的式子并不一样。

例题1:
那么如何用vectorization来做呢?换言之,我们不要用for循环一个个更新θj,而用一个矩阵乘法同时更新整个θ。也就是解决下面这个问题:

这里写图片描述

这里写图片描述

例题2:
如何判断学习率α大小是否合适,那么在logistic regression系统中怎么评判呢?

这里写图片描述

这里写图片描述

6. Advanced Optimization

除了gradient descent 方法之外,我们还有很多方法可以使用,如下图所示,左边是另外三种方法,右边是这三种方法共同的优缺点,无需选择学习率α,更快,但是更复杂。

图十八:

这里写图片描述

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

第一,不需要手动的选择步长;

第二,通常比梯度下降算法快;

但是缺点是更复杂-更复杂也是缺点吗?其实也算不上,关于这些优化算法,推荐有兴趣的同学看看52nlp上这个系列的文章:无约束最优化,更深入的了解可以参考这篇文章中推荐的两本书:

用于解无约束优化算法的Quasi-Newton Method中的LBFGS算法到这里总算初步介绍完了,不过这里笔者要承认的是这篇文档省略了许多内容,包括算法收敛性的证明以及收敛速度证明等许多内容。因此读者若希望对这一块有一个更深入的认识可以参考以下两本书:
1) Numerical Methods for Unconstrained Optimization and Nonlinear Equations(J.E. Dennis Jr. Robert B. Schnabel)
2) Numerical Optimization(Jorge Nocedal Stephen J. Wright)

Multiclass Classification


7. Multiclass Classification:One-vs-all

所谓的多类分类器,就是将二分分类器应用于多类而已。

图十九:

这里写图片描述
比如我想分成K类,那么就将其中一类作为positive,另(k-1)合起来作为negative,这样进行K个 h(θ) 的参数优化,每次得到的一个 hθ(x) 是指给定 θ x ,它属于positive的类的概率。
例如:我将class1看成正例,那么class2与class3看成负例;相同的,将class2看成正例,class1与class3看成负例。。
按照上面这种方法,给定一个输入向量x,获得最大hθ(x)的类就是x所分到的类。

图二十:

这里写图片描述

Solving the Problem of Overfitting


8. The Problem of Overfitting

overfitting就是过拟合,简单点来说,就是对Training Set有很好的训练效果,能够完全拟合它,但是模型的泛化能力不行,比如来了一个新数据需要进行预测,得到的结果往往比较差。如下图中最右边的那幅图。对于以上讲述的两类(logistic regression和linear regression)都有overfitting的问题,下面分别用两幅图进行解释:
Linear Regression:

图二十一:

这里写图片描述

Logistic Regression:

图二十二:
这里写图片描述

如何解决过拟合问题?
图二十三:
这里写图片描述
1. 减少feature个数(人工定义留多少个feature、算法选取这些feature)
2. 规格化(留下所有的feature,但对于部分feature定义其parameter非常小)

9. Cost Function

先来看看下图,我们发现如果 θ3,θ4 的parameter非常大,那么最小化cost function后就有非常小的 θ3,θ4
图二十四:
这里写图片描述
注意 λ 的设置,不能过大,若是过大则会引起欠拟合问题,如下图所示:
图二十五:
这里写图片描述
10. Regularized Linear Regression

这里写图片描述
对于 θ0 ,没有惩罚项,更新公式跟原来一样

对于其他 θj,J(θ) ,对其求导后还要加上一项 (λ/m)θj ,见下图:
图二十六:
这里写图片描述
如果不使用梯度下降法(gradient descent+regularization),而是用矩阵计算(normal equation)来求 θ ,也就求使 J(θ) min的 θ ,令 J(θ) θj 求导的所有导数等于0,有公式如下:
图二十七:
这里写图片描述

11. Regularized Logistic Regression

就是在原来的Cost Function上加上一个参数惩罚项
图二十八:
这里写图片描述
这里我们发现,其实和线性回归的θ更新方法是一样的
图二十九:
这里写图片描述
图三十:
这里写图片描述
图三十中,jval表示cost function 表达式,其中最后一项是参数 θ 的惩罚项;下面是对各 θj 求导的梯度,其中 θ0 没有在惩罚项中,因此gradient不变, θ1θn 分别多了一项 (λ/m)θj

至此,regularization可以解决linear和logistic的overfitting regression问题了~
参考内容:

  1. Stanford机器学习—第三讲. 逻辑回归和过拟合问题的解决 logistic Regression & Regularization
  2. coursera公开课笔记-斯坦福大学机器学习第六课-逻辑回归
  3. 【机器学习笔记1】Logistic回归总结
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值