Deeplearning4j多層感知線性分類器訓(xùn)練Tianic數(shù)據(jù)

Deeplearning4j是一個java編寫的深度學(xué)習(xí)商業(yè)框架,可以通過他們提供的API快速搭建出神經(jīng)網(wǎng)絡(luò)摔握。根據(jù)官網(wǎng)的下載的demo中的MLPClassiferLinear(多層感知線性分類器),訓(xùn)練Titanic數(shù)據(jù)塞耕,求生存分析焕济。

MLPClassiferLinear


idea中該類所在的位置

Titanic數(shù)據(jù)萌壳,數(shù)據(jù)集來自kaggle

訓(xùn)練集:


泰坦尼克數(shù)據(jù)

測試集:


泰坦尼克數(shù)據(jù)

然后依葫蘆畫瓢,照著MLP的樣子打代碼摹芙。


神經(jīng)網(wǎng)絡(luò)參數(shù)

一開始時設(shè)置神經(jīng)網(wǎng)絡(luò)的參數(shù)灼狰,根據(jù)官網(wǎng)介紹這些參數(shù)設(shè)置和最終訓(xùn)練的結(jié)果有比較大的關(guān)聯(lián)。batchSize表示每一步抓取的數(shù)據(jù)量浮禾。


參數(shù)設(shè)置

要搞清楚這里的參數(shù)是什么意思得先看神經(jīng)網(wǎng)絡(luò)的原理圖

圖片來自百度百科

可以看到信息經(jīng)過一層一層的處理最終變?yōu)檩敵鼋慌撸恳粚佣加幸粋€輸入(除了第一層)都有一個輸出(除了最后一層)份汗,也就是說第一層我們輸入原始的數(shù)據(jù),然后經(jīng)過N層的隱藏層得到結(jié)果蝴簇。numInput表示原始數(shù)據(jù)的維數(shù)杯活,例如在titanic中將數(shù)據(jù)處理為[sex,survived]則數(shù)據(jù)為1維,[sex,parch,survived]則數(shù)據(jù)為二維的(即我們用幾個數(shù)據(jù)預(yù)測survived這個變量军熏,f(x)=y,f(x,z)=y,可以這么理解)轩猩。然后這n維數(shù)據(jù)經(jīng)過一定的組合變成numHiddenNodes維,距離f(x,z)=y->f(x1,x2,z1,z2...)=y,最終輸出結(jié)果荡澎。numOutput表示y的取值可能性均践,在本例中suvived即為生或死,表示為0或1所以為2摩幔。


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

參數(shù)設(shè)置好了后可以加載數(shù)據(jù)了彤委,但是這里的數(shù)據(jù)不能是上面展示的原始數(shù)據(jù),需要對數(shù)據(jù)進行處理或衡。因為神經(jīng)網(wǎng)絡(luò)接受的輸入是向量類型的焦影,即不可以出現(xiàn)字符,要把所有的信息都轉(zhuǎn)換為數(shù)字封断,比如男斯辰,女可以表示為0,1等坡疼。deeplearning4j自己提供了data2vec工具類彬呻,在機器學(xué)習(xí)中數(shù)據(jù)的質(zhì)量對結(jié)果有著格外的影響,好的數(shù)據(jù)處理能讓預(yù)測結(jié)果更準確柄瑰。這里我處理數(shù)據(jù)的方式采用的方法不科學(xué)且粗獷不可取闸氮。為了方便我直接把所有出現(xiàn)字符的行列都刪除,最終得到的數(shù)據(jù)如下


訓(xùn)練集

第一列是suvived教沾,后面的依次為pclass,sibSp蒲跨,parch


測試集

kaggle提供的測試即未提供suvived列,故不能用來評估授翻,我直接把數(shù)據(jù)裁取好后在第一列中簡單粗暴的加上分類標(biāo)簽或悲,隨機的0,1。


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

構(gòu)造方法參數(shù)的意思堪唐,lableIndex表示在你的數(shù)據(jù)中標(biāo)簽列的索引號(本例中即survived巡语,就是要預(yù)測的那一列)numPossibleLabels表示標(biāo)簽列可能的值的個數(shù)(本例中即生或死,為2)


搭建網(wǎng)絡(luò)并訓(xùn)練

然后可以搭建神經(jīng)網(wǎng)絡(luò)羔杨,代碼如上每需要一層則用.layer(...)添加捌臊,layer即英文中神經(jīng)網(wǎng)絡(luò)層的意思。上圖中搭建的是一個兩層的網(wǎng)絡(luò)兜材,第一層接受numInputs的向量為參數(shù)然后輸出numHiddenNodes的向量為輸出理澎,第二層接受上一層的輸出為輸入并且輸出結(jié)果numOutputs逞力。然后創(chuàng)建模型對象并且用訓(xùn)練集訓(xùn)練模型。最終得到model對象糠爬。

這樣一個神經(jīng)網(wǎng)絡(luò)就訓(xùn)練好啦寇荧!

但是我們并不知道這個網(wǎng)絡(luò)的效果如何,這時測試數(shù)據(jù)集及登場了执隧。(原本應(yīng)該是測試數(shù)據(jù)集是一組正確的數(shù)據(jù)揩抡,用來評估模型的預(yù)測準確率的,但這里測試數(shù)據(jù)集的數(shù)據(jù)并不是正確的而是自己杜撰的)


構(gòu)造評估對象镀琉,并用測試集做評估

寫好后峦嗤,點擊運行。過一會屋摔,就能預(yù)測輸出結(jié)果了烁设。


模型評估結(jié)果

可以看到評估指標(biāo)中又正確率,召回率等數(shù)據(jù)钓试,其結(jié)果均為50%左右装黑。也就是我們這模型可能和瞎猜的結(jié)果差不多。這個應(yīng)該是數(shù)據(jù)處理的問題弓熏,用demo中的數(shù)據(jù)跑精確率可以達到99%以上恋谭。

deeplearning4j給廣大java程序源提供一個很好進一步接觸人工智能的機會。有興趣的花可以自己扒數(shù)據(jù)挽鞠,嘗試這它預(yù)測諸如股票疚颊、天氣等數(shù)據(jù),看看自己訓(xùn)練的網(wǎng)絡(luò)的準確性滞谢、實用性串稀。

ps.未來應(yīng)該是一個人工智能的時代除抛,越來越多的框架讓我們能更簡潔的接觸利用人工智能狮杨,這是很好的時代普通人一可以用這些看似高大上(其實也高達上)的東西做一些自己的想法。官網(wǎng)的demo還有許多其他例子到忽,有時間可以拿出來研究橄教。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市喘漏,隨后出現(xiàn)的幾起案子护蝶,更是在濱河造成了極大的恐慌,老刑警劉巖翩迈,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件持灰,死亡現(xiàn)場離奇詭異,居然都是意外死亡负饲,警方通過查閱死者的電腦和手機堤魁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門喂链,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人妥泉,你說我怎么就攤上這事椭微。” “怎么了盲链?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵蝇率,是天一觀的道長。 經(jīng)常有香客問我本慕,道長,這世上最難降的妖魔是什么侧漓? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任间狂,我火速辦了婚禮,結(jié)果婚禮上火架,老公的妹妹穿的比我還像新娘鉴象。我一直安慰自己,他們只是感情好何鸡,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布纺弊。 她就那樣靜靜地躺著,像睡著了一般骡男。 火紅的嫁衣襯著肌膚如雪淆游。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天隔盛,我揣著相機與錄音犹菱,去河邊找鬼。 笑死吮炕,一個胖子當(dāng)著我的面吹牛腊脱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播龙亲,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼陕凹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鳄炉?” 一聲冷哼從身側(cè)響起杜耙,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拂盯,沒想到半個月后佑女,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年团驱,在試婚紗的時候發(fā)現(xiàn)自己被綠了簸呈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡店茶,死狀恐怖蜕便,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贩幻,我是刑警寧澤轿腺,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站丛楚,受9級特大地震影響族壳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜趣些,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一仿荆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坏平,春花似錦拢操、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至顾瞪,卻和暖如春舔庶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背陈醒。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工惕橙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钉跷。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓弥鹦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親尘应。 傳聞我的和親對象是個殘疾皇子惶凝,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

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

  • 沒有誰過得特別容易 走著回家吼虎,隱隱約約的星光犬钢,塞了耳機聽X發(fā)過來的不管有多苦。像是放了一部卡薩布蘭卡般的老電影思灰,一...
    星沅子墨閱讀 251評論 0 1
  • 我特意去翻了翻她的朋友圈洒疚,找出她之前發(fā)的18歲照片歹颓,抱著排球在操場中間彎著腰笑的好甜坯屿。這世上如果真有多啦...
    西北小鎮(zhèn)閱讀 435評論 4 2
  • 我被夏天叮了一口, 身上便開滿了花骨朵巍扛。 不知天上棉花糖卷著閃電的味道领跛, 是否和手抓餅一樣...
    青鵝閱讀 216評論 2 1