Andrew Ng机器学习课程笔记(二)之监督学习之Linear Regression and Logistic regression
Preface
主要内容:
1. Underfitting and overfitting(欠拟合和过拟合)
2. Locally Weighted Linear Regression (LWR,Loess,lowess)(局部加权线性回归)
3. Probabilistic interpretation
4. Logistic regression(逻辑回归)
5. The Perceptron Algorithm(感知器算法)
Underfitting and overfitting
形象的说,拟合就是把平面上一系列的点,用一条光滑的曲线连接起来。因为这条曲线有无数种可能,从而有各种拟合方法。拟合的曲线一般可以用函数表示,根据这个函数的不同有不同的拟合名字。
在本一次的课程中,欠拟合所指的就是我们所描绘的函数没有很好的去拟合坐标系中的点,不能够准确的反映预测值(如下图中最左的函数);过拟合所指的就是我们所描绘的函数完美拟合拟合坐标系中的点,同样不能够准确的反映预测值(如下图中最右的函数)。
Locally Weighted Linear Regression (LWR)
这个算法对比于上一篇笔记中的算法只是多了一个权重,用于只考虑在附近的数据,而非对整个数据集进行拟合。
权重的一种较为通用的定义为(它与高斯函数没有关系,只是形式上的接近):
在权重公式中,如果 距离所给数据 越近的数据,即越小,其值就越接近1; 距离所给数据 越远的数据,即越大,其值就越接近0。故,LWR只考虑在所给x附近的数据。
在权重公式中, 控制了 随着距离下降的速率。 值越小, 随着距离下降越快; 值越小, 随着距离下降越慢。(Andrew Ng提到在后面的模型选择的课程中会讨论 的选取,这里先不考虑)
Probabilistic interpretation
这一部分主要讲解上一节课中我们为什么要选择最小二乘(Least Squares)以及 成本函数 。
还是回到对房价预测的问题上来,我们可以将线性回归模型表示为:
在上述公式之中的 表示第 样本, 表示误差( 包括一些我们未考虑到的或者是未选取的特征,以及一些噪音影响,例如买房者当日的心情、当日的天气情况等等)。这里假设误差函数 服从高斯分布(正态分布) 。同时, 满足IID(Independently and Identically Distributed,独立同分布)性质。
所以,误差函数 的概率密度函数为:
注意:这里的并不是表示条件概率,而表示的是:在给定 的情况下,并有参数向量时, 的概率。
假设误差函数 服从高斯分布,Andrew Ng老师解释说主要有两个原因:
1.一般而言,数据集中的特征都是相互独立的,而且对于某一种大量因素而言一般也都服从正态分布,比如我们的身高。
根据中心极限定理(中心极限定理:设从均值为 、方差为 ;(有限)任意的一个总体中抽取样本量为 的样本,当 充分大时,样本均值的抽样分布近似服从均值为 、方差为 的正态分布。)也可以证明。
2.这样做可以方便计算。
继续推导。
所以,由公式(1)得 ,即 服从高斯分布,即 ,即有
这里, 可以看做一个样本,假设m为样本总数。使用极大似然函数去求
最大似然估计:现在已经拿到了很多个样本(你的数据集中所有因变量),这些样本值已经实现,最大似然估计就是去找到那个(组)参数估计值,使得前面已经实现的样本值发生概率最大。因为你手头上的样本已经实现了,其发生概率最大才符合逻辑。这时是求样本所有观测的联合概率最大化,是个连乘积,只要取对数,就变成了线性加总。此时通过对参数求导数,并令一阶导数为零,就可以通过解方程(组),得到最大似然估计值。:https://www.zhihu.com/question/20447622/answer/23848605
对 取对数以方便运算,得 (这里,公式中所取对数为log,但一般而言我们会取ln):
所以,为了使得 取得最大值,应该使得 取得最小值。
即为, 取最小值。
故得证。
Logistic regression
对于分类问题,我们使用之前所讲述的线性回归算法通过给定的 来预测 往往并不能得到好的效果。在下图中, 只有0或1两种情况的取值,如果我们通过线性回归算法来预测给定的 是属于 还是 时,不可避免的在某一些在预测值小于0.5的 会被错误的从 归到 类别。
在这种情况之下,我们会使用逻辑回归模型来预测 。
Logistic function/Sigmoid Function(逻辑函数):
同时,
当 时, ;
当 时, ;
证明过程:
等价于:
由于参数 似然性,构造似然函数 :
在对似然函数 取对数,得 :
求最大似然函数,就是使得 取得最大值。在这里我们使用上一次所讲述的梯度的思想,对 求导,以求得 的最大值。
其中,
所以,
The Perceptron Learning Algorithm
感知器学习算法的定义为:
推导过程如Logistic regression,所以有: