学习笔记——机器学习(二) 吴恩达

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/soulmate_uu/article/details/94338420

上一篇笔记主要讨论预测一个取值连续的值,本章讨论取值离散的情况。

————————————————————————————————————————


————————————————————————————————————————

1. Logistic回归

1.1 简单的二分类问题

当使用前面介绍的线性回归算法时,不太适用。因此引入一个分类算法,即Logiistic回归。

  • 假设方程: h θ ( x ) = g ( θ T x ) h_\theta(x)=g(\theta^{T}x) ,其中 g ( z ) = 1 1 + e z g(z)=\frac{1}{1+e^{-z}} g ( z ) g(z) 被称为Sigmoid函数或者Logistic函数。

其函数图像如:
在这里插入图片描述
因此, h θ ( x ) = 1 1 + e θ T x h_\theta(x)=\frac{1}{1+e^{-\theta^{T}x}} h θ ( x ) h_\theta(x) 的值必然介于(0,1)之间。 h θ ( x ) h_\theta(x) 代表什么呢?
h θ ( x ) h_\theta(x) 表示当输入 x x 时, y = 1 y=1 的概率。有时也写成: h θ ( x ) = p ( y = 1 x ; θ ) h_\theta(x)=p(y=1|x;\theta)

eg.在判断良性/恶性肿瘤时,输入某个 x x ,得到输出为0.7,即表示有70%的可能是恶性。

  • 决策界限:根据Logistic函数图像的性质,当 θ T x > 0 \theta^{T}x>0 时, h θ ( x ) > 0.5 h_\theta(x)>0.5 ,此时可预测 y = 1 y=1 ;当 θ T x < 0 \theta^{T}x<0 时, h θ ( x ) < 0.5 h_\theta(x)<0.5 ,此时可预测 y = 0 y=0
    决策边界就是满足 θ T x = 0 \theta^{T}x=0 时的边界。
    决策边界不是训练集的属性,而是假设函数的一个属性。
    也就是说只要给定了参数向量 θ \theta ,决策边界也就确定了。并 不是用训练集来定义的决策边界,我们用训练集来拟合参数 θ \theta

    对于非线性的决策边界,可以利用多项式回归。同样其边界也是使得 θ T x i = 0 \theta^{T}x^{i}=0 的边界线。

  • 代价函数: 不可再用平方代价函数,因为此时的 J ( θ ) J(\theta) 不是一个凸函数,无法利用梯度下降算法计算全局最小值 。
    在这里插入图片描述

y = 1 y=1 时,代价函数图像如下:
在这里插入图片描述
即若 h θ ( x ) h_\theta(x) 趋于1,则代价函数的值趋于0;若 h θ ( x ) h_\theta(x) 趋于0,则代价函数的值趋于无限大。

y = 0 y=0 时,代价函数图像如下:
在这里插入图片描述
即若 h θ ( x ) h_\theta(x) 趋于0,则代价函数的值趋于0;若 h θ ( x ) h_\theta(x) 趋于1,则代价函数的值趋于无限大。

  • 简化代价函数与梯度下降
    在这里插入图片描述
    其中, C o s t ( h θ ( x ) , y ) {Cos}\text{t}({{h}_{\theta }}(x),y) 又可以写作:
    Cos t ( h θ ( x ) , y ) = y log ( h θ ( x ) ) ( 1 y ) log ( 1 h θ ( x ) ) \operatorname{Cos}\text{t}({{h}_{\theta }}(x),y)=-y\log ({{h}_{\theta }}(x))-(1-y)\log (1-{{h}_{\theta }}(x))
    J ( θ ) J(\theta) 也可以写做:
    J ( θ ) = 1 m i = 1 m [ y ( i ) log h θ ( x ( i ) ) + ( 1 y ( i ) ) log ( 1 h θ ( x ( i ) ) ) ] J(\theta )=\frac{1}{m}\sum\limits_{i=1}^{m}{[{{y}^{(i)}}\log {{h}_{\theta }}({{x}^{(i)}})+(1-{{y}^{(i)}})}\log (1-{{h}_{\theta }}({{x}^{(i)}}))]
    J ( θ ) J(\theta) 是凸函数。

梯度下降算法和之前的一样:
在这里插入图片描述
简化后,可以得到与线性回归相似的计算式,只不过此时的 h θ ( x ) h_\theta(x) 变了。
在这里插入图片描述

扫描二维码关注公众号,回复: 7195832 查看本文章
  • 高级优化算法
    除梯度下降算法之外,有3种更加复杂的高级优化算法:共轭梯度法、BFGS、L-BFGS
    优点:1、无需手动选择学习率 α \alpha 2、收敛速度快
    缺点:相当复杂,所以直接调用软件库会更加方便,不同的库实现这些算法也是有区别的。

1.2 多分类问题

例如:天气分类问题:sunny\cloudy\rain\snow(y取不同的离散值,如y=1\y=2\y=3\y=4)
二分类和多分类:
在这里插入图片描述
相比前面的二分类问题,因为 p ( y = 1 x ; θ ) + p ( y = 0 x ; θ ) = 1 p(y=1|x;\theta)+p(y=0|x;\theta)=1 ,所以只需要求一个 h θ ( x ) = p ( y = 1 x ; θ ) h_\theta(x)=p(y=1|x;\theta) ,那么另一个也知道了,即可根据 h θ ( x ) h_\theta(x) 的值进行分类。

在多分类问题中,如下图:要计算 h θ ( i ) ( x ) = p ( y = i x ; θ ) i = 1 , 2 , 3 h_\theta^{(i)}(x)=p(y=i|x;\theta),(i=1,2,3)
对于一个输入值,比较 h θ ( i ) ( x ) h_\theta^{(i)}(x) 的大小,取其最大值对应的 i i ,即划分为 y = i y=i
在这里插入图片描述

2. 正则化

2.1 过拟合问题

  • 线性回归中的:欠拟合(高偏差)、合适的拟合、过拟合(高方差)
    在这里插入图片描述
  • 逻辑回归中的:欠拟合、合适的拟合、过拟合
    在这里插入图片描述
    在这里插入图片描述

  过拟合:假设函数能够拟合几乎所有的数据,这就面临着函数太过庞大、变量过多的问题,没有足够的数据来约束它,以获得一个好的假设函数。千方百计地拟合训练集的数据,容易导致它无法泛化到新的样本中,无法进行预测。

  • 解决过拟合问题的方法:
    1.减少变量的数目:a.手动检查变量清单 b.利用模型选择的算法
    2.正则化:保留所有的变量,但是减少量级或者参数 θ \theta 的大小。

2.2 代价函数与正则化

正则化过程:在代价函数基础上加入正则项: λ j = 1 n θ j 2 \lambda \sum\limits_{j=1}^{n}{\theta _{j}^{2}} ,其中, λ \lambda 是正则化参数。
在这里插入图片描述
在正则化参数的影响下,为了使代价函数取最小值,就会尽量减小某些参数 θ j \theta_j 的值,特别是使某些参数趋于 0,此时就相当于减少了变量数目,简化了假设函数,使拟合曲线更加平滑,而非拟合所有训练数据。
当然,若 λ \lambda 过大,会使所有的参数趋于0,此时就是一条直线拟合,变成了欠拟合的问题。

例如:
在这里插入图片描述
为了求代价函数的最小值,我们会使 θ 3 θ 4 \theta_3、\theta_4 为0,变量少了,此时第二幅图过拟合就变成第一幅图的拟合了。

2.3 线性回归的正则化

在这里插入图片描述
应用梯度下降算法,对上式求偏导,可得:
在这里插入图片描述
其中, 1 α λ m 1-\alpha\frac{\lambda}{m} 是一项比1略小的数,如0.99。所以 θ j \theta_j 在每次更新后,都会缩小一点,往0的方向更加靠近。

利用矩阵的知识,在学习笔记(一)的基础上,可以得到:在这里插入图片描述
λ \lambda 后面的矩阵是(n+1)X(n+1)维的。

2.4 Logistic回归的正则化

在这里插入图片描述
加入正则项:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/soulmate_uu/article/details/94338420