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...