机器学习中的数学

线性模型

2018-09-02  本文已影响0人  水之心

线性模型

线性模型 (Linear model) 是一类机器学习算法的统称, 形式化的定义为: 通过给定的数据集 D, 线性模型试图学习一个函数, 使得对于任意的输入特征向量 x=(x_1,x_2, \cdots,x_n)^T \in \mathbb{R}^n, 模型的预测输出为

f(x) = w^Tx + b

其中, w\in \mathbb{R}^n, b\in \mathbb{R} 被称为模型的参数. 线性模型常常被用于分类, 回归任务中, 是最为基础的模型. 往往非线性模型都是在线性模型的输出结果的基础上进行非线性变换, 层级叠加等操作. 因而, 线性模型十分重要, 学好它, 你便可以直接将其迁移到其他复杂模型上去. 常见的线性模型有线性回归, 单层感知机和 Logistic 回归.

1 线性回归模型

假设我们训练集 D= \{(x^i,y^i)\}_{i=1}^m, 其中 x^i\in \mathbb{R}^n, y^i \in \mathbb{R}. 对于回归任务, 我们需要通过训练集 D 学习一个模型 f, 使得该模型可以得到新的数据 x 的预测值. 我们记 V = \text{span}(x_1,x_2,\cdots,x_m), 可以定义线性泛函

\begin{aligned} f:\,& V \rightarrow \mathbb{R}\\ & x \mapsto y \end{aligned}

故而, 对 \forall x\in V, 我们可以找一个比较好的泛函 f\in V^* 来最小化损失函数

L(w,b) = \displaystyle\sum_{i=1}^m |f(x^i) - y^i|^2 = ||Xw + b - y||^2

这里 w, b\in \mathbb{R}^n,

X = \begin{pmatrix} (x^1)^T\\ (x^2)^T \\ \vdots\\(x^m)^T \end{pmatrix}; y = \begin{pmatrix} y^1\\ y^2 \\ \vdots\\y^m \end{pmatrix}

为了求解的便利, 记

\Phi = (X,1); \theta = \begin{pmatrix} w\\b \end{pmatrix}

\hat{Y} = \Phi \theta, 有

L(\theta) = ||\Phi \theta-y||^2

\begin{aligned} \min_{\theta} L(\theta) \Leftrightarrow \min_{\theta} ||\Phi \theta||^2 - 2 \langle \Phi\theta, y \rangle \end{aligned}

为了获得 L(\theta) 的最小值, 令 \nabla_{\theta} L(\theta) = 0, 我们有

\begin{aligned} \Phi^T\Phi\theta = \Phi^T y \end{aligned}

因而, \theta^* = (\Phi^T \Phi)^{\dagger}\Phi^T y.

上面的求解方式被称为最小二乘法.

对于新的数据 x, 利用上式求得其预测输出为

f(x) = (\theta^*)^T\begin{pmatrix} x\\1\end{pmatrix}

2 局部线性回归

局部线性回归 (Local Weighted Linear Regression, 简称 LWR) 的思路很简单, 只需要将损失函数做点改动:

L(w,b) = \displaystyle\sum_{i=1}^m \mu^i|f(x^i) - y^i|^2

其中, \mu^i 是一个非负的权重值, 一般采用指数函数形式:

\mu^i = \text{exp} (-\frac{(x^i-x)^2}{2\sigma^2})

其中, x 表示预测数据, 利用最小二乘法, 同样可以得到

\theta^* = (\Phi^T \Psi \Phi)^{\dagger}\Phi^T \Psi y

其中 \Psi 是一个对角矩阵, 满足:

\Psi_{i,i} = u^i

\mu^i 的定义, 我们可以知道: 离 x 越近的点 x^i, 它对结果的影响权重越大, 离 x 越远的点 x^i, 它对结果的影响权重越小.

我们很容易可以得出: 利用最小二乘法来拟合训练数据, 等价于把训练数据的输出看成是服从高斯分布.

线性模型
线性模型

3 Logistic 回归

为了将回归问题转换为分类问题, 我们可以将线性模型的输出施加一个非线性变换, 以二分类为例, 我们改写线性模型为跃升函数:

f(x) = \begin{cases} 0 & w^T x + b \leq 0\\ 1 & w^T x + b > 0 \end{cases}

由于该函数不连续, 不可导, 我们使用跃升函数的平滑版, 即 Sigmoid 函数

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

sigmoid 函数的优势:

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}}

\nabla f(x) = f(x)(1-f(x))

Logistic 回归采用对数最大似然损失, 即

\begin{aligned} L(w,b) &= \ln \left(\displaystyle\prod_{i=1}^m p(y^i|x^i;w,b)\right)\\ &= \displaystyle\sum_{i=1}^m \ln \left(p(y^i|x^i;w,b)\right)\\ &= \displaystyle\sum_{i=1}^m \left(y^i\ln(f(x^i) + (1-y^i)\ln(1 - f(x^i) \right) \end{aligned}

上一篇 下一篇

猜你喜欢

热点阅读