图解机器学习读书笔记-CH3

本文主要介绍 最小二乘法原理, 线性模型中的应用, 最小二乘解的本质以及在大规模数据集上的求解方法.

1. 最小二乘法介绍

对模型均方误差最小化时的参数\(\theta\)学习的方法.
均方误差:
\[ J_{LS}(\theta) = \frac{1}{2}\sum_{i=1}^n(f_\theta(x_1)-y_i)^2 \]

LS: Least Squares
学习目标:
\[ \hat\theta_{LS} = \underset{\theta}{\arg\min}J_{LS}(\theta) \]

平方误差\((f_\theta(x_i)-y_i)^2\)是残差\(|f_\theta(x_i)-y_i|\)\(L2\)范数, 最小二乘法也称 \(L_2\)损失最小化学习法

加权最小二乘法
对训练样本平方差通过权重\(w_i\)加权, 再使用最小二乘法:
\[ \underset{\theta}{min}\frac{1}{2}\sum_{i=1}^nw_i(f_\theta(x_i)-y_i)^2 \]

核模型的最小二乘法求解:
\[ f_\theta(x) = \sum_{j=1}^n\theta_jK(x,x_j) \]
上式, 将设计矩阵\(\Phi\)置换为核矩阵K:
\[ K = \begin{pmatrix} K(x_1,x1) &\cdots &K(x_1,x_n) \\ \vdots &\ddots & \vdots \\ K(x_n,x_1) &\cdots & K(x_n,x_n) \end{pmatrix} \]

2. 线性模型LS

\[ f_\theta(x) = \sum_{j=1}^b\theta_i\phi_i(\mathbf x) = \theta^T\phi(x) \]

平方误差:
\[ J_{LS}(\theta) = \frac{1}{2}\|\Phi \mathbf \theta-\mathbf y\|^2 \]

\(\Phi\)构成的nxb阶设计矩阵:
\[ \Phi = \begin{pmatrix} \phi_1(x_1) &\cdots &\phi_b(x_1) \\ \vdots &\ddots &\vdots \\ \phi_1(x_n) &\cdots &\phi_b(x_n) \\ \end{pmatrix} \]

关于参数向量\(\theta\)的偏微分:
\[ \nabla \theta_{LS} = (\frac{\partial J_{LS}}{\partial \theta_1}, \cdots, \frac{\partial J_{LS}}{\partial \theta_b})= \Phi^T\Phi\theta-\Phi^T\mathbf y \]
\(\nabla \theta_{LS}=0\)\(J_{LS}(\theta)\)取得最小值, 此时最小二乘解满足\(\Phi^T\Phi \theta=\Phi^T\mathbf y\)

解得:
\[ \hat \theta_{LS} = (\Phi^T\Phi)^{-1}\Phi^Ty \]

注: 只有\(\Phi^T\Phi\)有逆矩阵时上式才成立

广义逆矩阵: 是对逆矩阵的推广, 只有方阵, 非奇异矩阵才有逆矩阵, 单矩形矩阵或奇异矩阵都可以定义广义逆矩阵
令广义逆矩阵为:
\[ \Phi^{\dagger} = (\Phi^T\Phi)^{-1}\Phi^T \]
, 则\(\hat \theta_{LS}\)可写为:
\[ \hat \theta_{LS} = \Phi ^{\dagger}y \]

最小二乘法学习基于三角多项式基函数的线性模型:
493029-20180805135822356-2049187477.png

3.最小二乘法解的性质

设计矩阵\(\Phi\)的奇异值分解:
\[ \Phi = \sum_{k=1}^{min(n,b)}\kappa _k\psi_{k} \varphi_k^T \]
\(\kappa, _k\psi_{k}, \varphi_k\)分别称为奇异值, 左奇异向量, 右奇异向量.

  • 奇异值非负
  • 奇异向量满足正交性

\(\Phi\)的广义逆矩阵:
\[ \Phi^{\dagger} =\sum_{k=1}^{min(n,b)}\kappa _k^{\dagger}\psi_{k} \varphi_k^T \]

\(\kappa _k^{\dagger}\)是标量\(\kappa\)的广义逆矩阵, \(\kappa^{\dagger} = \frac{1}{\kappa} (\kappa \neq 0时)\)

最小二乘解表示为:
\[ \hat \theta_{LS}= \sum_{k=1}^{min(n,b)}\kappa _k^{\dagger}(\psi_{k}^Ty) \varphi_k \]

模型输出向量变换为列向量:
\[ (f_{\hat \theta_{LS}}(x_1), \cdots, f_{\hat \theta_{LS}}(x_n))^T = \Phi\hat \theta_{LS} = \Phi\Phi^{\dagger}\mathbf{y} \]

因此, \(\Phi\Phi^{\dagger}\)\(\Phi\)的正交投影矩阵, 最小二乘法输出向量\(\mathbf y\)是值域\(R(\Phi)\)的正交投影得到的.

带入真实函数中的参数\(\theta^*\):
\[ (f(x_1), \cdots, f(x_n))^T = \Phi \theta^* \]
可知, 真的输出值向量就存在于\(R(\Phi)\)

结论: 用最小二乘法的向量若是由\(R(\Phi)\)的正投影得到的, 则可以有效去除y中的噪音:
493029-20180805162445045-1449719462.png

噪声期望为0是, \(\hat \theta_{LS}\)就是真是参数\(\theta^*\)的无偏估计:
\[ E[\hat \theta_{LS}] = \theta^* \]
上式, E为噪声的期望

渐近无偏性:
增加训练样本n, 上式$E[\hat \theta_{LS}]会向着模型中最优参数方向收敛的性质

4. 大规模学习

一般线性模型\(J_{LS}\)为凸函数.
凸函数: 连接人意两点\(\theta_1,\theta_2\)的线段一定在函数上不:
493029-20180805163421675-1102764477.png

凸函数只有一个峰值,因此通过梯度法一定可以得到均方差\(J_{LS}\)在值域范围内的全局最优解

梯度法的收敛速度强烈依赖梯度下降步长, 以及收敛结果判定方式(提前终止).

转载于:https://www.cnblogs.com/lucius/p/9426072.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值