【吃瓜笔记】第三章
一、线性模型
一般形式:
f
(
x
)
=
ω
1
x
1
+
ω
2
x
2
+
⋯
+
ω
d
x
d
=
ω
→
T
x
→
+
b
\begin{equation}\begin{split} f(x) &=\omega_{1}x_{1}+\omega_{2}x_{2} + \cdots +\omega_{d}x_{d}\\ &=\overrightarrow \omega^T \overrightarrow x + b \end{split}\end{equation}
f(x)=ω1x1+ω2x2+⋯+ωdxd=ωTx+b
1、线性回归(linear regression)
单输入情况:
- 对离散属性,若存在“序”关系,将其连续化
- 若不存在“序”关系,假定有K个属性值,转化为k维向量
均方误差:具有几何意义,对应了欧式距离
基于均方误差最小化来进行模型求解的方法——“最小二乘法”(least square method)
最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小
( ω ∗ , b ∗ ) = a r g m i n ∑ i = 1 m ( f ( x i ) − y i ) 2 = a r g m i n ∑ i = 1 m ( y i − ω x i − b i ) 2 \begin{equation}\begin{split} (\omega^*,b^*)&=arg \enspace min \sum_{i=1}^{m}(f(x_{i})-y_{i})^2\\ &=arg \enspace min \sum_{i=1}^{m}(y_{i}- \omega x_{i}-b_{i})^2 \end{split}\end{equation} (ω∗,b∗)=argmini=1∑m(f(xi)−yi)2=argmini=1∑m(yi−ωxi−bi)2
线性回归模型的最小二乘“参数估计"(parameter estimation)
∂
E
(
ω
,
b
)
∂
ω
=
2
(
ω
∑
i
=
1
m
(
y
i
−
b
)
x
i
)
∂
E
(
ω
,
b
)
∂
b
=
2
(
m
b
−
∑
i
=
1
m
(
y
i
−
ω
x
i
)
)
\frac{\partial E_{(\omega,b)}}{\partial \omega} = 2(\omega \sum_{i=1}{m}(y_{i}-b)x_{i})\\ \frac{\partial E_{(\omega,b)}}{\partial b} = 2(mb- \sum_{i=1}^{m}(y_{i}- \omega x_{i}))
∂ω∂E(ω,b)=2(ωi=1∑m(yi−b)xi)∂b∂E(ω,b)=2(mb−i=1∑m(yi−ωxi))
令上式为零得到
ω
\omega
ω和
b
b
b最优解的闭式解
ω
=
∑
i
=
1
m
y
i
(
x
i
−
x
‾
)
∑
i
=
1
m
x
i
2
−
1
m
(
∑
i
=
1
m
x
i
)
b
=
1
m
∑
i
=
1
m
(
y
i
−
ω
x
i
)
\omega = \frac{\sum_{i=1}^{m} y_{i} (x_{i}- \overline x)}{\sum_{i=1}^{m}x_{i}^2 -\frac{1}{m}(\sum_{i=1}^{m}x_{i})}\\ b=\frac{1}{m} \sum_{i=1}^{m}(y_{i}- \omega x_{i})
ω=∑i=1mxi2−m1(∑i=1mxi)∑i=1myi(xi−x)b=m1i=1∑m(yi−ωxi)
2 、多元线性回归
在数据集D,样本由d个属性描述
f
(
x
i
)
=
ω
T
x
i
+
b
,
使得
f
(
x
i
)
≈
y
i
f(x_{i})= \omega^T x_{i}+b,使得f(x_{i})\approx y_{i}
f(xi)=ωTxi+b,使得f(xi)≈yi
ω
\omega
ω与
b
b
b构成向量
ω
^
=
(
ω
;
b
)
\hat \omega = (\omega ;b)
ω^=(ω;b);数据集D表示为一个
m
×
(
d
+
1
)
m \times (d+1)
m×(d+1)大小的矩阵
X
X
X
X
=
(
x
1
T
1
x
2
T
1
⋮
⋮
x
m
T
1
)
,
则有
ω
→
∗
=
a
r
g
m
i
n
(
y
→
−
X
→
ω
→
)
T
(
y
→
−
X
→
ω
→
)
X= \begin{pmatrix} x_{1}^T &1\\ x_{2}^T &1\\ \vdots &\vdots \\ x_{m}^T &1\\ \end{pmatrix},则有\\ \overrightarrow \omega^* = arg \enspace min(\overrightarrow y-\overrightarrow X \; \overrightarrow \omega)^T(\overrightarrow y- \overrightarrow X \; \overrightarrow \omega)
X=⎝
⎛x1Tx2T⋮xmT11⋮1⎠
⎞,则有ω∗=argmin(y−Xω)T(y−Xω)
对$ \overrightarrow \omega$求导得:
∂
E
ω
→
∂
ω
→
=
2
X
→
T
(
X
→
ω
→
−
y
→
)
\frac{\partial E_{\overrightarrow \omega }}{\partial \overrightarrow \omega}=2 \overrightarrow X^T(\overrightarrow X \; \overrightarrow \omega-\overrightarrow y)
∂ω∂Eω=2XT(Xω−y)
令上式=0
⇒
ω
→
\Rightarrow \overrightarrow \omega
⇒ω最优解的闭式解
1、 当 X T X X^T X XTX为满秩矩阵或正定矩阵
ω → ∗ = ( X T X ) − 1 X T y f ( x i ) = x → i ( X T X ) − 1 X T y \overrightarrow \omega^* = (X^T X)^{-1}\;X^T y\\ f(x_{i})= \overrightarrow x_{i} (X^T X)^{-1}\;X^T y ω∗=(XTX)−1XTyf(xi)=xi(XTX)−1XTy
2、 非满秩矩阵,解出多个 ω → \overrightarrow \omega ω。常见的做法是引入正则化项,由算法的归纳偏好决定
3、广义线性模型
y = g − 1 ( ω → T x + b ) y=g^{-1}(\overrightarrow \omega^Tx +b)\\ y=g−1(ωTx+b)
g(·)称为联系函数
二、对数几率回归
对数几率函数
l
n
y
1
−
y
=
ω
T
x
+
b
ln \frac{y}{1-y}=\omega^Tx+b
ln1−yy=ωTx+b
将y视为类后验概率为
P
(
y
=
1
∣
x
)
P(y=1|x)
P(y=1∣x),则
l
n
P
(
y
=
1
∣
x
)
P
(
y
=
0
∣
x
)
=
ω
T
x
+
b
ln \frac{P(y=1|x)}{P(y=0|x)}=\omega^Tx+b
lnP(y=0∣x)P(y=1∣x)=ωTx+b
通过“极大似然法”来估计
ω
\omega
ω和b。给定数据集
{
(
x
i
,
y
i
)
}
i
=
1
m
\{(x_{i},y_{i} )\}_{i=1}^m
{(xi,yi)}i=1m,对率回归模型最大化“对数似然”
l
(
β
)
=
∑
i
=
1
m
(
−
y
i
β
T
x
i
+
l
n
(
1
+
e
β
T
x
i
)
)
l(\beta)= \sum_{i=1}^{m}(-y_{i}\beta^Tx_{i}+ln(1+e^{\beta^{T}x_{i}}))
l(β)=i=1∑m(−yiβTxi+ln(1+eβTxi))
- 凸优化理论
经典的数值优化算法:梯度下降法、牛顿法
三、线性判别分析
给定训练样例集,设法将样例投影到一条直线,同类点尽可能靠近,异类点尽可能远离。新样本同样投影到该直线,根据投影点位置判断
- 同类样例尽可能靠近,则同类的协方差尽可能小
- 异类尽可能远离,则类中心距离尽可能大
类内散度矩阵:
J
=
∣
∣
ω
T
μ
0
−
ω
μ
1
∣
∣
2
2
ω
T
∑
0
ω
+
ω
T
∑
1
ω
=
ω
T
(
μ
0
−
μ
1
)
(
μ
0
−
μ
1
)
T
ω
ω
T
∑
0
ω
+
ω
T
∑
1
ω
\begin{equation}\begin{split} J&=\frac{||\omega^T \mu_{0}-\omega \mu_{1}||_{2}^{2}}{\omega^T \sum_{0}\omega+\omega^T \sum_{1}\omega}\\ \\ &=\frac{\omega^T(\mu_{0}-\mu_{1})(\mu_{0}-\mu_{1})^{T}\omega}{\omega^{T}\sum_{0}\omega+\omega^{T}\sum_{1}\omega} \end{split}\end{equation}
J=ωT∑0ω+ωT∑1ω∣∣ωTμ0−ωμ1∣∣22=ωT∑0ω+ωT∑1ωωT(μ0−μ1)(μ0−μ1)Tω
类间散度矩阵:
S
ω
=
∑
x
∈
x
0
(
x
−
μ
0
)
(
x
−
μ
0
)
T
+
∑
x
∈
x
1
(
x
−
μ
1
)
(
x
−
μ
1
)
T
S_{\omega}= \sum_{x \in x_{0}}(x-\mu_{0})(x-\mu_{0})^T+\sum_{x \in x_{1}}(x-\mu_{1})(x-\mu_{1})^T
Sω=x∈x0∑(x−μ0)(x−μ0)T+x∈x1∑(x−μ1)(x−μ1)T
LDA最大化目标“广义瑞利商”:
J
=
ω
T
S
b
ω
ω
T
S
ω
ω
J=\frac{\omega^TS_{b}\omega}{\omega^TS_{\omega}\omega}
J=ωTSωωωTSbω
四、多分类学习
多分类学习的基本思路是“拆解法”,拆成若干个二分类
1、拆分策略:
(1)、一对一
产生N(N-1)/2个二分类任务。新样本同时提交给所有分类器,把预测最多的类别作为最终的分类结果
(2)、一对其余
每次将一个类的样例作为正例、其他类的样例作为反例训练N个分类器
测试时,若仅有一个正类预测,则该标记为最终结果;若有多个正类预测,选置信度最大的为最终结果
(3)、多对多
纠错输入码
-
编码 :进行M次划分,形成M个分类器
-
解码:M个分类器的预测标记组成编码,与个类别的编码进行比较,返回距离最小的类比作为最终预测结果
-
编码矩阵
- 二元码:正类、反类
- 三元码:正类、反类、停用类
海明距离:两个合法代码对应位上编码上的不同的位数成为码距,又叫海明距离
五、类别不平衡
指分类任务中不同类别的训练样例数目差别很大的情况。类别不平衡学习的一个基本策略——“再缩放”
y
′
1
−
y
′
=
y
1
−
y
×
m
−
m
+
\frac{y^{'}}{1-y^{'}}= \frac{y}{1-y} \times \frac{m^-}{m^+}
1−y′y′=1−yy×m+m−
因为“训练集是真实样本总体的无偏采样”这个假设往往不成立。“再缩放”未必能有效地基于训练集观测几率来推断出真实几率
1、欠采样
"欠采样"去除一些反例,使正、反数目接近,这使得分类器训练集远小于初始训练集。若采用随机丢弃法,可能丢失一些重要信息。
典型算法:
- EasyEnsemble,利用集成学习机制,将反例划分成若干集合供不同学习器使用,对每个学习器都进行欠采样
2、过采样
增加一些样例,使正、反例数目相同,则分类训练集大于初始训练集,过采样不能简单地进行重复采样,否则会招致严重的过拟合
典型算法:
- SMOTE,通过对训练集里的正例进行插值来产生额外的正例