智能计算

图解机器学习读书笔记-CH2:学习模型

2018-08-22  本文已影响101人  婉妃
常见机器学习模型总结

1. 线性模型

一维输入+基函数形式:

f_\theta(x) = \sum_{j=1}^b\theta_j\phi_j(x) = \theta^T\phi(x)
\phi_j(x)非线性时, f_\theta(x)可以表示复杂模型

基函数:
(1) 多项式
\phi(x) = (1, x, x^2, ..., x^{b-1})^T

(2)三角多项式
\phi(x) = (1, sinx, cosx, sin2x, cos2x, ..., sinmx, cosmx)^T

多维输入形式:

f_\theta(\vec x) = \sum_{j=1}^b\theta_j\phi_j(\vec x) = \theta^T\phi(\vec x)

\phi_j(x)是基函数向量\phi(x) = (\phi_1(x), ..., \phi_b(x))^T)的第j个因子, \theta_j是参数向量\theta=(\theta_1,...,\theta_b)^T的第j个因子.

基函数:
(1) 乘法模型
f_\theta(\vec x) = \sum_{j_1=1}^{b'} \cdots \sum_{j_d=1}^{b'} \theta_{j_1,...,j_d} \phi_{j_1}{(x^{(1)}}) \cdots \phi_{j_d}(x^{(d)})
模型表现力丰富, 其中, b'代表各维参数个数, 参数总和(b′)^d, 易导致维数灾难.
(2) 加法模型
θ(x)=\sum_{k=1}^d\sum_{j=1}^{b'}\theta_{k,j}\phi_j(x^{(k)})
参数总和b'd, 复杂度小, 表现力差

2. 核模型

线性模型基函数和训练样本无关,核模型的基函数会使用输入样本.

核模型是二元核函数K(\cdot,\cdot), 以K(\vec x, x_j)_{j=1}^n的方式线性结合:

f_\theta(x) = \sum_{j=1}^n\theta_jK(x,x_j)

高斯核:
K(x,c) = exp(-\frac{\|x-c\|^2}{2h^2})
, 其中\|\cdot\|表示L2范数\|x\|=\sqrt{x^Tx}, h和c是高斯函数带宽和均值

高斯核函数图:


image.png

一维高斯核


image.png

如图, 只在各个样本\{x_i\}_{i=1}^n附近近似, 减轻了维数灾难

参数个数不依赖输入变量维数d, 只由样本数n决定

样本数n很大时, 将样本\{x_i\}_{i=1}^n的子集\{c_j\}_{j=1}^b作为核均值计算, 抑制了计算负荷:
f_\theta(x)=\sum_{j=1}^b\theta_jK(x,c_j)

核模型是参数向量\vec \theta=(\theta_1,\cdots,\theta_n)^T的线性形式, 因此也是基于参数的线性模式的特例.

基于参数的线性模型称为参数模型, 核模型称为非参数模型

核映射: 核模型易扩展,当输入样本不是向量时(字符串,决策树, 图表等),通过构造两个样本x和x'的和核函数K(x,x')来建模.

3. 层级模型

非线性模型: 和参数相关的不是线性的模型均称为非线性模型
非线性模型中的层级模型:
f_\theta(x) = \sum_{j=1}^b\alpha_j\phi(x;\beta_j)
上式中, \phi(x;\beta_j)是包含参数向量\vec \beta的基函数, \vec \alpha是参数向量
层级模型是基于参数向量\vec \theta = (\vec \alpha^T, \beta_1^T, \cdots, \beta_b^T)^T非线性形式

S型基函数:
\phi(x;\beta) = \frac{1}{1+exp(- x^T \omega-\gamma)}, \beta = (\omega^T, \gamma)^T

S型基函数

高斯基函数:
\phi(x;\beta) = exp(-\frac{\|x-c\|^2}{2h^2}), \beta = (c^T, h)^T

高斯基函数
上一篇 下一篇

猜你喜欢

热点阅读