【火爐煉AI】深度學習002-構(gòu)建并訓練單層神經(jīng)網(wǎng)絡(luò)模型

【火爐煉AI】深度學習002-構(gòu)建并訓練單層神經(jīng)網(wǎng)絡(luò)模型

(本文所使用的Python庫和版本號: Python 3.6, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2 )

前面我們介紹了神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)單元-感知器虫腋,現(xiàn)在我們再升一級士葫,看看神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)和訓練方法。


1. 單層神經(jīng)網(wǎng)絡(luò)

單層神經(jīng)網(wǎng)絡(luò)由一個層次中的多個神經(jīng)元組成始藕,總體來看尚辑,單層神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是:一個輸入層贱勃,一個隱含層刚操,一個輸出層。如下為結(jié)構(gòu)示意圖伶椿。

image

圖中描述的是前向網(wǎng)絡(luò)撬讽,但其反向傳播網(wǎng)絡(luò)的結(jié)構(gòu)也是一樣的。藍色方框表示輸入層悬垃,綠色圓圈表示隱含層游昼,輸出層沒有繪制出來。圖片來源于2017/7/20 朱興全教授學術(shù)講座觀點與總結(jié)第二講:單個神經(jīng)元/單層神經(jīng)網(wǎng)絡(luò)尝蠕。

也可以從下圖中看出單層神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu):

image

那么從代碼上怎么創(chuàng)建單層神經(jīng)網(wǎng)絡(luò)烘豌,并對其進行訓練呢?

1.1 加載數(shù)據(jù)集

首先我們加載數(shù)據(jù)集看彼,該數(shù)據(jù)集很簡單廊佩,包含16行,四列靖榕,前兩列是double型數(shù)據(jù)标锄,構(gòu)成了特征列,后兩列是整數(shù)(0或1)茁计,構(gòu)成了標簽列料皇。加載方式很簡單,前面講過多次,此處只把該數(shù)據(jù)集中特征列的分布情況繪制出來践剂。如下

image

1.2 建立模型并訓練

數(shù)據(jù)集準備完成后鬼譬, 就需要構(gòu)建單層神經(jīng)網(wǎng)絡(luò)模型,并對其進行訓練逊脯。

# 構(gòu)建單層NN模型优质,該模型的隱含層含有兩個感知器
import neurolab as nl
x_min, x_max = dataset_X[:,0].min(), dataset_X[:,0].max()
y_min, y_max = dataset_X[:,1].min(), dataset_X[:,1].max()
single_layer_net = nl.net.newp([[x_min, x_max], [y_min, y_max]], 2) # 隱含層含有兩個神經(jīng)元
# 所以本單層NN模型含有兩個輸入神經(jīng)元,兩個隱含層神經(jīng)元军洼,兩個輸出神經(jīng)元
cost = single_layer_net.train(dataset_X, dataset_y, epochs=50, show=2, lr=0.01)
# 訓練該單層NN模型巩螃,50個回合,每2個回合顯示一下訓練結(jié)果匕争,學習速率為0.01

-------------------------------------輸---------出--------------------------------

Epoch: 2; Error: 7.5;
Epoch: 4; Error: 7.0;
Epoch: 6; Error: 4.0;
Epoch: 8; Error: 4.0;
Epoch: 10; Error: 4.0;
Epoch: 12; Error: 4.0;
Epoch: 14; Error: 4.0;
Epoch: 16; Error: 4.0;
Epoch: 18; Error: 4.0;
Epoch: 20; Error: 4.0;
Epoch: 22; Error: 4.0;
Epoch: 24; Error: 4.0;
Epoch: 26; Error: 4.0;
Epoch: 28; Error: 4.0;
Epoch: 30; Error: 4.0;
Epoch: 32; Error: 4.0;
Epoch: 34; Error: 4.0;
Epoch: 36; Error: 4.0;
Epoch: 38; Error: 4.0;
Epoch: 40; Error: 4.0;
Epoch: 42; Error: 4.0;
Epoch: 44; Error: 4.0;
Epoch: 46; Error: 4.0;
Epoch: 48; Error: 4.0;
Epoch: 50; Error: 4.0;
The maximum number of train epochs is reached

--------------------------------------------完-------------------------------------

可以看出在第6個回合時避乏,cost就達到最低,并不再變化汗捡,表示已經(jīng)收斂淑际,再提高訓練回合數(shù)也用處不大畏纲。將Error變化圖繪制出來可以得到:

image

1.3 使用訓練好的模型來預測新樣本

訓練后的模型肯定是要用它來預測新樣本扇住,期望它能對從來沒有見過的新樣本也能得到理想的結(jié)果。

預測的代碼為:

# 用訓練好的模型來預測新樣本
new_samples=np.array([[0.3, 4.5],
                      [4.5, 0.5],
                      [4.3, 8]])
print(single_layer_net.sim(new_samples))

-------------------------------------輸---------出--------------------------------

[[0. 0.]
[1. 0.]
[1. 1.]]

--------------------------------------------完-------------------------------------

單單從結(jié)果上來看盗胀,我們成功的構(gòu)建了單層NN模型并對其進行訓練艘蹋,通過訓練后的模型來成功預測了新樣本,一般的票灰,一個深度學習模型流程就是這樣的女阀。

單層神經(jīng)網(wǎng)絡(luò)模型雖然結(jié)構(gòu)簡單,訓練很快屑迂,比較適合一些簡單問題浸策,對于復雜一些的問題,這個模型就會力不從心惹盼,并且庸汗,有時我們的優(yōu)化方法并不一定能夠找到所希望的優(yōu)化參數(shù),也找不到所需要的擬合函數(shù)手报,由于模型比較簡單蚯舱,難以學習到復雜的內(nèi)在機理,很容易產(chǎn)生欠擬合掩蛤。

########################小**********結(jié)###############################

1枉昏,單層神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)簡單,訓練耗時短揍鸟,能夠解決的問題也相對比較簡單兄裂,對于比較復雜的問題會出現(xiàn)欠擬合,故而應(yīng)用上受到一定限制,目前直接使用單層神經(jīng)網(wǎng)絡(luò)模型的情況非常少懦窘。

#################################################################


注:本部分代碼已經(jīng)全部上傳到(我的github)上前翎,歡迎下載。

參考資料:

1, Python機器學習經(jīng)典實例畅涂,Prateek Joshi著港华,陶俊杰,陳小莉譯

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末午衰,一起剝皮案震驚了整個濱河市立宜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌臊岸,老刑警劉巖橙数,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異帅戒,居然都是意外死亡灯帮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進店門逻住,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钟哥,“玉大人,你說我怎么就攤上這事瞎访∧宸。” “怎么了?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵扒秸,是天一觀的道長播演。 經(jīng)常有香客問我,道長伴奥,這世上最難降的妖魔是什么写烤? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮拾徙,結(jié)果婚禮上洲炊,老公的妹妹穿的比我還像新娘。我一直安慰自己锣吼,他們只是感情好选浑,可當我...
    茶點故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著玄叠,像睡著了一般古徒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上读恃,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天隧膘,我揣著相機與錄音代态,去河邊找鬼。 笑死疹吃,一個胖子當著我的面吹牛蹦疑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播萨驶,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼歉摧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了腔呜?” 一聲冷哼從身側(cè)響起叁温,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎核畴,沒想到半個月后膝但,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡谤草,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年跟束,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丑孩。...
    茶點故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡冀宴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嚎杨,到底是詐尸還是另有隱情花鹅,我是刑警寧澤氧腰,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布枫浙,位于F島的核電站,受9級特大地震影響古拴,放射性物質(zhì)發(fā)生泄漏箩帚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一黄痪、第九天 我趴在偏房一處隱蔽的房頂上張望紧帕。 院中可真熱鬧,春花似錦桅打、人聲如沸是嗜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鹅搪。三九已至,卻和暖如春遭铺,著一層夾襖步出監(jiān)牢的瞬間丽柿,已是汗流浹背恢准。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留甫题,地道東北人馁筐。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像坠非,于是被迫代替她去往敵國和親敏沉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,687評論 2 351

推薦閱讀更多精彩內(nèi)容