线性模型

(上面的思维导图来自知乎:夕小瑶)
线性模型是想要使用属性的线性组合来进行预测的方法。按照label是连续的还是离散的。可分为线性回归和线性分类模型。
下面在介绍各模型时主要按照统计学习的三要素(模型假设空间,损失函数,优化方法)介绍。
- 假设空间:先给出一个范围区间,在这个区间内查找最优模型。模型有两种形式条件概率分布或者决策函数。模型的假设空间就是所有可能的条件概率分布或决策函数。
- 损失函数:定义评价指标,如何评价模型的好坏。
- 优化方法:如何根据评价指标在假设空间找到最优的模型。
1线性回归
假设空间:
目标y是连续的,使用特征x的线性组合来预测y的值。模型如下:
y^=wTx+b
\hat{y}=w^Tx+b
y^=wTx+b
损失函数:
损失函数使用均方误差:
L=∑i=1m(yi−yi^)2
L=\sum_{i=1}^m(y_i-\hat{y_i})^2
L=i=1∑m(yi−yi^)2
优化方法:
“最小二乘法”:基于均方误差最小化进行模型求解的方法称之为“最小二乘法”。
求解最优模型就是找到使得均方误差最小的w∗w^*w∗:
w∗=argminw(y−Xw)T(y−Xw)
w^*=\mathop{argmin}\limits_w(y-Xw)^T(y-Xw)
w∗=wargmin(y−Xw)T(y−Xw)
可直接求得其解析解,求导,并令其为0求得w:
∂L∂w=2XT(Xw−y)w∗=(XTX)−1XTy
\frac{\partial L}{\partial w}=2X^T(Xw-y)\\w^*=(X^TX)^{-1}X^Ty
∂w∂L=2XT(Xw−y)w∗=(XTX)−1XTy
2 线性分类
目标y的值是离散的,也就是分类任务。使用特征x的线性组合进行分类的模型称为线性分类模型。线性分类模型又可以分类硬分类和软分类。
- 硬分类:模型直接给出样本所属类别
- 软分类:模型预测属于各类别的概率(不直接给出所属类别)
2.1 硬分类
2.1.1 感知机
假设空间:
感知机是用于二分类的算法,其决策函数为:
f(x)=sign(wTx+b)
f(x)=sign(w^Tx+b)
f(x)=sign(wTx+b)
损失函数:
误分类点到决策平面的距离:
L=∑xi∈M−yi(wTxi+b)
L=\sum_{x_i\in M}-y_i(w^Tx_i+b)
L=xi∈M∑−yi(wTxi+b)
其中M是误分类样本的集合。也可以写成类似SVM合页损失函数的写法:
L=∑i=1m[−yi(wTxi+b)]+
L=\sum_{i=1}^m[-y_i(w^Tx_i+b)]_+
L=i=1∑m[−yi(wTxi+b)]+
[]+[]_+[]+表示下面的函数:
[z]+={z,z≥00,z<0
[z]_+=\begin{cases}z,&z\ge0\\0,&z<0\end{cases}
[z]+={z,0,z≥0z<0
优化方式:
梯度下降
2.1.2 Fisher判别分析
也叫作线性判别分析(Linear Discriminant Analysis,LDA)。待补充
2.2 软分类
软分类是模型给出事件发生的概率,按照建模对象的不同可分为判别式模型(对条件概率建模),生成式模型(对联合概率分布建模)。
2.2.1 判别式模型
2.2.1.1 逻辑斯蒂回归
虽然名称中有回归,但是一个分类模型。
假设空间:
f(x)=sigmoid(wTx+b)=11+e−(wtx+b)
f(x)=sigmoid(w^Tx+b)=\frac{1}{1+e^{-(w^tx+b)}}
f(x)=sigmoid(wTx+b)=1+e−(wtx+b)1
可以从数学和概率两个角度解释LR:
我们用p表示事件y=1发生的概率p=p(y=1∣x)=f(x)p=p(y=1|x)=f(x)p=p(y=1∣x)=f(x),将上式变换后可得:
logp1−p=wtx+b
\mathop{log}\frac{p}{1-p}=w^tx+b
log1−pp=wtx+b
实际上,就是使用x的线性组合来拟合几率odd的对数。所以LR也叫作对数线性模型。
从概率的角度来看。
逻辑斯蒂分布的分布函数是:
F(x)=P(X≤x)=11+e−(x−μ)/γ
F(x)=P(X\le x)=\frac{1}{1+e^{-(x-\mu)/\gamma}}
F(x)=P(X≤x)=1+e−(x−μ)/γ1
在对条件概率p(y∣x)p(y|x)p(y∣x)建模时,就是假设其条件概率形式为参数化的逻辑斯蒂分布:
p(y=1∣x)=11+e−(wtx+b)
p(y=1|x)=\frac{1}{1+e^{-(w^tx+b)}}
p(y=1∣x)=1+e−(wtx+b)1
损失函数:
对数似然损失:
先写出似然函数:
L=∏i=1mf(xi)yi(1−f(xi)1−yi)
L=\prod_{i=1}^mf(x_i)^{y_i}(1-f(x_i)^{1-y_i})
L=i=1∏mf(xi)yi(1−f(xi)1−yi)
对数似然:避免数值下溢,使用log变换,变连乘为连加:
L=log∏i=1mf(xi)yi(1−f(xi))1−yi=∑i=1m[yilogf(xi)+(1−yi)log(1−f(xi))]
L=log\prod_{i=1}^mf(x_i)^{y_i}(1-f(x_i))^{1-y_i}\\=\sum_{i=1}^m[y_i\mathop{log}f(x_i)+(1-y_i)log(1-f(x_i))]
L=logi=1∏mf(xi)yi(1−f(xi))1−yi=i=1∑m[yilogf(xi)+(1−yi)log(1−f(xi))]
优化方法:
梯度下降法或者牛顿法
2.2.2 生成式模型
2.2.2.1 朴素贝叶斯
朴素贝叶斯是基于贝叶斯定理和特征条件独立假设的分类方法。对联合联合p(x,y)建模。朴素贝叶斯本质上是线性分类器。在朴素贝叶斯公式中,只要p(xi∣c)p(x_i|c)p(xi∣c)服从指数族分布,就可以写成线性分类器的形式。
假设空间:
朴素贝叶斯将后验概率最大的类别作为输出,即:
y=argmaxckp(y=ck∣x)
y=\mathop{argmax}\limits_{c_k}p(y=c_k|x)
y=ckargmaxp(y=ck∣x)
根据贝叶斯公式:
p(y∣x)=p(x∣y)p(y)p(x)
p(y|x)=\frac{p(x|y)p(y)}{p(x)}
p(y∣x)=p(x)p(x∣y)p(y)
对于给定的x,p(x)是一个常量,可以不考虑。所以最大后验概率等价于:
y=argmaxckp(y=ck∣x)=argmaxckp(x∣y=ck)p(y=ck)
y=\mathop{argmax}\limits_{c_k}p(y=c_k|x)\\=\mathop{argmax}\limits_{c_k}p(x|y=c_k)p(y=c_k)
y=ckargmaxp(y=ck∣x)=ckargmaxp(x∣y=ck)p(y=ck)
直接估计上式中的类条件概率p(x∣y=ck)p(x|y=c_k)p(x∣y=ck)是困难的,因为如果假设共有d个特征,每个特征有h个可能的取值,那么样本空间共有hdh^dhd种可能。这个指数级别的值往往远大于训练样本数m。也就是很多样本的取值在训练集中没有出现。用极大似然来估计条件概率p(x∣y=ck)p(x|y=c_k)p(x∣y=ck)是不可行的。因为”未被观测到“和”出现概率是0“通常是不同的。
为此,做个特征的条件独立假设。用下面的公式描述:
p(x∣y=ck)=∏jp(x=xj∣y=ck)
p(x|y=c_k)=\prod_jp(x=x^j|y=c_k)
p(x∣y=ck)=j∏p(x=xj∣y=ck)
y=argmaxckp(y=ck)∏jp(x=xj∣y=ck) y=\mathop{argmax}\limits_{c_k}p(y=c_k)\prod_jp(x=x^j|y=c_k) y=ckargmaxp(y=ck)j∏p(x=xj∣y=ck)
最大化后验概率等价于等价于0-1损失的期望风险最小化。
损失函数
朴素贝叶斯直接使用极大似然估计模型参数,无需定义损失函数
优化方法:
朴素贝叶斯的学习,就是估计先验概率p(y=ck)p(y=c_k)p(y=ck)和类条件概率p(x=xj∣y=ck)p(x=x_j|y=c_k)p(x=xj∣y=ck)。直接使用极大似然估计参数。
其他:
这里补充一点:贝叶斯的特征条件独立假设与HMM隐马尔科夫中的观测独立假设类似。都是在假设多个随机变量的联合概率时,假设随机变量之间条件无关。这样做会极大的简化联合概率估计问题。但存在的问题就是:用条件独立假设得到的联合概率分布与真正的联合概率分布存在偏差。这样说有点绕,举个栗子:
假设有两个随机变量x1,x2x_1,x_2x1,x2。并有以下样本集:
(1,2),(1,2),(2,3),(2,4),(2,5)
{(1,2),(1,2),(2,3),(2,4),(2,5)}
(1,2),(1,2),(2,3),(2,4),(2,5)
我们想要估计哪一种x1,x2x_1,x_2x1,x2同时出现的可能性最大。可以使用极大似然直接估计,频率即概率。
p(x1=1,x2=2)=25p(x1=2,x2=3)=15p(x1=2,x2=4)=15p(x1=2,x2=5)=15
p(x_1=1,x_2=2)=\frac{2}{5}\\p(x_1=2,x_2=3)=\frac{1}{5}\\p(x_1=2,x_2=4)=\frac{1}{5}\\p(x_1=2,x_2=5)=\frac{1}{5}
p(x1=1,x2=2)=52p(x1=2,x2=3)=51p(x1=2,x2=4)=51p(x1=2,x2=5)=51
可以得带,p(x1=1,x2=2)p(x_1=1,x_2=2)p(x1=1,x2=2)的联合概率最大,所以我们认为事件p(x1=1,x2=2)p(x_1=1,x_2=2)p(x1=1,x2=2)出现的可能性最大。
如果我们做了条件独立假设。也就是随机变量x1,x2x_1,x_2x1,x2条件独立,即以下等式成立:
p(x1,x2)=p(x1)p(x2)
p(x_1,x_2)=p(x_1)p(x2)
p(x1,x2)=p(x1)p(x2)
分别统计x1,x2x_1,x_2x1,x2在样本集中出现的概率:
p(x1=1)=25p(x1=2)=35p(x2=2)=25p(x2=3)=15p(x2=4)=15p(x2=5)=15
p(x_1=1)=\frac{2}{5}\\p(x_1=2)=\frac{3}{5}\\p(x_2=2)=\frac{2}{5}\\p(x_2=3)=\frac{1}{5}\\p(x_2=4)=\frac{1}{5}\\p(x_2=5)=\frac{1}{5}\\
p(x1=1)=52p(x1=2)=53p(x2=2)=52p(x2=3)=51p(x2=4)=51p(x2=5)=51
最大的联合概率是p(x1=2,x2=2)p(x_1=2,x_2=2)p(x1=2,x2=2)。但是这一事件x1=2,x2=2x_1=2,x_2=2x1=2,x2=2在样本集中出现的概率为0。这就是使用条件独立这一强假设带来的估计偏差。同时使用条件独立假设的优势也在于此,某一事件未在样本集中出现,直接极大似然估计其概率值是0。但是条件独立假设的情况下,却能给出其概率值。
所以,一般在样本集很大时(大到足以覆盖所有的样本空间时),如果使用条件独立假设,其估计的概率存在偏差,不如直接估计联合概率。当样本较少时,直接估计联合概率会出现很多0值概率。此时使用条件独立假设估计效果较好。这也是为什么HMM在样本集较少时效果较好,甚至优于CRF模型。当样本集充足时,效果不如CRF的原因。
2.2.2.2 高斯判别分析
待补充
参考:
[1]周志华,机器学习
1350

被折叠的 条评论
为什么被折叠?



