zoukankan      html  css  js  c++  java
  • 图解机器学习读书笔记-CH3

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

    1. 最小二乘法介绍

    对模型均方误差最小化时的参数( heta)学习的方法.
    均方误差:

    [J_{LS}( heta) = frac{1}{2}sum_{i=1}^n(f_ heta(x_1)-y_i)^2 ]

    LS: Least Squares
    学习目标:

    [hat heta_{LS} = underset{ heta}{argmin}J_{LS}( heta) ]

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

    加权最小二乘法
    对训练样本平方差通过权重(w_i)加权, 再使用最小二乘法:

    [underset{ heta}{min}frac{1}{2}sum_{i=1}^nw_i(f_ heta(x_i)-y_i)^2 ]

    核模型的最小二乘法求解:

    [f_ heta(x) = sum_{j=1}^n heta_jK(x,x_j) ]

    上式, 将设计矩阵(Phi)置换为核矩阵K:

    [K = egin{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_ heta(x) = sum_{j=1}^b heta_iphi_i(mathbf x) = heta^Tphi(x) ]

    平方误差:

    [J_{LS}( heta) = frac{1}{2}|Phi mathbf heta-mathbf y|^2 ]

    (Phi)构成的nxb阶设计矩阵:

    [Phi = egin{pmatrix} phi_1(x_1) &cdots &phi_b(x_1) \ vdots &ddots &vdots \ phi_1(x_n) &cdots &phi_b(x_n) \ end{pmatrix} ]

    关于参数向量( heta)的偏微分:

    [ abla heta_{LS} = (frac{partial J_{LS}}{partial heta_1}, cdots, frac{partial J_{LS}}{partial heta_b})= Phi^TPhi heta-Phi^Tmathbf y ]

    ( abla heta_{LS}=0)(J_{LS}( heta))取得最小值, 此时最小二乘解满足(Phi^TPhi heta=Phi^Tmathbf y)

    解得:

    [hat heta_{LS} = (Phi^TPhi)^{-1}Phi^Ty ]

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

    广义逆矩阵: 是对逆矩阵的推广, 只有方阵, 非奇异矩阵才有逆矩阵, 单矩形矩阵或奇异矩阵都可以定义广义逆矩阵
    令广义逆矩阵为:

    [Phi^{dagger} = (Phi^TPhi)^{-1}Phi^T ]

    , 则(hat heta_{LS})可写为:

    [hat heta_{LS} = Phi ^{dagger}y ]

    最小二乘法学习基于三角多项式基函数的线性模型:

    3.最小二乘法解的性质

    设计矩阵(Phi)的奇异值分解:

    [Phi = sum_{k=1}^{min(n,b)}kappa _kpsi_{k} varphi_k^T ]

    (kappa, _kpsi_{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 eq 0时))

    最小二乘解表示为:

    [hat heta_{LS}= sum_{k=1}^{min(n,b)}kappa _k^{dagger}(psi_{k}^Ty) varphi_k ]

    模型输出向量变换为列向量:

    [(f_{hat heta_{LS}}(x_1), cdots, f_{hat heta_{LS}}(x_n))^T = Phihat heta_{LS} = PhiPhi^{dagger}mathbf{y} ]

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

    带入真实函数中的参数( heta^*):

    [(f(x_1), cdots, f(x_n))^T = Phi heta^* ]

    可知, 真的输出值向量就存在于(R(Phi))

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

    噪声期望为0是, (hat heta_{LS})就是真是参数( heta^*)的无偏估计:

    [E[hat heta_{LS}] = heta^* ]

    上式, E为噪声的期望

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

    4. 大规模学习

    一般线性模型(J_{LS})为凸函数.
    凸函数: 连接人意两点( heta_1, heta_2)的线段一定在函数上不:

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

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

  • 相关阅读:
    【译文】不是所有的 bug 都值得修复的
    11月第5周业务风控关注|重磅!瓜子二手车“遥遥领先”被罚天价1250万
    AutoCAD .NET二次开发(四)
    AutoCAD .NET二次开发(三)
    ArcGIS10.2下调试10.1的程序
    再遇1402,注册表权限问题
    ArcGIS Add-in——自动保存编辑
    只打开一个子窗体
    获取编辑器两种方法
    Adobe Acrobat Pro 11安装激活
  • 原文地址:https://www.cnblogs.com/lucius/p/9426072.html
Copyright © 2011-2022 走看看