综述
学生党整理一些关于数据分析的知识:线性回归最小二乘法的介绍,误差评估及梯度下降等分析原理。
原理介绍
线性回归(最小二乘法)
以银行贷款为案例背景介绍:
工资 |
年龄 |
额度 |
4000 |
25 |
20000 |
8000 |
30 |
70000 |
5000 |
28 |
35000 |
7500 |
33 |
50000 |
12000 |
40 |
85000 |
… |
… |
… |
目标函数
- 目标:分析银行会贷款受工资和年龄的影响情况,预测银行贷款量
- 考虑:工资和年龄分别影响贷款的多少
- 思路:通过数据,找到一个合适的拟合平面

假设:θ1是年龄参数,θ2是工资参数
-
拟合平面为:
hθ(x)=θ0+θ1x1+θ2x2(θ0是偏置项)
-
整合:hθ(x)=i=0∑nθixi=θTx
误差分析
真实值合预测值之间一定会存在差异(用ε表述误差)
- 对于样本:
yi=θTxi+εi
误差εi是独立并且有相同的分布,并且服从μ为0,σ2为θ2的高斯分布(正态分布)。
- 独立:样本之间不会产生影响,每次贷款都是独立事件。
- 同分布:不同的样本每次贷款都是分布相同的事件。
- 高斯分布:银行给出的贷款量会有一定的浮动,大部分情况浮动小,小部分情况浮动大。
似然函数求解
思路:误差项用实际值和预测值的差代替,得到不含误差变量的函数,函数表示预测值成为实际值的可能性。
- 预测值与误差:yi=θTxi+εi
- 由于误差服从高斯分布:p(εi)=2πσ1e−2σ2(εi)2
- 结合上面两个式子:
p(yi∣xi;θ)=2πσ1e−2σ2(yi−θTxi)2
方法:似然函数求解
- 似然函数:L(θ)=i=1∏mp(yi∣xi;θ)=i=1∏m2πσ1e−2σ2(yi−θTxi)2
- 取对数:logL(θ)=logi=1∏m2πσ1e−2σ2(yi−θTxi)2
- 展开化简:i=1∑mlog2πσ1e−2σ2(yi−θTxi)2=mlog2πσ1−2σ21i=1∑m(yi−θTxi)2
- 目标:让似然函数越大越好,即目标函数越小,得出的函数拟合度越好J(θ)=21i=1∑m(yi−θTxi)2(最小二乘法)
偏导求解最小值:
- 目标函数:J(θ)=21i=1∑m(hθ(xi)−yi)2=21(Xθ−y)T(Xθ−y))
- 求偏导:∇θJ(θ)=∇θ(21(Xθ−y)T(Xθ−y)))=XTXθ−XTy
- 令偏导等于 0 即可得到拟合度最好的函数系数θ=(XTX)−1XTy
评估
- 最常用的评估项R2:1−∑i=1m(yi−y)2∑i=1m(yi^−yi)2(类似方差项)(残差平方和)
-
R2的取值越接近于 1 认为模型的拟合度越好
梯度下降
当我们得到一个目标函数后,直接求解可能并不可行(线性回归可以当做一个特例),机器学习就是将一推数据交给机器,然后指定学习方向(目标函数),让它朝着这个方向去做。

- 目标函数:J(θ0,θ1)=2m1i=1∑m(hθ(xi)−yi)
- 目标:寻找山谷的最低点,即目标函数的极值点
- 方法:(1)找到合适方向(2)每次递增一小点(3)根据方向和递增量更新参数
三种梯度下降法
目标函数:J(θ)=21i=1∑m(hθ(xi)−yi)2
- 批量梯度下降(BGD):∂θj∂J(θ)=−m1i=1∑m(yi−hθ(xi))xjiθj′=θj+m1i=1∑m(yi−hθ(xi))xji
(容易得到最优解,但是由于每次考虑所有样本,速度很慢)
- 随机梯度下降(SGD):θj′=θj+(yi−hθ(xi))xji(每次找一个样本,迭代速度快,但不一定每次都朝着收敛的方向)
- 小批量梯度下降法(MBGD):θj:=θj−α101k=i∑i+9(hθ(xk)−yk)xjk(每次更新选择一部分数据来算,实用!)
学习率
- 学习率(步长):对结果会产生巨大的影响,一般设置较小值
- 批量处理数据量:32,64,128都可以,很多时候还要考虑内存和效率
小结
本章主要介绍了线性回归的最小二乘法的推到过程、误差的评估方法、三种梯度下降方法及学习率的设置。