線性模型(劉二大人網課02筆記)

2021-10-09 15:19:18 字數 1623 閱讀 5691

dataset

model

training

infering

由於知道訓練集x和y的值是什麼,所以為有監督學習

下圖為乙個簡單的線性模型結構,為了能夠得到良好的**值,需要為其構建模型。y=w*x,也就是找到合適的w。

平均平方誤差

這個過程是尋找權重最好的情況。也就是尋找在訓練多少輪之後,訓練情況是最好的。

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

]def

forward

(x):

#定義模型y=x*w

return x * w

defloss

(x, y)

:#定義損失函式loss=(y^-y)2=(x*w-y)2

y_pred = forward(x)

return

(y_pred -y)

*(y_pred -y)

w_list =

#w有好多個權重值w,所以定義乙個陣列

mse_list =

#損失值也有好多個,所以定義乙個陣列

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拼成這次需要的x和y值

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)

#轉變成均值。3)

plt.plot(w_list, mse_list)

plt.ylabel(

'loss'

)plt.xlabel(

'w')

plt.show(

)

今後訓練模型,進行調參的時候需要實時的進行檢視,利用visdom,遠端呼叫visdom的web服務,看其訓練的情況。

**作業;y=xw+b

找一下matplotlib中三維曲面畫圖方法。np.meshgrrid( )組合。

第二大整數

問題描述 編寫乙個程式,讀入一組整數 不超過 20個 當使用者輸入 0時,表示輸入結束。然後程式將從這組整數中,把第二大的那個整數找出來,並把它列印出來。說明 1 0表示輸入結束,它本身並不計入這組整數中。2 在這組整數中,既有正數,也可能有負數。3 這組整數的個數不少於2個。輸入格式 輸入只有一行...

二,大小寫轉換

一 實驗目的 1.明確賦值語句的意義,弄清賦值表示式與判斷相等關係表示式的區別。2.熟悉資料輸入與輸出的操作,學習使用輸入框和訊息框。二 實驗內容 字母大小寫轉換。程式執行時單擊 轉大寫 按鈕,文字中英文全部轉化為大寫,單擊 轉小寫 按鈕,轉為小寫,單擊 復原 按鈕,復原為初始狀態。三 實驗步驟 1...

第二大的數

這是微軟的一道面試題,是我找工作時看的面試寶典裡面的一題,覺得很有意思,這種處理的方法應該可以用在很多地方。下面就來進入正題吧。題目 寫乙個函式,找出乙個整數陣列中,第二大的數。時間複雜度o n const int minnumber 32767 int ctestsizeofdlg find se...