17 梯度下降

2022-01-10 11:26:22 字數 2706 閱讀 5267

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

:

return float("

inf")

目標函式的導數

def

dj(theta):

return 2*(theta-2.5)

對於乙個一元二次方程來講,要尋找該方程的最小值,可以尋找方程導數為零的點。

如何尋找導數為零的點呢?以上面的方程:(theta-2.5)**2-1 為例

我們隨便找乙個點,

即:要使用梯度下降法找到乙個函式的區域性極小值,必須向著函式上當前點對應導數(或者是近似梯度)的反方點進行迭代搜尋

方法一:

theta = 0.0eta = 0.1epsilon = 1e-8

while

true:

gradient =dj(theta)

last_theta =theta

theta = theta-eta*gradient

if (abs(j(theta)-j(last_theta))

break

print

(theta)

print(j(theta))

2.499891109642585

-0.99999998814289

方法二:

090001 梯度下降

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

二 梯度下降

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

Pytorch 二 梯度下降

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