機器學習之多層感知器

2022-09-10 15:33:29 字數 1805 閱讀 2845

keras是乙個用python編寫的用於神經網路開發的應用介面,呼叫介面可以實現神經網路、卷積神經網路、迴圈神經網路等常用深度學習演算法的開發

特點:

tensorflow是乙個採用資料流圖,用於數值計算的開源軟體庫,可自動計算模型相關的微分導數:非常適合用於神經網路模型的求解。

keras可看作為tensorflow封裝後的乙個介面(keras作為前端,tensorflow作為後端),簡單來說keras為使用者提供了乙個易於互動的外殼,方便進行深度學習的快速開發

##建立乙個sequential順序模型

from keras.models import sequential

model = sequential(

)#通過.add()疊加各層網路

#input_dim是輸入層,第乙個add包含了乙個輸入層和乙個隱含層

#輸出層也是用.add方式填入

from keras.layers import dense

model.add(dense(units=

3,activation=

'sigmoid'

,input_dim=3)

)model.add(dense(units=

1,activation=

'sigmoid'))

mlp.summary(

)#通過.compile()配置模型求解過程引數

model.

compile

(loss=

'categorical_crossentropy'

,optimizer=

'sgd'

)#訓練模型

model.fit(x_train,y_train,epochs=5)

#結果**(把概率轉成0或1)

y_test_predict = mlp.predict_classes(x_test)

#把**結果轉換為可用於索引的series型別:

y_range_predict = pd.series(

[i[0

]for i in y_range_predict]

)#載入mnist資料集

from keras.datasets import mnist

(x_train,y_train)

,(x_test,y_test)

= mnist.load_data(

)#視覺化

img1 = x_train[0]

fig1 = plt.figure(figsize=(3

,3))

plt.imshow(img1)

#轉換輸出結果格式:

from keras.utils import to_categorical

y_train_format = to_categorical(y_train)

#轉換輸入資料維度

feature_size = img1.shape[0]

*img1.shape[1]

x_train_format = x_train.reshape(x_train.shape[0]

,feature_size)

mnist資料集介紹

機器學習領域中非常經典的乙個資料集,由60000個訓練樣本和10000個測試樣本組成,每個樣本都是一張28*28畫素的灰度手寫數字

一共4個檔案,訓練集、訓練集標籤、測試集、測試集標籤

pip/conda install keras
源**位址

深度學習試驗之 多層感知器

mlp structure input layer 28 28 hidden layer 100 output layer 10 dataset mnist programming matlab pre processing of raw data 原始影象歸一化 原始影象規格化,規格化的具體方式為...

多層感知器

在介紹單層感知器的時候,我們提到對於非線性可分問題,單層感知器是很難解決的,比如下面這個例子 很簡單的乙個分布,但事實上就是無法用直線進行分類,後來就出現了多層感知器,主要改變的地方是把第一層的感知器的輸出作為第二層感知器的輸入,即使只是簡單新增一層感知器,也足以解決xor問題,關鍵的原因是,多了一...

多層感知器(MLP)

一.簡述多層感知器 mlp 1.深度前饋網路 deep feedforward network 也叫前饋神經網路 feedforward neuarl network 或者多層感知機 multilayer perceptron,mlp 是典型的深度學習模型。這種模型被稱為前向 feedforward...