import keras
import numpy as np
import matplotlib.pyplot as plt
from keras.models import sequential #按順序構成的模型 如一層層構成的神經網路
from keras.layers import dense #全連線層
#生成資料
x = np.random.rand(
100)
noise = np.random.normal(0,
0.01
,x.shape)
#增加雜訊
y = x *
0.1+
0.2+ noise
#繪製散點圖
plt.scatter(x,y)
plt.show(
)#構建順序模型
model = sequential(
)#在模型中新增乙個全連線層 units:輸出的維度 input_dim:輸入的維度
model.add(dense(units=
1,input_dim =1)
)#optimizer:優化器 預設sgd:隨機梯度下降法 loss:損失函式 mse:均方誤差
model.
compile
(optimizer=
'sgd'
,loss=
'mse'
)#訓練模型
for step in
range
(3001):
#訓練模型不是一次只放入乙個資料進行訓練的,
#一般每次都是放入乙個批次的資料進行訓練,用train_on_batch實現
cost = model.train_on_batch(x,y)
if step %
300==0:
print
('cost:'
,cost)
#model.layers[0].get_weights 返回某一層的權值和偏置
w,b = model.layers[0]
.get_weights(
)print
("w:"
,w,'b:'
,b)y_predict = model.predict(x)
plt.scatter(x,y)
plt.plot(x,y_predict,color=
'red'
,lw=3)
#plot 繪製折線圖 lw:線寬
01 線性回歸演算法
機器學習分類 回歸,分類 回歸 最終得到的是在乙個區間上真正 實際 的值 分類 最終得到的是個邏輯值0 1,是與不是,能與不能之類的答案 名詞解釋 擬合 擬合就是把平面上一系列的點,用一條光滑的曲線連線起來。因為這條曲線有無數種可能,從而有各種擬合方法。擬合的曲線一般可以用函式表示,根據這個函式的不...
01 線性模型 線性回歸與邏輯回歸
線性模型 試圖學得乙個屬性的線性組合來進行 的函式 f x w 1x 1 w 2x 2 w dx d b 向量模式 f x w tx b 簡單 基本 可解釋性好 可看出每部分屬性所做的貢獻 可用於分類和回歸 多個特徵 h x sum theta ix i theta tx 損失函式mse j the...
線性回歸模型 線性回歸模型
回歸的思想和分類有所不一樣,分類輸出的結果為離散的值,回歸輸出的是乙個連續型的值。線性回歸的思想就是試圖找到乙個多元的線性函式 當輸入一組特徵 也就是變數x 的時候,模型輸出乙個 值y h x 我們要求這個 值盡可能的準確,那麼怎麼樣才能做到盡可能準確呢?其中 表示實際值,表示 值 其中 表示實際值...