机器学习笔记二:监督学习应用:梯度下降

机器学习笔记二:监督学习应用:梯度下降


  • 例子:视频:算法学习司机驾驶实现自动驾驶

  • 例子:房价预测

面积 价格
2104 400
1416 232
1534 315
852 178
1940 240

引入符号:

  • m:表示训练样本个数
  • x:输入变量(特征)
  • y:输出变量(目标变量)
  • (x,y):训练样本
  • 第i个训练样本:(Xi,Yi)

    一般解决过程:

    Created with Raphaël 2.1.0训练集学习算法假设End
  • 如何表示假设,这里选择线性表示:h(x)=θ0+θ1x

    注意,一般的,对于 有n个特征的假设公式:h(x)=ni=0θixi

  • 评估参数选取:
    J(θ)=12i=1m[hθ(xi)yi]2

    目标即是通过不断改变参数使得取得一个最小的值:minθJ(θ)

    • 初始参数选择对梯度下降的影响:Matlab PPT例子:导致收敛于局部最优解

    • 梯度下降法更新参数策略:迭代法更新

      θi:=θiθiJ(θ)

      • 例子:针对仅有一个特征参数的情况

      θiJ(θ)=θi12(hθ(x)y)2=(hθ(x)y)θi[hθ(x)y]=(hθ(x)y)θi[θ0x0+...+θixi+...+θnxny]=(hθ(x)y)xi

      更新:θi:=θiα(hθ(x)y)xi

      这里α 代表学习率,手动设置。

    • 批梯度下降(batch gradient descent)

      θi:=θiαj=1m(hθ(xjyj))xji

      算法不足:对大批量的训练集,下降需要的计算次数太多

    • 随机梯度下降(stochastic gradient descent):一次下降选择部分特征而非全部特征(x1,x2,...,xi,...,xm)

      即:重复ξ ,取j=1toξ 更新θi:=θiα(hθ(xj)yj)xji

    • 最小化问题的代数解法

  • 求解问题的数学表达

    θ=Jθ0...JθnRn+1

    θ:=θαθJ

  • 几个先导知识点:矩阵迹 的运算性质

    • 迹的定义:对于一个方阵,设主对角元素Aiii=1,...,n ,则迹trA=i=1nAii
    • 性质一:trABC=trCAB=trBCA
    • 性质二:AtrAB=BT
    • 性质三:trA=trAT
    • 性质四:tra=a,ifaR
    • 性质五:AtrABATC=CAB+CTABT
  • 代数法的推导:

    Xθ=x(1)Tθ...x(m)Tθ=hθ(x(1))...hθ(x(m))

    y⃗ =y(1)...y(m)

    Xθy=h(x(1))y(1)...h(x(m))y(m)

    12(Xθy)T(Xθy)=12i=1m(h(xiyi))2=J(θ)

    为了求解最小值,可以通过极值来求解:

    θJ(θ)=0⃗ 

    θ12(Xθy)T(Xθy)=12[θtrθθTXTXθtr.yTXθθyTXθ]=0⃗ 

    θJ(θ)=XTXθXTy=o⃗ XTXθ=XTyθ=(XTX)1XTy

原文地址:https://www.cnblogs.com/yczha/p/13160256.html