本篇文章主要针对《周志华西瓜书》、《南瓜书》的笔记总结,思路梳理。
线性模型:属性的线性组合
f(x)=w1x1+w2x2+…+wdxd+b=ωTx+b
蕴含的基本思想:
数据集的表示:
- 数据集 D=(x(1),y(1)),(x(2),y(2),…,(x(i),y(i))) 用右上角代表样本
- 对离散属性的处理
- 有序属性:插值离散化 (例如:高,中,低,可转化为 {1.0,0.5,0.0} )
- 无序属性:one-hot 化(例如:西瓜,南瓜,冬瓜,可转化为 (0,0,1),(0,1,0),(1,0,0) )
单元线性回归:
对于回归问题:目标就是让 Lossfunction 最小化
Loss function: 最小二乘误差
(w∗,b∗)=(w,b)argmini=1∑m(f(xi)−yi)2=(w,b)argmini=1∑m(yi−wxi−b)2
先对b求偏导:
2i=1∑m(yi−ωxi−b)(−1)=0⇒b=m1i=1∑m(yi−wxi)
再对ω求偏导:
0⇒=wi=1∑mxi2−i=1∑m(yi−b)xiwi=1∑mxi2i=1∑myixi−i=1∑mbxi
将b代入上式中
⇒wi=1∑mxi2=i=1∑myixi−i=1∑m(yˉ−wxˉ)xi⇒w(i=1∑mxi2−xˉi=1∑mxi)=i=1∑myixi−yˉi=1∑mxi⇒w=∑i=1mxi2−xˉ∑i=1mxi∑i=1myixi−yˉ∑i=1mxi
由以下两个等式可以转换为西瓜书上的公式:【技巧】
yˉi=1∑mxi=xˉi=1∑mxi=m1i=1∑myii=1∑mxi=xˉi=1∑myim1i=1∑mxii=1∑mxi=m1(i=1∑mxi)2
最终可得:
⇒w=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)
可以求解得:ω 和 b 最优解的闭式解
w=b=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)m1i=1∑m(yi−wxi)
进一步的可以将ω向量化【方便编程】
将m1(∑i=1mxi)2=xˉ∑i=1mxi代入分母可得:
w=∑i=1mxi2−xˉ∑i=1mxi∑i=1myi(xi−xˉ)=∑i=1m(xi2−xixˉ)∑i=1m(yixi−yixˉ)
由以下两个等式:【技巧】
yˉi=1∑mxi=xˉi=1∑myi=i=1∑myˉxi=i=1∑mxˉyi=mxˉyˉ=i=1∑mxˉyˉi=1∑mxixˉ=xˉi=1∑mxi=xˉ⋅m⋅m1⋅m1⋅i=1∑mxi=mxˉ2=i=1∑mxˉ2
可将ω的表达式化为:
w=∑i=1m(xi2−xixˉ−xixˉ+xˉ2)∑i=1m(yixi−yixˉ−xiyˉ+xˉyˉ)=∑i=1m(xi−xˉ)2∑i=1m(xi−xˉ)(yi−yˉ)
令xd=(x1−xˉ,x2−xˉ,…,xm−xˉ)T,yd=(y1−yˉ,y2−yˉ,…,ym−yˉ)T
向量化结果为:
w=xdTxdxdTyd
多元线性回归
推导过程:对于单元线性回归,我们是先对b求偏导,再将b代入对ω的偏导中
而对于多元无法通过偏导直接求解出Loss function的极值,改写表达式
f(xi)=ωTxi+b=βTX
其中
β=(ω,b)X=(xi,1)
详细推导如下:(手写懒得手打了)
将损失函数求导:
对于上式中若(XTX)是满秩矩阵或正定矩阵,则存在逆矩阵
例如,生物信息学的基因芯片数据中常有成千上万个属性,但样例仅为几十或上百。此时可解出多个ω^,它们都能使均方误差最小化。常见的做法是引入正则项解决这问题。
高阶认知(来源于白板推导)
几何角度[LSE]
概率角度:(即从模型生成角度考虑问题)