1 什么是回归
1.1 回归概念的来源
“回归”是由英国著名生物学家兼统计学家高尔顿(Francis Galton,1822~1911.生物学家达尔文的表弟)在研究人类遗传问题时提出来的。为了研究父代与子代身高的关系,高尔顿搜集了1078对父亲及其儿子的身高数据。他发现这些数据的散点图大致呈直线状态,也就是说,总的趋势是父亲的身高增加时,儿子的身高也倾向于增加。但是,高尔顿对试验数据进行了深入的分析,发现了一个很有趣的现象—回归效应。因为当父亲高于平均身高时,他们的儿子身高比他更高的概率要小于比他更矮的概率;父亲矮于平均身高时,他们的儿子身高比他更矮的概率要小于比他更高的概率。它反映了一个规律,即这两种身高父亲的儿子的身高,有向他们父辈的平均身高回归的趋势。对于这个一般结论的解释是:大自然具有一种约束力,使人类身高的分布相对稳定而不产生两极分化,这就是所谓的回归效应。
1.2 机器学习中的回归
样本
如果样本中,
在机器学习中,只要说到回归,就是指样本中
2 线性回归
2.1 单变量的情形
如图1所示的x轴为房屋面积,y轴为房屋价格。
模型为:
通过样本,我们可以得出参数a,b。
2.2 多变量的情形
如上图2所示,现在考虑两个因素对价格的影响,居室面积和居室数量。
模型为:
同样,样本
2.3 误差服从高斯分布
根据公式,我们求出的估计值
根据中心极值定理,
记做:
由此得出似然函数:
2.4 中心极值定理
在实际问题中,很多随机现象可以看作众多因素的独立影响的综合反应,往往近似服从正态分布。
如:城市耗电量,大量用户的耗电量总和。
测量误差,许多观察不到的,微小误差的总和。
注:应用前提是多个随机变量的和,有些问题是乘性误差,则需要鉴别或取对数后再使用
3 最大似然估计MLE
3.1 根据似然函数,求出L(θ)
根据似然函数,
3.2 高斯的对数似然
因为此时
此时的目标函数就成了
最终求其最小值。
3.3 向量的倒数
将M个N维样本组成矩阵
标量对向量的导数:
3.4 θ 的解析式的求解过程
1、目标函数
2、梯度
3、参数
此时,
4、加入
若
因为
所以,对于任意实数
5、正定阵
对于n阶方阵A,若任意n阶向量x,都有
若条件变成了
类似还有负定阵,半负定阵。
6、过拟合
overfitting一般在描述统计学模型随机误差或噪音时用到。它通常发生在模型过于复杂的情况下,如参数过多等。overfitting会使得模型的预测性能变弱,并且增加数据的波动性。
一般来说,如到了8阶以后,参数过大,震荡厉害。我们不希望参数
4 线性回归的复杂度惩罚因子
4.1 增加损失函数
1、目标函数:
2、加入增加平方和损失
为了使得参数(θ0,θ1,θ2…..θn)不至于过大,将目标函数增加平方和损失。我们机器学习中,几乎是所有机器学习的办法,就是将参数的平方加起来。
4.2 正则项和防过拟合
L2-norm,Ridge:
L2-norm,LASSO:
Elastic Net:
4.3 ridge回归,和LASSO有什么区别,有什么优势和劣势
1、如果给定一个指标,如
2、LASSO具有稀疏性,可以做特征选择。
3、举例,通过下图,可以看出LASSO将后面的数值很小,起到了特征选择的作用。
4、稀疏性是指找到重要的信息。如果参数超过一个定值就不再使用。
5、形式化表示
第一个是LASSO,第二个是Ridge。
将
LASSO的方程是
LASSO会在坐标轴上取到最值(0,
通过这幅图可以很明显的看出岭回归和lasso之间的差异。图中是两个变量回归的情况,等高线图表示的是残差平方和的等高线。残差在最小二乘估计处最小。阴影部分分别是岭回归和lasso的限制区域。显然圆形为岭回归,菱形为lasso的。这两种带有惩罚项的方法都是要找到第一个落到限制区域上的等高线的那个位置的坐标(即岭估计和lasso估计)。因为菱形带尖角,所以更有可能使得某个变量的系数为0(即所找到的第一个点是菱形四个顶点之一)。当回归变量增多时,lasso的尖角也会变得更多,从而增大更多系数变0的可能性。而光滑的高维球面的显然不可能有这样的概率。这也就是说lasso可以用于变量选择。 这是lasso相较于Ridge有优势的一点。
5 机器学习与数据使用
5.1 数据的使用
1、根据训练数据
2、测试数据,用来测试模型,如SVM、决策树等。模型哪个好,是由测试数据决定的。
3、如果有
5.2 如何确定λ
通过同一个数据进行训练,
5.3 交叉验证
如果训练数据和验证数据是2:1,就是一个三折交叉验证,也就是将训练数据分为三份,其中一份作为验证数据。如1 2|1 3|2 3。
再利用是一个例子,
6 梯度下降算法
6.1 利用广义逆矩阵,求参数
利用公式:
这时可以通过公式,求的参数Q。
注:如果
6.2 梯度下降
1、目标函数:
我们的目标是目标函数求最小。
2、方法:
首先,初始化
然后,沿着负梯度方向迭代,更新后的
注:
这样我们最终会得到
此方法可以得到局部极小值。
3、梯度方向
定义
推导过程如下图:
6.3 批量梯度下降算法
Repeat until convergence{
}
这里的
因为目标函数
批量下降梯度图示如下:
6.4 随机梯度下降算法 SGD
Loop{
for i=1 to m,{
}
}
这里的
6.5 SGD与BGD比较
1、BGD一定可以找一个局部极值,而SGD不保证结果。因为
2、BGD的损失函数是直接下降的,而SGD的损失函数是震荡下降的。
3、一般选用SGD。
4、SGD经常能够跳过目标函数中局部极值,达到一个更好的值。
5、SGD更适合在线学习,不一定非要离线的。
6.6 折中:mini-batch
在实际中用得最多的是mini-batch,但是一般表述就是SGD。
如果不是没拿到一个样本及更改梯度,而是若干个样本的平均梯度作为更新方向,就是mini-batch。
注:我们在实际工作中,步长
7 线性回归的进一步分析
如上面左边的图,根据所给定的样本,我们通过线性回归能够得到一条直线。但是如果是一条曲线,效果会更好,如上右边的图。
根据所给样本
这样,我们建立方程(模型)
同样,我们使用
注:我们利用线性回归的技术,得到曲线是非线性的。线性回归不仅仅绝对样本的线性的,也可以是曲线。只要是对参数
再扩展一下,如果是
7.1 特征选择
上面说到我们可以将特征选择成为多种,如
注:特征选择并不是参数越多越好,而是需要根据MSE或者
7.2 测定系数,coefficient of determination
对于m个样本
某模型的估计值为
1、样本的总平方和TSS(Total Sum of Squares):
2、样本的伪方差:
3、残差平方和(Residual Sum of Squares):
注:RSS就是误差平方和SSE(Sum of Squares for Error)
4、定义
*
*
* 若预测值恒为样本期望,
5、定义ESS:
*
* 无偏估计,是指期望是不是真实值。
*
8 局部加权回归
8.1 定义
上图中黑色的点是样本点;红色的线是线性回归曲线;绿色的线就是局部加权回归曲线。
8.2 局部加权线性回归 LWR(Locally Weighted linear Regression)
模型:
求出
8.3 权值的设置
1、
其中
2、二范式
样本
样本
二范式的距离:
3、有参模型与无參模型
首先这里的无參模型是指参数无穷多,也是指与样本m的个数相当。
举例:
线性回归,特征包括:
局部加权回归,因为每一样本点都是有若干个样本点组成的小线段,这样的话参数的个数就是无穷多个,甚至于与样本个数相同。
9 总结
1、特征选择很重要,除了人工选择,还可以用机器学习的方法,如随机森林、PCA、LDA等。
2、梯度下降算法是参数优化的重要手段,尤其是SGD。
参考
1、邹博小象机器学习课程。
2、机器学习入门:线性回归及梯度下降
3、从理论到应用——浅谈lasso模型
4、LaTeX 各种命令,符号