线性模型

作者: 水之心 | 来源:发表于2018-09-02 00:13 被阅读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 函数的优势:

  • 将输入数据压缩至 [0,1], 可以看作是概率值, 即

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

  • sigmoid 函数可导:

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

相关文章

  • logistics回归分类

    logistics回归分类模型和线性模型的关系非常密切;区分下线性回归模型和线性模型;线性模型:自变量和因变量之间...

  • Day 3 -- 线性模型(上篇)

    第三章线性模型 本节文章主要讨论线性模型的回归,属于线性模型上篇,主要介绍线性模型的基本形式,线性模型的回归原理以...

  • 2019-02-21

    ML——线性模型 基本形式 线性模型就是用于预测的模型是线性的,模型形式如下: ...

  • Linear mixed effects models

    提到线性模型可能会联想到三大类: 一般线性模型 广义线性模型 混合线性模型 一般线性模型比较简单,模拟线性关系,求...

  • 西瓜书 第3章 线性模型 学习笔记

    第3章 线性模型 3.1 基本形式 线性模型:向量形式表示线性模型: 3.2 线性回归 线性回归试图学得:均方误差...

  • 【机器学习实践】有监督学习:线性分类、回归模型

    线性模型 为线性模型 分类和回归的区别 分类:离散回归:连续本文主要关注线性回归模型 常用线性回归模型类型 OLS...

  • 线性模型-线性回归

    线性模型 线性模型利用输入特征的线性函数(linear function)进行预测。 线性模型预测的一般公式如下:...

  • 数学与统计虐我千百遍……

    被数学和统计虐惨的我 广义线性模型 广义可加模型 广义估计方程 线性混合模型 线性相加模型 广义线性混合模型 一般...

  • Python机器学习之线性模型

    一、线性模型基本概念  线性模型不是指某一个模型,而是一类模型。在机器学习领域,常用的线性模型包括,线性回归、岭回...

  • 西瓜书-线性模型

    线性模型 西瓜书第二章,线性模型;

网友评论

    本文标题:线性模型

    本文链接:https://www.haomeiwen.com/subject/iaspwftx.html