090001 梯度下降

2021-06-26 16:00:54 字數 1294 閱讀 1599

本講ng大牛講解了梯度下降(gradient descent)方法 ,首先以波特蘭奧勒岡的房屋面積和售價關係為例,講解了監督學習的一般模式,通過乙個訓練集,利用學習演算法,得到乙個假設(歷史原因造成的叫法,就是乙個**模型)。當輸入值x進入,通過假設,得到乙個**值y,如圖所示:

當只有乙個變數即面積時,其關係可以定義為:

接著增加問題難度,增加了乙個變數,即房間的個數,事實上這個引數會影響房子的售價,於是模型中的引數也多了乙個,其關係也就隨之定義為:

訓練的目的是使得代價方程(cost function)的值最小:

於是乎梯度下降演算法就閃亮登場了,方法思想就是從某一點開始,每次向梯度下降最快的方向移動,直到到達區域性最小點。而這個下降就體現在對樣本的權值跟新上,更新公式為:

如果只有乙個樣本,那麼用

對於多個樣本,則重複下面的操作,直到收斂

在訓練過程中,每次更新樣本都要用全部樣本訓練一次,當樣本數量很大時,效率會很低。因此,出現隨機梯度下降的方法,該方法,每次用乙個樣本訓練,然後用該結果對全部樣本的權重進行更新,提高了演算法的效率,ng大牛說有個定理可以解釋這個問題,但是他忘記了,大牛也有打盹的時候啊。

梯度下降法一定會收斂於乙個區域性最優值,並且初始值的選擇對結果影響很大,相對而言,計算速度較慢一些。而隨機梯度下降方法相對而言速度快,在收斂過程中會有跳躍,因此可以跳過一些小的區域性最優值,最終達到全域性最優,但是不是精確達到。這兩種方法在只有唯一最優的情況下,表現最好。

無論梯度下降還是隨機梯度下降,都需要不斷迭代,獲得一組引數,使得代價值最小。那麼有沒有方法可以不用迭代,直接計算出這組引數呢。ng大牛通過一長串的推導,告訴我們另外一種方法,最小二乘法。

利用方陣的跡的性質,推導出:

精彩的推導,不僅僅帶來是知識,更是一種樂趣和享受。

二 梯度下降

第二講正式開始介紹機器學習中的監督學習,首先宣告了以下約定 對於m組訓練樣本,x表示其輸入 input feature y表示其輸出 target variable m是乙個正整數 表示個數的嘛 x和y可是是向量也可以是標量,不過入門而言一般y為標量,x i y i 表示訓練樣本,表示訓練集 我們的...

17 梯度下降

import numpy as np import matplotlib.pyplot as plt 構造一元二次方程 x np.linspace 1,6,141 y x 2.5 2 1 繪圖 目標函式 def j theta try return theta 2.5 2 1 except retu...

Pytorch 二 梯度下降

一 梯度下降的作用 乙個神經網路的典型訓練過程如下 定義包含一些可學習引數 或者叫權重 的神經網路 在輸入資料集上迭代 通過網路處理輸入 計算損失 輸出和正確答案的距離 將梯度反向傳播給網路的引數 更新網路的權重,一般使用乙個簡單的規則 weight weight learning rate gra...