1.逻辑回归

1.1 分类问题

首先要明确,逻辑回归解决的是分类问题。比如电子邮件是否为垃圾邮件等都属于分类问题

1.1.1 二元分类

将因变量可能属于的两个类分别称为正类(用1表示)和负类(用0表示),还是使用线性回归去处理该分类问题,得到以下图像:

吴恩达机器学习笔记 pdf_机器学习

其中,当吴恩达机器学习笔记 pdf_二元分类_02,预测吴恩达机器学习笔记 pdf_二元分类_03;当吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_04,预测吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_05。对于上述训练集而言,分类的效果很好(前四个点实际为0,后四个点实际为1)。但是如果出现一个TumorSize很大,且实际值为1的样例,线性回归拟合后的直线如下图蓝线所示:

吴恩达机器学习笔记 pdf_正则化_06

此时如果还是使用0.5作为阈值,原来被预测为吴恩达机器学习笔记 pdf_二元分类_03的前两个样例因为拟合直线的改变,被预测为吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_05,造成很大的偏差。所以将线性回归运用于分类问题有时效果会很差,并且回归问题的分类结果为吴恩达机器学习笔记 pdf_机器学习_09,但是线性回归通常会吴恩达机器学习笔记 pdf_二元分类_10。下面要介绍的逻辑回归会使得吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_11

1.2 假说表示

为了使吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_11,需要使用到新模型:逻辑回归(Logistic Regression,LR)。逻辑回归模型的假设是:吴恩达机器学习笔记 pdf_二元分类_13,其中吴恩达机器学习笔记 pdf_二元分类_14表示特征向量,吴恩达机器学习笔记 pdf_机器学习_15(即Sigmoid函数/逻辑函数,这也就是为什么要成为逻辑回归的原因):

吴恩达机器学习笔记 pdf_机器学习_16

知道了模型的输出范围,如何理解这个模型的输出值呢?对于给定的吴恩达机器学习笔记 pdf_二元分类_14吴恩达机器学习笔记 pdf_机器学习_18的值表示预测为吴恩达机器学习笔记 pdf_二元分类_03的可能性,采用数学表达式为吴恩达机器学习笔记 pdf_机器学习_20

1.3 决策边界

吴恩达机器学习笔记 pdf_二元分类_02,预测吴恩达机器学习笔记 pdf_二元分类_03;当吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_04,预测吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_05。根据上述逻辑函数的图像,将吴恩达机器学习笔记 pdf_机器学习_25代替吴恩达机器学习笔记 pdf_正则化_26,即满足吴恩达机器学习笔记 pdf_机器学习_27时,预测吴恩达机器学习笔记 pdf_二元分类_03吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_29时,预测吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_05。逻辑回归的这个特性可以帮助找出决策边界

假设有一个多特征模型,如下图所示:

吴恩达机器学习笔记 pdf_机器学习_31

其中,吴恩达机器学习笔记 pdf_正则化_32,现求出吴恩达机器学习笔记 pdf_正则化_33,则当吴恩达机器学习笔记 pdf_二元分类_34,即吴恩达机器学习笔记 pdf_二元分类_35时,模型将预测吴恩达机器学习笔记 pdf_二元分类_03。于是直线吴恩达机器学习笔记 pdf_逻辑回归_37就是模型的决策边界

注意:决策边界是函数吴恩达机器学习笔记 pdf_机器学习_18的属性,不是数据集的属性,即只要知道吴恩达机器学习笔记 pdf_机器学习_39的值就可以绘制决策边界,不是必须画出训练集中的样本点才能绘制边界,训练集用于拟合吴恩达机器学习笔记 pdf_机器学习_39的值

1.4 代价函数

要拟合参数吴恩达机器学习笔记 pdf_机器学习_39,需要定义一个优化目标,该目标即为代价函数。对于线性回归模型,之前定义的代价函数是所有模型误差的平方和:吴恩达机器学习笔记 pdf_逻辑回归_42,如果直接将吴恩达机器学习笔记 pdf_逻辑回归_43带入上述式子,得到的代价函数是一个非凸函数,意味着存在许多局部最小值,这会影响梯度下降寻找全局最小值:

吴恩达机器学习笔记 pdf_二元分类_44

于是,重新定义逻辑回归的代价函数:吴恩达机器学习笔记 pdf_机器学习_45,其中:

吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_46

所以,吴恩达机器学习笔记 pdf_机器学习_18吴恩达机器学习笔记 pdf_机器学习_48的关系如图所示(横坐标为吴恩达机器学习笔记 pdf_机器学习_18,纵坐标为吴恩达机器学习笔记 pdf_机器学习_48):

吴恩达机器学习笔记 pdf_正则化_51

吴恩达机器学习笔记 pdf_二元分类_03但是吴恩达机器学习笔记 pdf_机器学习_18不为1时,误差吴恩达机器学习笔记 pdf_机器学习_48随着吴恩达机器学习笔记 pdf_机器学习_18变大而减小,一旦吴恩达机器学习笔记 pdf_正则化_56时,误差变为0

吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_05但是吴恩达机器学习笔记 pdf_机器学习_18不为0时,误差吴恩达机器学习笔记 pdf_机器学习_48随着吴恩达机器学习笔记 pdf_机器学习_18变大而增大,当吴恩达机器学习笔记 pdf_逻辑回归_61时,误差为0

1.4.1 简化误差

上面的吴恩达机器学习笔记 pdf_机器学习_48需要分两种情况进行书写,看起来比较繁琐。由于吴恩达机器学习笔记 pdf_正则化_63的值始终吴恩达机器学习笔记 pdf_正则化_64,所以可以将两个式子合并为一个:吴恩达机器学习笔记 pdf_二元分类_65。当吴恩达机器学习笔记 pdf_二元分类_03时,该式子的后一项乘积变为0;当吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_05时,该式子的前一项乘积变为0,这和分开写成两个式子效果是一样的

1.5 梯度下降

简化误差的代价函数为吴恩达机器学习笔记 pdf_正则化_68。还是使用梯度下降法,即求得吴恩达机器学习笔记 pdf_机器学习_69,具体求导过程如下:

吴恩达机器学习笔记 pdf_机器学习_70

可以发现梯度和之前线性回归的一样,不过是将吴恩达机器学习笔记 pdf_机器学习_18的定义进行了更换

1.6 多分类问题

前面学习了如何使用逻辑回归画一条直线即可完成二元分类,但是如何进行多分类?这里需要运用到一对多的分类思想

假设存在一个训练集,吴恩达机器学习笔记 pdf_正则化_63分为了三类,此时需要做的就是将其分为三个二元分类问题:

吴恩达机器学习笔记 pdf_机器学习_73

以其中一个二分类问题为例,将图中的类别1定为正类,类别2和3定为负类(这种分法产生的训练集称为伪训练集),此时得到的模型记为吴恩达机器学习笔记 pdf_逻辑回归_74

吴恩达机器学习笔记 pdf_正则化_75

以此类推得到一系列模型记为吴恩达机器学习笔记 pdf_机器学习_76。当需要对一个样本做预测时,需要将所有的模型都运行一次,即最终获得吴恩达机器学习笔记 pdf_正则化_77

2.正则化

2.1 过拟合

下面的回归和分类模型中,第一个模型欠拟合(具有高偏差),即没有很好的拟合训练数据;第三个模型过拟合(具有高方差),虽然很好的拟合训练集,但是丢失算法的本质,预测新的数据时可能效果不好(缺少泛化性):

吴恩达机器学习笔记 pdf_二元分类_78

吴恩达机器学习笔记 pdf_逻辑回归_79

那么如何解决过拟合问题?

  • 丢弃一些不能帮助正确预测的特征:
  • 手工选择保留哪些特征
  • 使用一些模型选择的算法(如PCA等)
  • 正则化:保留所有的特征,但是减少参数的大小(确保这些特征对模型预测还是存在一定影响的)

2.2 代价函数

在2.1中第三个模型之所以出现过拟合,就是由于出现了吴恩达机器学习笔记 pdf_正则化_80吴恩达机器学习笔记 pdf_正则化_81这样的高次项导致,如果可以让这些高次项的系数接近0,就可以靠近第二个模型的状态。为了减少吴恩达机器学习笔记 pdf_逻辑回归_82吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_83的大小,需要借助到代价函数:吴恩达机器学习笔记 pdf_机器学习_84。为了使代价函数最小,就肯定需要选择较小的吴恩达机器学习笔记 pdf_逻辑回归_82吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_83,让其接近于0,相当于给这两个参数加上了惩罚,换言之减少了吴恩达机器学习笔记 pdf_机器学习_87吴恩达机器学习笔记 pdf_逻辑回归_88对模型的影响程度

假设存在许多特征,我们并不知道需要将哪些特征需要减少影响程度,就对所有特征的参数进行惩罚,只不过通过最小化代价函数来决定对不同特征参数的惩罚力度,所以代价函数修改为吴恩达机器学习笔记 pdf_逻辑回归_89,其中吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_90为正则化参数

吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_90值过大时,相当于所有参数(除了吴恩达机器学习笔记 pdf_正则化_92)都要接近于0,最终模型变为吴恩达机器学习笔记 pdf_二元分类_93,会导致欠拟合,所以选择一个合适的吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_90很重要

2.3 正则化线性回归

在2.2中代价函数发生了改变,在使用梯度下降时计算的梯度也发生了相应的改变,下面公式中由于没有对吴恩达机器学习笔记 pdf_正则化_92进行正则化,所以单独列出:

吴恩达机器学习笔记 pdf_正则化_96

吴恩达机器学习笔记 pdf_正则化_97

可以观察到,吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_98在更新时第二项和原来的梯度更新并没有区别,只不过将第一项中的吴恩达机器学习笔记 pdf_吴恩达机器学习笔记 pdf_98乘以了一个接近但小于1的值,相当于把每个参数都缩小了一点

除了梯度下降,之前还提到使用正规方程求得模型参数,方法如下图所示:

吴恩达机器学习笔记 pdf_二元分类_100

2.4 正则化逻辑回归

和2.3中线性回归的参数更新公式一样,只不过将吴恩达机器学习笔记 pdf_机器学习_18的定义进行了修改

3.参考

https://www.bilibili.com/video/BV164411b7dx?p=32-42

http://www.ai-start.com/ml2014/html/week3.html