文章目录

  • 0 概述
  • 1. 课程大纲
  • 2. 课程内容
  • 2.1 逻辑回归假设模型的引入
  • 2.1.1 分类问题
  • 2.1.2 逻辑回归的假设表示
  • 2.1.3 假设函数的决策边界
  • 2.2 逻辑回归的求解
  • 2.2.1 定义损失函数
  • 2.2.2 简化损失函数并使用梯度下降求解
  • 2.2.3 高级优化算法
  • 2.2.3.1 高级优化算法的优缺点
  • 2.2.3.2 使用高级优化算法(fminunc)
  • 2.3 多分类问题
  • 2.3.1 One-vs-all
  • 2.4 正则化引入
  • 2.4.1 欠拟合(under fitting)和过拟合(over fitting)
  • 2.4.2 怎么解决过拟合问题
  • 2.4.3 正则化的costFunction
  • 2.4.4 线性回归的正则化
  • 2.4.4.1 梯度下降方法
  • 2.4.4.2 正规方程法
  • 2.4.5 逻辑回归的正则化
  • 3. 课后编程作业
  • 4. 总结


0 概述

  前两周,我们通过房价预测引入了单变量和多变量线性回归,而后又了解了一下非线性回归,归根结底它们都属于回归问题。而实际生活中还有一类问题需要我们来预测,那就是分类问题。
  本周学习如何使用逻辑回归(logistic regression)来完成分类问题的预测。
  至此监督学习的两大类问题,就齐备了。

1. 课程大纲

本周课程大纲如下图所示:

吴恩达 机器学习课程 pdf_优化算法

2. 课程内容

2.1 逻辑回归假设模型的引入

2.1.1 分类问题

如下图所示,即是分类问题

吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_02


可以看出分类问题,多数情况是二元分类(是/不是)。

1. 当然也存在元分类{1, 2, 3, 4},后续会提到,我们同样使用二元分类可以解决。
2. 极限情况,当分类的类别足够多的时候,实际上就转化为了回归问题。

吴恩达 机器学习课程 pdf_正则化_03解决此问题,设定一个阈值吴恩达 机器学习课程 pdf_线性回归_04

if 吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_05

if 吴恩达 机器学习课程 pdf_线性回归_06

但是线性回归有两个问题

  (1) 线性回归的值,可能远大于1或者远小于0,这样预测1和0很奇怪

  (2) 一旦引入新的样本,很容易就会破坏线性回归的预测,如下图

吴恩达 机器学习课程 pdf_正则化_07


  引入新的样本之后,阈值分类点发生了变化,导致了分类错误。

  基于以上两点,我们不能使用线性回归来解决分类问题,我们需要找到一个满足假设函数吴恩达 机器学习课程 pdf_线性回归_08,满足其值永远在[0, 1]之间,因此就引入了逻辑回归。

2.1.2 逻辑回归的假设表示

吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_09,其曲线图如下图所示:

吴恩达 机器学习课程 pdf_线性回归_10


  可以看到sigmoid函数的值域在[0, 1]之间。

  因此我们定义逻辑回归的假设函数位吴恩达 机器学习课程 pdf_优化算法_11,此时吴恩达 机器学习课程 pdf_线性回归_08的值表示预测为正类别(吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_13)的概率。

  用条件概率表示如下:

  吴恩达 机器学习课程 pdf_正则化_14

2.1.3 假设函数的决策边界

吴恩达 机器学习课程 pdf_优化算法_11,我们假定概率大于0.5为正类,概率小于0.5位反类,则可推导 吴恩达 机器学习课程 pdf_优化算法_16,则

吴恩达 机器学习课程 pdf_正则化_17就是决策边界。

(1) 线性决策边界

吴恩达 机器学习课程 pdf_线性回归_18


吴恩达 机器学习课程 pdf_优化算法_19

(2) 非线性决策边界

吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_20


吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_21

2.2 逻辑回归的求解

2.2.1 定义损失函数

吴恩达 机器学习课程 pdf_优化算法_22

逻辑回归是否能够继续使用呢?答案是不行的

  因为这个损失函数,sigmoid平方项将会造成一个非凸的函数图形。

如下图所示:

吴恩达 机器学习课程 pdf_正则化_23


  这个损失函数,无法通过梯度下降法得到全局最优解。

  因此重新定义逻辑回归的损失函数如下:

  吴恩达 机器学习课程 pdf_线性回归_24

  这个函数的特点就是当预测错误时,预测误差会变大,预测正确时,预测误差会趋近0。

分析当 吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_13绘制吴恩达 机器学习课程 pdf_正则化_26如下图:

吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_27


可以看到,吴恩达 机器学习课程 pdf_线性回归_28 越接近1,吴恩达 机器学习课程 pdf_正则化_26越接近0,反之越接近越无穷大。

因此满足上述特点,对于第二行分析和第一行一样。

2.2.2 简化损失函数并使用梯度下降求解

2.2.1节中,我们定义了损失函数如下:
吴恩达 机器学习课程 pdf_线性回归_24
但是,它明显是一个分段函数,我们在计算误差的时候如果每次都要对吴恩达 机器学习课程 pdf_线性回归_31进行判断,显然无法使用梯度下降法求解。
因此需要将其统一处理,得到简化的损失函数为:
吴恩达 机器学习课程 pdf_线性回归_32
对所有样本的损失函数即为:
吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_33

使用梯度下降法不断迭代吴恩达 机器学习课程 pdf_优化算法_34可得:
吴恩达 机器学习课程 pdf_优化算法_35
  可以发现逻辑回归梯度下降迭代的表达式和线性回归的一模一样,但是由于吴恩达 机器学习课程 pdf_线性回归_08的不同,其计算是完全不同的。

向量化表示:
损失函数的向量化定义如下,

吴恩达 机器学习课程 pdf_线性回归_37
costFunction 吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_38
梯度下降计算吴恩达 机器学习课程 pdf_正则化_39向量形式如下,

吴恩达 机器学习课程 pdf_正则化_40

2.2.3 高级优化算法

除了梯度下降法,还有很多其他的优化算法:
共轭梯度法,BFGS,L_BFGS

2.2.3.1 高级优化算法的优缺点

优点:不需要手动选择学习率,可以理解为它们有一个智能的内循环(线搜索算法),它会自动尝试不同的学习速率 吴恩达 机器学习课程 pdf_正则化_41,并自动选择一个最好的学习速率 吴恩达 机器学习课程 pdf_正则化_41 ;一般情况下比梯度下降更快收敛。
缺点:更加复杂

2.2.3.2 使用高级优化算法(fminunc)

吴恩达建议我们直接使用前人已经建立好的函数库,没必要造轮子。
fminunc函数的使用,这里就不详述了。具体可参见如下资料:
https://zlearning.netlify.com/communication/matlab/fminunc.html

2.3 多分类问题

吴恩达 机器学习课程 pdf_线性回归_31{属于1, 2, 3, 4}。当我们学习了二元分类,多酚类问题怎么处理呢?
  一个最简单的想法,就是将多分类问题,转化为二元分类问题,这就是one-vs-all方法。

2.3.1 One-vs-all

将要预测的类别处理为一类,其他剩余类别当做第二类。

如下图所示有三个类别:

吴恩达 机器学习课程 pdf_正则化_44


预测Class 1,我们吧蓝色正方形和红色X作为一类看待

吴恩达 机器学习课程 pdf_正则化_45


因此根据One-vs-all方法,多分类问题,有多少个类就需要多少个吴恩达 机器学习课程 pdf_线性回归_46

2.4 正则化引入

2.4.1 欠拟合(under fitting)和过拟合(over fitting)

欠拟合:训练数据中有显著的预测误差,如下图

吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_47


过拟合:训练数据预测误差很小,但是测试数据预测误差很大,如下图

吴恩达 机器学习课程 pdf_正则化_48


过度追求训练误差,导致泛华能力下降,预测新增数据,带来很大误差。

真正恰当的拟合曲线如下图,

吴恩达 机器学习课程 pdf_正则化_49


注意:奥卡姆剃刀原则,在达到一定要求的基础上,模型简洁至上。

If we have too many features, the learned hypothesis may fit the training set very well (J(θ)=0), but fail to generalize to new examples(Predictions on new examples)

2.4.2 怎么解决过拟合问题

(1) 降低features的数量:手动选择要保留的特征,哪些变量更为重要,哪些变量应该保留,哪些应该舍弃;使用模型选择算法(稍后在课程中学习),算法会自动选择哪些特征变量保留,哪些舍弃。
(2) 使用正则化:保留所有的特征,但减少参数 吴恩达 机器学习课程 pdf_正则化_50

2.4.3 正则化的costFunction

  正则化的目的是为了简化假设模型,根据奥卡姆剃刀原则,越简单的模型越不容易出现过拟合。
修改costFunction如下:
CostFunction 吴恩达 机器学习课程 pdf_线性回归_51

吴恩达 机器学习课程 pdf_优化算法_52是正则化项,它缩小每个参数的值。 吴恩达 机器学习课程 pdf_优化算法_53 是正则化参数,吴恩达 机器学习课程 pdf_优化算法_53 控制两个不同目标之间的取舍,即更好的去拟合训练集的目标将参数控制的更小的目标,从而保持假设模型的相对简单,避免出现过拟合的情况。
(1) 选择的 吴恩达 机器学习课程 pdf_正则化_55:可能会过多地消除特征,导致 吴恩达 机器学习课程 pdf_优化算法_34 都约等于 0 了,最终预测函数变成了水平直线了。这就变成了欠拟合的例子了(偏见性太强,偏差过高)。
(2) 选择的吴恩达 机器学习课程 pdf_正则化_55:失去了正则项的意义。

2.4.4 线性回归的正则化

2.4.4.1 梯度下降方法

假设函数
吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_58
损失函数
吴恩达 机器学习课程 pdf_正则化_59
迭代函数
吴恩达 机器学习课程 pdf_优化算法_60

这里吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_61会恒小于1,比如0.99。于是梯度下降的过程就是每次更新都把参数乘以 0.999,缩小一点点,然后再向最小点的方向移动一下。

2.4.4.2 正规方程法

正规方程结论为:
吴恩达 机器学习课程 pdf_正则化_62,其中前提条件是 吴恩达 机器学习课程 pdf_线性回归_63 是非奇异(非退化)矩阵, 即吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_64

正则化后,上式变为:

吴恩达 机器学习课程 pdf_正则化_65


在第二周课程中,提到了正规方程中,可以通过正则化解决不可逆问题。

因此对于正规方程,正则化相当于一石二鸟。

2.4.5 逻辑回归的正则化

假设函数
吴恩达 机器学习课程 pdf_吴恩达 机器学习课程 pdf_66

代价函数
CostFunction 吴恩达 机器学习课程 pdf_线性回归_67

正则化后的损失函数
costFunction 吴恩达 机器学习课程 pdf_优化算法_68

迭代运算
吴恩达 机器学习课程 pdf_线性回归_69

注意
(1) 虽然正则化在逻辑回归中的梯度下降和线性回归中表达式一致,但是由于吴恩达 机器学习课程 pdf_线性回归_08不同,会有很大区别
(2) 吴恩达 机器学习课程 pdf_优化算法_71不参与正则化

4. 总结

  本周课程我们学习使用逻辑回归模型对监督学习中另一类问题即“分类问题”进行求解。
  并对模型的欠拟合和过拟合进行了讨论,并使用正则化对过拟合问题进行了矫正。
  逻辑回归作为重要的统计学习方法,对未来神经网络有着深远的影响,务必重点掌握。