• 数学建模方法


    线性回归其实就是寻找一条直线拟合数据点,使得损失函数最小。直线的表达式为:
    [y_{j}=omega_{1}x_{i,1}+omega_{2}x_{i,2}+dots+omega_{j}x_{i,j}+dots+b]
    损失函数的表达式为:
    [J=frac{1}{2}sum_{k=0}^{m}(y_{k}-y_{predict\_i})^{2}]
    如上图所示,只要自变量$x$沿着负梯度的方向变化,就可以到达函数的最小值了,反之,如果沿着正梯度方向变化,就可以到达函数的最大值。
    我们要求解$J$函数的最小值,那么就要求出每个$omega$的梯度和$b$的梯度,由于梯度太大,可能会导致自变量沿着负梯度方向变化时,$J$的值出现震荡,而不是一直变小,所以在梯度的前面乘上一个很小的系数$alpha$。
    由以上可以总结出$omega$和$b$的更新公式:
    egin{align*}
    omega_{j}^{prime}& =omega_{j}-alpha abla J(omega_{j}) \
    b^{prime} & =b-alpha abla J(b)
    end{align*}

    求梯度:
    egin{equation}label{gongshi:1}
    abla J(omega_{j})=frac{partial J}{partial omega_{j}}=sum_{i=0}{m}(y_{i}-y_{predict\_{i}})x_{i}
    end{equation}
    同理,$b$也很容易求得,根据公式 ef{gongshi:1}。为了防止以后震荡的发生
    [displaystyle{alpha=frac{1}{i+1}+0.001}]

  • 相关阅读:
    day24<多线程>
    day23<File类递归练习>
    day22<IO流+>
    day21<IO流+&FIle递归>
    day20<IO流>
    day19<异常&File类>
    day18<集合框架+>
    day17<集合框架+>
    R语言中的标准输入,输出, 错误流
    Perl Spreadsheet::WriteExcel 模块自动生成excel 文件
  • 原文地址:https://www.cnblogs.com/txy19981002/p/6626164.html
Copyright © 2020-2023  润新知