机器学习系列1:线性回归详解

一、什么是机器学习?

机器学习包括:
1.监督学习(supervised learning)

①回归:寻找一个假设函数,根据大量的训练集X来预测目标变量Y,若要预测的目标变量是连续的,则是回归问题,如房价预测。
②分类:如果预测的目标变量只能取一小部分离散值,则是分类问题。

2.无监督学习(Unsupervised learning)

没有标记的数据,如聚类,降维等。

3.半监督学习(Semi-supervised learning)

有标记的数据不够多

4.迁移学习(Transfor learning)

在已经学习的基础上去预测其他任务。

5.结构化学习(Structed learning)

函数输出产生结构化产物,如文本、图片、音频等。

二、线性回归的Loss Function

假设现在是对房价预测,每个样本有两个特征:面积和卧室数目,令:
为第i个样本的第1个特征
为第i个样本的第2个特征
假设函数如下
定义Loss Function为:
这个损失函数就是常见的最小二乘,为什么要使用这样的损失函数?
先介绍中心极限定理:
粗略地说,中心极限定理说明大量独立随机变量的和近似地服从正态分布,如果随机变量X服从参数为和正态分布,则其密度函数为:
其中等于期望,等于方差
假设房价预测模型中真实值和预测值存在以下关系:
其中是建模时未考虑到的因素(如其他因素对房价产生的影响)或者是随机的噪音。
进一步假设是独立同分布的,根据中心极限定理,服从正态分布,其期望,方差,及即~,其密度函数:
进一步推得:
表示对于给定的时,的分布情况,用来代表该分布的参数,令代表所有的集合,再给定,则此时的分布情况可以表示为:
可以把它看成是的函数,为其参数,则可以表示成:
即为似然函数,进一步推导可得:
即为之间的概率模型。
由最大似然法可知,要寻找对的最佳猜测,我们要选择使尽可能大的,为了方便计算,对取对数得:
\begin{split} l(\theta)={} &logL(\theta)=log\prod_{i=1}^mp(y^i|x^i;\theta){} \\ &=\sum_{i=1}^mlog\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(y^i-\theta^Tx^i)^2}{2\sigma^2}){} \\ &=mlog\frac{1}{\sqrt{2\pi}\sigma}-\frac{1}{\sigma^2}\frac{1}{2}\sum_{i=1}^m(y^i-\theta^Tx^i)^2 \end{split}
即意味着让取到最小值,这也就是成本函数的由来。
可以证明,是一个凸函数(对计算二阶导数可以发现其恒大于等于0),凸函数没有局部最优点只有一个全局最优解,所以不会陷入局部最小,就像方圆五百里只有一个最高的山峰,而不是坑坑洼洼的丘陵。

三、梯度下降

对损失函数进行求导:\begin{split} \frac{\partial{J(\theta)}}{\partial \theta_j}={} &\frac{\partial{}}{\partial \theta_j}\sum_{i=1}^m\frac{1}{2}(h_\theta(x^i)-y^i)^2{} \\ &=2\times\frac{1}{2}\sum_{i=1}^m(h_\theta(x^i)-y^i)\times \frac{\partial{}}{\partial \theta_j}(h_\theta(x^i)-y^i){} \\ &=\sum_{i=1}^m(h_\theta(x^i)-y^i)x_j^i \end{split}
所以随机梯度下降的算法为:

批量梯度下降法:

三、正则化

正则化是为了防止模型过拟合,一般都是在损失函数后面加上正则项,构成目标函数:
即为正则项,一般有范数。

1.L0范数:


即范数指向向量中的非0元素个数,若用范数来规范权重矩阵,就是希望中大部分都为0,即让权重是稀疏的。

2.L1范数


范数是的最优凸近似,范数同样可以实现稀疏。
一般常用而不是,原因有下:
范数很难优化,是的最优凸近似,比更容易求解,他们都可以实现稀疏。

3.L2范数


也被称为岭回归或权重衰减。
正则化可以让权重变得很小,接近于0,但不为0,权重越小,越不容易过拟合,个人的理解是,假设函数中有高次项,而高次项的权重越小,对函数的影响也就越小,不会造成明显的过拟合。
与的对比如下:
将这两者的优化目标列出来:


图形:

image

等高线看成损失函数,L1的约束条件可以表示成一个四边形,L2的约束条件可以表示成一个圆形,等高线与约束条件相交的一点则为最优点。
L1正则化的情况下,等高线与L1-ball大多数情况下都会在“角”上相交,例如图中交点,这也解释了为什么L1具有稀疏性,而等高线与L2-ball一般不会在零点处相交,只会接近0.
总结:
1.会产生稀疏性,趋向于产生少量的特征,其他特征权重都为0,常用于特征选择;
2.会选择更多特征,且都接近0.
3.和都可以防止过拟合。
4.如果一个模型中只有少量的特征时有用的,那就选择
5.如果所有特征都有用且作用比较匀,选择。
此外,都只对起作用,不用于截距,因为对应的并不算特征,对模型复杂度没有影响。

你可能感兴趣的:(机器学习系列1:线性回归详解)