深度學習實踐(1) 線性回歸

2021-10-20 16:12:14 字數 1380 閱讀 9799

這次主要是初步用窮舉法實現深度學習的線性回歸。

假設給出一組資料符合y=2x,(這裡的2我們並不知道,是要求的未知量。)

如何求呢?用窮舉法。

我們知道線性函式是y=w*x(假設b=0)

設w=1;把x帶入,得到y_pre(y的**值)

而損失函式就是loss=∑(y-y_pre)^2

當loss最小時,也就是得到了最符合的w,很明顯,loss是乙個二次函式

**實現:

import numpy as np

import matplotlib.pyplot as plt

# 資料集

x_data =

[1.0

,2.0

,3.0

]y_data =

[2.0

,4.0

,6.0]n=

3# 因為只有三組資料

# 模型 y=w*x

defforward

(x):

return x * w

# 損失函式loss

defloss

(x, y)

: y_pred = forward(x)

return

(y_pred - y)**2

# 用於畫圖

w_list =

mse_list =

# 窮舉法,最後發現當w=2.0時,loss=0,所以w=2時最好

for w in np.arange(

0.0,

4.1,

0.1)

:print

("當w="

, w,

"時")

l_sum =

0for x_val, y_val in

zip(x_data, y_data)

:# zip把兩個打包成元組列表

y_pred_val = forward(x_val)

loss_val = loss(x_val, y_val)

l_sum += loss_val

print

("\t"

, x_val, y_val, y_pred_val, loss_val)

print

("均方誤差mse="

, l_sum /3)

# 最終的影象為二次函式影象

# w為x軸

# 均方誤差為y軸

# loss=1/n( ∑(y`-y)^2 )

plt.plot(w_list,mse_list)

plt.ylabel(

'loss'

)plt.xlabel(

'w')

plt.show(

)

深度學習實戰之線性回歸1

我理解的線性回歸就是,比較簡單的一維的線性回歸,所要求解的方程就是 你要做的就是不斷的學習資料集,不斷的更新w和b,讓損失函式越小越好。損失函式便是你程式求得的結果和標準結果之間的誤差,損失函式具體公式如下 w值梯度下降公式 w w 學習速率 斜率 b值梯度下降公式 b b 學習速率 斜率 繪製的資...

機器學習 線性回歸python實踐 1

寫在最前面 線性回歸是機器學習最簡單的模型,用來尋找最佳擬合曲線。我曾經在數模比賽時用過,雖然只拿了省二。優點是 易於理解,計算簡單 缺點是 對於非線性的資料擬合效果不好 適用資料型別 數值型和標稱型資料 今天簡單介紹下最小二乘法 ordinary least squares 這是一組樣例資料的的散...

演算法實踐1 線性回歸

sklearn.linear model.linearregression fit intercept true,normalize false,copy x true,n jobs none 超參 解釋型別 預設值 fit intercept 是否計算模型的截距 如果設定為 false,計算將不使...