无垠之码

深度剖析代码之道


图解机器学习 | 1. 学习模型

0.线性模型

机器学习中线性模型定义为,模型的输出是输入特征的加权和加上偏置常量。通常模型在数学上,使用$f(x) = \theta^\top x + b$表示。对模型的训练核心就是通过训练样本最找最优的参数$\theta$,使得模型在回归或分类任务中对未知样本具有优秀的预测能力,这里的最优是指学习获得的$\theta$使用训练集,其损失函数的值最小。

模型学习过程实际是关于参数$\theta$的求解,可以表示为$f(\theta) = \theta_0 + \theta_1 \cdot x_1 + … + \theta_n \cdot x_n$,其中$x_i$表示当前样本在第i个特征的值,$\theta_i$表示特征$x_i$的最终影响力,数学公式表现为$f(\theta) = \theta^\top x = \sum_{i=1}^{n} \theta_i x_i$。假设使用均方误差损失函数,学习过程可以表达为:

$$ \theta^* = \arg\min_{\theta} L(\theta) = \arg\min_{\theta} \frac{1}{m} \sum_{i=1}^{m} \left( \theta^\top x^{(i)} - y^{(i)} \right)^2 $$

假设问题是对圆面积的回归预测,输入样本具有三维特征,半径,测量工具,测量时间,简单的线性模型是无法解决对圆面积的回归问题。 考虑到线性模型只能表现线性的输入输出关系,因此实际运用中经常对模型进行扩展,对输入样本值进行升维。

单维度样本: (半径)

模型数学表示: $$f_{\theta}(x) = \sum_{j=1}^{b} \theta_j \phi_j(x) = \theta^\top \phi(x)$$

上面的模型中,选择$b$维度基函数向量$\phi(x) = (\phi_1(x),…,\phi_b(x))^\top$,参数向量$\theta = (\theta_1,…,\theta_b)^\top$,当选择基函数$\phi(x) = (1, x, x^{2}, …, x^{b-1})$,整个模型称为多项式回归。

多维度样本: (身高,体重,肤色)

多维度样本的处理过程中,对于如何组合样本特征维,存在加法和乘法模型。一般如果各维度之间是独立的,没有交互作用,使用加法模型。但现实生活中,身高,体重并不相互独立,此时乘法模型可是使得模型,表现不同特征维的相互关系。

这里假设每一个特征维度都与单维样本一样选取$b$维基函数向量

  • 加法模型

    $f(x)=f_1​(x_1​)+f_2​(x_2​)+f_3​(x_3​)$ 线性加权
    模型输出由体重,肤色与身高三者的线性组合决定,参数计算规模,$3b$

  • 乘法模型

    $f(x)=f_1​(x_1​) \cdot f_2​(x_2​) \cdot f_3​(x_3​)$ 张量积基函数
    模型输出由体重,肤色与身高三者的非线性组合决定,参数计算规模,$b^3$

1.核模型

2.层级模型

3.参考文献

  1. https://zh.wikipedia.org/zh-hans/机器学习
  2. https://webdav.diyao.me/图解机器学习%20((日)杉山将著)%20(Z-Library).pdf
comments powered by Disqus