线性模型
机器学习三要素:模型、策略、算法。
1.基本形式
什么是线性模型?通过属性的线性组合构成预测函数,该函数就是属于线性模型
f
(
x
)
=
w
1
x
1
+
w
2
x
2
+
…
+
w
d
x
d
+
b
f(\pmb{x}) = w_1x_1+w_2x_2+\ldots+ w_dx_d+b
f(xxx)=w1x1+w2x2+…+wdxd+b
向量形式是
f
(
x
)
=
w
T
x
+
b
f(x)=\pmb{w}^{\mathrm{T}}\pmb{x}+b
f(x)=wwwTxxx+b,这里的
w
\pmb{w}
www 和
b
\pmb{b}
bbb 学习后即可确定模型。几种经典的线性模型有:线性回归、对数几率回归、线性判别分析。
2.线性回归
数据集
D
=
{
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
…
,
(
x
m
,
y
m
)
}
D={\{(\pmb{x}_1,y_1),(\pmb{x}_2, y_2),\ldots,(\pmb{x}_m,y_m)\}}
D={(xxx1,y1),(xxx2,y2),…,(xxxm,ym)},其中
x
i
=
(
x
i
1
;
x
i
2
;
…
;
x
i
d
)
,
y
i
∈
R
\pmb{x}_i=(x_{i1};x_{i2};\ldots;x_{id}), y_i\in{\mathbb{R}}
xxxi=(xi1;xi2;…;xid),yi∈R
一元线性回归即
f
(
x
i
)
=
w
x
i
+
b
,
使
得
f
(
x
i
)
≃
y
i
f(x_i)=wx_i+b,使得f(x_i)\simeq{y_i}
f(xi)=wxi+b,使得f(xi)≃yi
模型确定,如何去选择
w
w
w 和
b
b
b ,这里选择均方误差作为损失函数,均方误差是回归任务中最常用的性能度量,目标即均方误差最小化,即
(
w
∗
,
b
∗
)
=
arg
min
w
,
b
∑
i
=
1
m
(
f
(
x
i
)
−
y
i
)
2
(w^*,b^*)=\mathop{\arg\min}\limits_{w,b}\sum_{i=1}^{m}(f(x_i)-y_i)^2
(w∗,b∗)=w,bargmini=1∑m(f(xi)−yi)2
这里最小化
E
(
w
,
b
)
=
∑
i
=
1
m
(
y
i
−
w
x
i
−
b
)
2
E_{(w,b)} =\sum_{i=1}^m{(y_i-wx_i-b)^2}
E(w,b)=∑i=1m(yi−wxi−b)2得到一元线性回归的参数
w
w
w 和
b
b
b ,该求解过程称为线性回归模型的最小二乘“参数估计”。基于均方误差最小化进行模型求解的方法称为“最小二乘法”。
求解方法:
E
(
w
,
b
)
E_{(w,b)}
E(w,b) 分别对
w
w
w 和
b
b
b 求导,令导数为0得到最优解的闭式解
w
w
w 和
b
b
b, 具体见西瓜书第三章一元线性回归部分
若样本是由
d
d
d 个属性描述,即需要使得
f
(
x
)
=
w
T
x
i
+
b
,
使
得
f
(
x
i
)
≃
y
i
f(x)=\pmb{w}^{\mathrm{T}}\pmb{x}_i+b,使得f(\pmb{x}_i)\simeq{y_i}
f(x)=wwwTxxxi+b,使得f(xxxi)≃yi
称为“多元线性回归”,按西瓜书中将
b
b
b 吸入
w
\pmb{w}
www 中得到
w
^
\hat{\pmb{w}}
www^, 损失函数即
E
=
∑
i
=
1
m
(
y
i
−
f
(
x
i
^
)
)
=
∑
i
=
1
m
(
y
i
−
w
^
T
x
i
^
)
2
E_{}=\sum_{i=1}^m(y_i-f(\hat{x_i}))=\sum_{i=1}^{m}(y_i-\hat{\pmb{w}}^{\mathrm{T}}\hat{\pmb{x}_i})^2
E=i=1∑m(yi−f(xi^))=i=1∑m(yi−www^Txxxi^)2
比较重要的一步就是将这里的求和进行向量化表示
E
=
(
y
−
X
x
^
)
T
(
y
−
X
w
^
)
E = (\pmb{y}-\pmb{X}\hat{\pmb{x}})^\mathrm{T}(\pmb{y}-\pmb{X}\hat{\pmb{w}})
E=(yyy−XXXxxx^)T(yyy−XXXwww^)
对于最小化问题的求解
首先需要证明损失函数
E
E
E是凸函数,然后利用凸函数求最值思路求解,证明是凸函数只需要判断Hessian矩阵正定性,然后对一阶偏导等于0求得
w
^
∗
\hat{\pmb{w}}^*
www^∗
注:梯度是函数对自变量各分量的一阶偏导,二阶导数即Hessian矩阵
其次对于广义线性回归模型定义:
y
=
g
−
1
(
w
T
x
+
b
)
y=g^{-1}(\pmb{w}^{\mathrm{T}}\pmb{x}+b)
y=g−1(wwwTxxx+b)
其中
g
(
⋅
)
g(\cdot)
g(⋅)称为联系函数
举例: ln y = w T x + b \ln{y}=\pmb{w}^{\mathrm{T}}\pmb{x}+b lny=wwwTxxx+b,即对数线性回归
2. 对数几率回归
二分类需要一个“单位阶跃函数”,但是其不连续,不符合要求,所以替代函数为对数几率函数(logistic function),即
y
=
1
1
+
e
−
z
y=\frac{1}{1+e^{-z}}
y=1+e−z1
也是一种“Sigmoid函数”,将
z
z
z 转化为一个接近0或1的
y
y
y 值,
对数几率的由来见下图:
西瓜书中通过“极大似然估计法”估计
w
\pmb{w}
www 和
b
b
b,给定数据集,对率回归模型最大化“对数似然”,具体推导见西瓜书
3. 线性判别分析
线性判别分析(Linear Discriminat Analysis,简称LDA),主要思想:将样例投影到直线上使得同类投影点尽可能近,异类尽可能远
给定数据集
D
=
{
(
x
i
,
y
i
)
}
i
=
1
m
,
y
i
∈
{
0
,
1
}
D={\{(\pmb{x}_i, y_i)\}}_{i=1}^m, y_i \in{\{0, 1\}}
D={(xxxi,yi)}i=1m,yi∈{0,1}, 令
X
i
、
μ
i
、
∑
i
X_i、\mu_i、\sum_i
Xi、μi、∑i 分别是第
i
∈
{
0
,
1
}
i\in{\{ 0, 1\}}
i∈{0,1} 类示例的集合、均值向量的均值、协方差矩阵,将两类样本投影到直线
w
\pmb{w}
www 上,则两类投影分别为
w
T
μ
0
\pmb{w}^{\mathrm{T}}\pmb{\mu}_0
wwwTμμμ0 和
w
T
μ
1
\pmb{w}^{\mathrm{T}}\pmb{\mu}_{1}
wwwTμμμ1 ,这里的投影可以这样理解,向量的内积,代表向量之间的投影
向量和内积与外积详解:https://zhuanlan.zhihu.com/p/348308540
样本都投影到直线上,两类样本的协方差分别是
w
T
∑
0
w
\pmb{w}^\mathrm{T}\sum_0{\pmb{w}}
wwwT∑0www 和
w
T
∑
1
w
\pmb{w}^\mathrm{T}\sum_1{\pmb{w}}
wwwT∑1www,由于直线是一维空间,所以投影与协方差都为实数。易得目标是:
直观理解就是:投影点类间距离尽可能大,投影点类中的协方差尽可能小,为了方便理解可以直接理解为下式:
得到LDA欲最大化的目标,即
S
b
\pmb{S}_b
SSSb 与
S
w
\pmb{S}_w
SSSw 的“广义瑞利商”。令分母为1,即
通过拉格朗日乘子法进行求解
w
\pmb{w}
www
LDA可以从贝叶斯决策理论的角度来解释,当两类数据同先验、满足高斯分布且协方差相等时,LDA可达到最优分类。西瓜书中详细讲解了多分类问题,重点关注:
多分类的LDA将样本投影到
N
−
1
N-1
N−1 维空间,
N
−
1
N-1
N−1通常远小于数据属性数,这里的N是样本的类别,
W
\pmb{\mathrm{W}}
WWW 是投影矩阵
4.类别不平衡问题
样本中不同类别样本数目差别很大,大体上由三类解决方法:欠采样(剔除多的)、过采样(补充少的)、阈值移动(基于原始数据集训练,预测时候做一次放缩)