機器學習之梯度下降法求解線性回歸

2021-09-26 18:36:26 字數 2278 閱讀 7567

最小二乘法的優點:準確率比較高,缺點:當有兩個或者兩個以上的變數時,就會出現計算量大,過於複雜。這時我們將用梯度下降的方法來畫出擬合圖。

# 梯度下降

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

points = np.genfromtxt('data/data.csv',delimiter=',',encoding='utf-8')

x = points[:,0]

y = points[:,1]

def computer_cost(w,b,points):

total_cost = 0

m = len(points)

for i in range(m):

x = points[i,0]

y = points[i,1]

total_cost += (y - w * x -b) ** 2

return total_cost / m

# 超引數f

# 步長

alpha = 0.0001

initial_w = 0

initial_b = 0

# 迭代次數

num_iter = 10

def grad_desc(points,initial_w,initial_b ,alpha,num_iter):

w = initial_w

b = initial_b

# 損失函式下降的過程

1.梯度下降就是指定乙個步長(注意:不能太大(會跳過最低點),太小(會變得非常緩慢))

算出 公式裡面的grad的下降梯度

3. 用開始指定的梯度減去最新梯度,然後開始迭代,到達一定的次數,就可以找到最低損失精度。

機器學習之梯度下降法 梯度下降法分析

梯度下降法的基本思想是函式沿著其梯度方向增加最快,反之,沿著其梯度反方向減小最快。在前面的線性回歸和邏輯回歸中,都採用了梯度下降法來求解。梯度下降的迭代公式為 j j j j 在回歸演算法的實驗中,梯度下降的步長 為0.01,當時也指出了該步長是通過多次時間找到的,且換一組資料後,演算法可能不收斂。...

梯度下降法求解線性回歸

梯度下降法 英語 gradient descent 是乙個一階最優化演算法,通常也稱為最速下降法。要使用梯度下降法找到乙個函式的區域性極小值,必須向函式上當前點對應梯度 或者是近似梯度 的反方向的規定步長距離點進行迭代搜尋。如果相反地向梯度正方向迭代進行搜尋,則會接近函式的區域性極大值點 這個過程則...

機器學習之梯度下降法

1 批量 梯度下降 使用整個訓練集的優化演算法被稱為批量 batch 梯度下降演算法。術語 批量梯度下降 指使用全部訓練集,而術語 批量 單獨出現時指一組樣本。2 隨機梯度下降 每次只使用單個樣本的優化演算法被稱為隨機 stochastic 梯度下降演算法。3 小批量梯度下降 大多數用於深度學習的演...