吴恩达机器学习课笔记week 3

本周主要讲分类、逻辑回归以及正则化

分类

分类问题的几个例子

  1. 判别一个邮件是/不是垃圾邮件
  2. 判别一个转账交易是/不是欺诈交易
  3. 判别肿瘤是恶性/良性
    也就是说输出的y的取值是 { 0 , 1 } ,0一般表示negative class,1表示positive class。对于多类别则是 y { 0 , 1 , 2 , 3 , . . . }

  线性回归解决这个分类问题会有什么问题?
如下图所示:
这里写图片描述
如果用线性回归的话,会出现假如样本点有一个离均值很远的点的情况下,这个点导致整个判别面发生巨大的改变。这里边最主要的一点就是线性回归的 y = h θ ( x ) 可以>1可以<0。我们希望能够有一个方法使得 0 y 1

逻辑回归的hypothesis representation

  如下图所示:
这里写图片描述

我们在线性回归的基础上,外边套上一个非线性函数使得输出在[0,1]之间。这个函数就是sigmoid 函数,或者叫logistic函数。

h θ ( z ) = 1 1 + e x p ( z ) = 1 1 + e x p ( θ T x )

  那么现在这个 h θ ( x ) 表达的是什么意思呢?表达的是对一个输入x,y等于1的概率是多少。也就是说假如y=0.1,那么说明P(y=1)=0.1,P(y=0)=0.9。这就是逻辑回归。
这里写图片描述

逻辑回归的决策面

  如下图所示:
这里写图片描述
假如我们认定如果 h θ ( x ) > 0.5 的话,我们就判定 y = 1 那么,也就是要求 z = θ T x > 0
所以对于线性分类面,只要考虑 z > 0 z < 0 的情况即可:
这里写图片描述
非线性的分类面也是如此:
这里写图片描述

逻辑回归的cost function

不能使用线性回归的cost function,因为直接使用的话,cost function 会变成非凸函数。而是使用如下的:
这里写图片描述
这里写图片描述

梯度下降

这里写图片描述

优化进阶

  其实出了梯度下降之外,还有很多其他进阶的优化方法,这些方法比梯度下降的方法要快,但是会比较复杂。
这里写图片描述

多分类:one vs all

  one vs all(rest)这种方法,其实就是对每一类i,训练一个逻辑回归分类器,然后有新的输入x,那么找到一个i,使得 h θ i ( x ) 最大。
这里写图片描述
这里写图片描述

正则化

过拟合

  过拟合就是因为模型的feature太多,结果导致对训练集上拟合的很好,但是泛化能力很弱。
这里写图片描述
这里写图片描述

过拟合的处理方法

  过拟合有几种处理方法,一种是减少feature数量,然后在模型之间选择,另外就是正则化,正则化就是减少参数 θ j 的幅度,这样每一个feature都会给最终的模型贡献一点点。这个对于很多feature的情况下很有用。
这里写图片描述

Intuition

  其实就是假如各个参数的大小比较小,那么一些高次的feature贡献的就少,这时候就能够不要那么过拟合。
这里写图片描述

方法就是在cost function后边加上一个 λ j = 1 N θ j
这里写图片描述

加上正则化之后,过拟合的情况就会得到改善:
这里写图片描述

正好有一个小问题:假如 λ 选的很大会出现什么结果?答:underfitting,没法拟合了。
这里写图片描述

如下图所示:
这里写图片描述

线性回归的正则化

如下图所示,其实可以看出来,L2 Regularization等价于weight decay:
这里写图片描述

如果是正规方程的方法:
这里写图片描述

可以看到,假如 X X T 是奇异的,那么经过正则化之后,变成非奇异的:
这里写图片描述
其实思路很简单,因为 X X T 的特征值一定是非负的,非零特征值一定大于1个,那么加上这个矩阵之后,所有特征值都是整的了,那么就不是奇异的了。

逻辑回归的正则化

这里写图片描述

同样,加上weight decay。

猜你喜欢

转载自blog.csdn.net/asasasaababab/article/details/81055716