Gradient Descent


びぶん

  • sympy.diff微分はコンピュータで計算できます.
  • import sympy as sym
    from sympy.abc import x
    
    sym.diff(sym.poly(x**2 + 2*x + 3), x)
    
    # result : Poly(2*x + 2, x, domain='ZZ')

    図形上の微分


  • 微分は関数f上の点(x,f(x))上の接線の傾斜である.


  • h->0に移動すると接線になります

  • 接線がある点で傾斜していることを知っていれば、関数値を増減するためにどの方向に移動すべきかを知ることができます.
  • 該当点の微分値を追加:関数値を増加
  • この点の微分値を減算:関数値減少

  • Gradient Ascent

  • 上昇グラフの勾配->微分値増加
  • Gradient Descent

  • グラフの勾配を下げる->微分値を引く
  • どちらの場合も極値に達したときに移動を停止します.