• 图解机器学习读书笔记-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})在值域范围内的全局最优解

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

  • 相关阅读:
    利用Windows消息循环,使窗体不能改变大小
    重磅发布全总结丨一文看懂阿里云弹性计算年度峰会
    阿里云弹性计算首席架构师分享云上应用架构演进三大方向
    只需5步!在轻量应用服务器部署Hexo博客
    阿里云手机正式公测,定义手机全新接入方式
    云服务器ECS年终特惠,老用户新购优惠低至4折
    阿里云发布CloudOps白皮书,ECS自动化运维套件新升级
    快速部署阿里云WebIDE(DevStudio)并参与开源项目开发
    抢先看! 2021阿里云弹性计算年度峰会嘉宾演讲内容提前曝光
    饿了么资深架构师分享云上基础架构演进
  • 原文地址:https://www.cnblogs.com/lucius/p/9426072.html
Copyright © 2020-2023  润新知