线性模型

326 阅读2分钟

基本形式

给定由 d 个属性描述的示例x = (x_1;x_2;...;x_d),其中 x_i 是 x 在第 i 个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即

f(x) = w_1x_1 + w_2x_2 + ... + w_dx_d + b

一般用向量形式写成

f(x) = w^Tx + b

线性回归

给定数据集 D = \{(x_1, y_1), (x_2, y_2),...,(x_m, y_m)\}, 其中 x_i = (x_{i1}; x_{i2};...;x_{id}), y_i \in R.线性回归试图学得

f(x_i) = wx_i + b,使得f(x_i)\simeq y_i.

通过让均方误差最小化来确定 wb,基于均方误差最小化来进行模型求解的方法称为最小二乘法

\begin{equation}\begin{split}
(w^*, b^*) &= \underset{(w, b)}{arg\,min}\sum_{i = 1}^m{(f(x_i) - y_i)^2}\\
&= \underset{(w, b)}{arg\,min}\sum_{i = 1}^m{(y_i - wx_i - b)^2}
\end{split}\end{equation}

我们可将E_{(w, b)}分别对 wb 求导,得到

\frac{\partial E_{(w, b)}}{\partial x} = 2(w\sum_{i = 1}^mx_i^2 - \sum_{i = 1}^m(y_i - b)x_i)
\frac{\partial E_{(w, b)}}{\partial x} = 2(mb - \sum_{i = 1}^m(y_i - wx_i))

分别令上式为零可得 wb 的最优闭式解

w = \frac{\sum_{i = 1}^my_i(x_i - \bar x)}{\sum_{i = 1}^mx_i^2 - \frac{1}{m}(\sum_{i = 1}^mx_i)^2}
b = \frac{1}{m}\sum_{i = 1}^m(y_i - wx_i)

更一般地,我们试图学得

f(x_i) = w^Tx_i + b,使得f(x_i)\simeq y_i.

wb 吸收入向量形式 \hat{w} = (w; b),相应的,把数据集 D 表示为一个 m \times (d + 1)大小的矩阵 X,其中每行对应一个示例,即

X = \begin{bmatrix}
{x_{11}}&{x_{12}}&{\cdots}&{x_{1d}}&{1}\\
{x_{21}}&{x_{22}}&{\cdots}&{x_{2d}}&{1}\\
{\vdots}&{\vdots}&{\ddots}&{\vdots}&{\vdots}\\
{x_{m1}}&{x_{m2}}&{\cdots}&{x_{md}}&{1}\\
\end{bmatrix} = \begin{bmatrix}
{x_{1}^T}&{1}\\
{x_{2}^T}&{1}\\
{\vdots}&{\vdots}\\
{x_{m}^T}&{1}\\
\end{bmatrix}

再把标记写成向量形式 y = (y_{1}; y_{2}; ...; y_{m}),有

\hat{w}^* = \underset{(w, b)}{arg\,min}(y - X\hat{w})^T(y - X\hat{w})

E_{\hat{w}} = (y - X\hat{w})^T(y - X\hat{w}),对\hat{w}求导得到

\begin{equation}\begin{split}
E_{\hat{w}} &= (y - X\hat{w})^T(y - X\hat{w})\\
&= (y^T - \hat{w}^TX^T)(y - X\hat{w})\\
&= y^Ty - y^TX\hat{w} - \hat{w}^TX^Ty + \hat{w}^TX^TX\hat{w}
\end{split}\end{equation}
\begin{equation}\begin{split}
\frac{\partial E_{\hat{w}}}{\partial w} &= 2X^TX\hat{w} - X^Ty - (y^TX)^T\\
&= 2(X^TX\hat{w} - X^Ty)\\
&= 2X^T(X\hat{w} - y)
\end{split}\end{equation}

令上式为零可得 \hat{w} 最优的闭式解,则X^TX\hat{w} = X^Ty

X^TX 为满秩矩阵或正定矩阵时,可得

\hat{w}^* = (X^TX)^{-1}X^Ty

X^TX 不可逆时,可引入正则化项

对数几率回归(逻辑回归)

上一节讨论的是如何使用线性模型进行回归学习,这一节将讨论使用线性模型进行分类任务。首先简单介绍一下对数几率函数

y = \frac{1}{1 + e^{-z}}

对数几率函数是一种“Sigmoid函数”,它将 z 值转化成一个接近 0 或 1 的 y 值,并且其输出值在 z = 0 附近变化很陡。将对数几率函数代入得到

y = \frac{1}{1 + e^{-(w^Tx + b)}}

ln\frac{y}{1 - y} = w^Tx + b

若将 y 视为样本 x 作为正例的可能性,则1 - y 是其反例的可能性,两者的比值 \frac{y}{1 - y}称为“几率”,対几率取对数 ln\frac{y}{1 - y}得到“对数几率”

若将 y 视为类后验概率估计 p(y = 1|x),则上式可重写为

ln\frac{p(y = 1|x)}{p(y = 0|x)} = w^Tx + b

p(y = 1|x) = \frac{e^{w^Tx + b}}{1 + e^{w^Tx + b}}
p(y = 0|x) = \frac{1}{1 + e^{w^Tx + b}}

逻辑回归模型学习时,对于给定的训练数据集 T = \{(x_1, y_1), (x_2, y_2), ... ,(x_N, y_N)\},其中, x_{i} \in R^n, y_i \in \{0, 1\},可以应用极大似然估计法估计模型参数,从而得到逻辑斯蒂回归模型。

设:

p(y = 1|x) = \pi(x)
p(y = 0|x) = 1 - \pi(x)

似然函数为

\prod_{i=1}^{N}[\pi(x_i)]^{y_i}[1 - \pi(x_i)]^{1 - y_i}

\beta = (w; b), \hat{x} = (x; 1), 则 w^Tx + b 可简写成 \beta^T\hat{x} , 对数似然函数为

\begin{equation}\begin{split}
l(\beta) &= \sum_{i = 1}^N[y_ilog\pi(x_i) + (1 - y_i)log(1 - \pi(x_i))]\\
&= \sum_{i = 1}^N[y_ilog \frac{\pi(x_i)}{1 - \pi(x_i)} + log(1 - \pi(x_i))]\\
&= \sum_{i = 1}^N(-y_i\beta^T\hat{x_i} + ln(1 + e^{\beta^T\hat{x_i}}))
\end{split}\end{equation}

对上式求极大值,可得到 w 的估计值。常采用的方法是梯度下降法及拟牛顿法

类别不平衡问题

类别不平衡是指分类任务中不同类别的训练样例数目差别很大的情况。不失一般性,我们假定正类样例较少,反类样例较多。

解决方法:

  • 欠采样。即去除一些反例使得正反例数目接近,然后再进行学习

  • 过采样。即增加一些正例使得正反例数目接近,再进行学习。

  • 阈值移动。直接基于原始数据集进行学习,但在用训练好的分类器进行预测时,将 \frac{y^{'}}{1 - y^{'}} = \frac{y}{1 - y} \times \frac{m^{-}}{m^{+}} 嵌入决策过程中