最小二乘法的優點:準確率比較高,缺點:當有兩個或者兩個以上的變數時,就會出現計算量大,過於複雜。這時我們將用梯度下降的方法來畫出擬合圖。
# 梯度下降
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 小批量梯度下降 大多數用於深度學習的演...