他當初剛寫第一篇論文的時候,就擬好了這個題目,只是由於數學基礎不夠,一直停留在構思階段。
這兩天他利用碎片時間,稍微補了補高數知識,這才真正筆。
江寒將近期一些想法整理了一下,羅列了個大綱出來。
很多機學習分類演算法,都要求假設數據線可分,「知機」也不例外。
如果數據不是線可分的,就必須採用一些特殊的方法,把數據非線地投到更高的維度上。
在高維空間里,數據更有可能變線可分的,這就是所謂的Cover定理。
對於知機來說,理線不可分的問題,有個最簡單的解決辦法,那就是把單層知機拓展為多層知機。
多層知機的關鍵,在於如何訓練各層之間的連接權值。
一種常用的辦法是只訓練某兩層間的連接權值,而將其它連接權值進行固定。
可以從數學上證明,對於所有非線可分的樣本集,這種方法都是收斂的。
也可以採用BP技,也就是另一個世界里,大名鼎鼎的「反向傳播神經網路」。
當然,這個世界里,「知機」都還沒正式登場,說這些還有點早。
至於BP技什麼時候問世,基本上是江寒自己說了算……
此外,還可以將數據帶到核空間,再進行分類。
在另一個世界里,有很多著名的演算法,例如支持向量機(SVM)、徑向基神經網路(RBFNN)等等,都採用了所謂的「核方法」。
核方法的核心,是核函數。
工業生產中,常用的核函數有線形核、多項式核、高斯核等等。
所謂核空間,百度百科上說:「核型空間是一類局部凸空間。」
來說:如果對零元的任何均衡凸鄰域V,存在另一零元的均衡凸鄰域UV,使得典型映T:XV→XU是核映,則局部凸空間X稱為核型空間。
這裡,XU是商空間(X,PU(·)){x|PU(x)=0},而XV是商空間(X,PV(·)){x|PV(x)=0}的完備化空間,PU(·)及PV(·)是由U和V各自產生的閔可夫斯基泛函。
嗯,江寒剛開始看到這個的時候,還真有點懵。
所以,再加強一點數學素養,還是很有必要的說……
當然,就算不懂上面的數學表達,一樣可以理解核函數的功能。
核函數主要做的事,就是將樣本映到更高維的空間。
但是,這樣做雖然能使樣本變得可分,但卻會造維數過高,使得計算量急遽增大。
這就是「高維NP難」問題。
所謂NP難(NP-hard),是指:非確定多項式問題的大型實例,不能用確演算法求解,只能尋求有效的近似演算法。
而解決的辦法,也有很多……
好吧,先回到一開始的問題:如何判斷數據是線可分的?
最簡單的況,比如數據向量是一維、二維或者三維的,只要把圖像畫出來,直觀上就能判斷出來。
但如果數據向量的維度變得很高,又該怎麼辦?
答案是檢查凸包(convexhull)是否相。
所謂凸包,簡單的說,就是一個凸的閉合曲線(曲面),它剛好包住了所有的數據。
以二維的況為例,如果我們的數據訓練集有兩類:M+和M-。
當我們畫出兩個類的凸包,如果兩者不重疊,那麼兩者線可分,反之則線不可分。
靠畫出圖形,然後用眼睛來判斷是否線可分,雖然比直接看數據更加容易了些……
但好像依然沒有解決高維數據的問題?
其實不是這樣的。
判斷兩個凸包是不是有重疊,可以通過判斷兩個凸包(M+和M-)的邊是否相來實現,而無需把凸包畫出來。
要想高效地找到一組數據的凸包,在計算幾何中有很多現的演算法:
窮舉法、分治法、Jarvis步進法、Graham掃描法、Melkman演算法……
江寒在這篇論文中選擇的演算法,稱之為快速凸包演算法(quickhull)。
第二個問題,如何高效地判斷出,兩個凸包的邊緣是否相?
也有許多可選的演算法,江寒使用了所謂的掃描線演算法(sweepline)。
Quickhull和sweepline的時間複雜度,都是O(nlogn),這是它們被選中的前提條件。
時間複雜度越低,實踐中就越有可行。
但寫論文不能這麼簡單的直接扔出來結論,必須將各種演算法的效率和優缺點,全都分析一下。
有必要的時候,還要逐一測試N遍,收集到足夠的數據,然後進行橫向比較,最後才能得出結論。
江寒理清了思路后,開始打草稿。
首先寫下標題,然後是摘要,接下來是正文……
(此省略2300字。)
江寒正筆疾書,黃明忽然溜溜達達地走了過來。
「江寒,都下課了,還在做題啊?」
黃大學霸說著,探頭探腦地瞅了一眼。
結果一看草稿紙上書寫的標題,頓時就有點傻眼。
「《如何高效判斷數據是否線可分》……」
這什麼玩意?
高中課程里有這種東西嗎?
再一看正文,就更加懷疑人生了。
沉默了半天,黃明還是忍不住問了一句:「你這寫的什麼東西?」
「偶有所,隨便寫寫。」江寒笑著回答了一句,然後繼續筆疾書。
黃明研究了半天,最終還是放棄了,搖了搖頭,轉就走。
他忽然發覺,自己這個傳統型學霸,和江寒這種怪相比,好像已經不在一個頻道了……
江寒瞥了眼黃明的背影,發現他似乎……有點落寞?
忍不住搖了搖頭。
好像不小心打擊到了別人了,但這次真的是誤傷……
又是兩節課帶課間過去,終於在第四節下課十來分鐘后,寫完了初稿。
將東西收拾好,就趕往食堂吃飯。
下午,江寒也沒浪費時間,寫了大半篇「知機應用」方向的論文,然後在晚自習的時間裡,寫完了另外一半。
充實的一天就這樣過去。
下了晚自習,江寒先找宿管老李,把自己的手機拿了回來。
回到403寢,打開手機,好幾條簡訊跳了出來。
江寒翻看著簡訊。
最新的一條,赫然是來自銀行平臺的提醒:【您卡號621xxxxxxxxxxxx的銀行卡,存資金8.4萬元。】
「嘖,還及時的。」江寒贊了一聲,放下了手機。
夏如虹按照約定,把專利授權費打過來了。
第一筆資金總共是10萬塊,到賬卻只有8萬4。
剩餘的部分,自然是為國家做了貢獻,扣除了應繳納的稅款。
這錢來的正是時候。
江寒的手頭正好有點,而且還有許多比較急迫的預算。
在江寒的計劃里,最近一兩個月里,最重要的事,就是數據實驗室。
因為等他出完「多層知機」的論文,再想搞機學習方面的研究,就必須大量算力的支持了。
打造數據實驗室,設備不能。
有些不急需的東西,可以等手裡活錢多了,再慢慢地置辦,但最基本的設施,越快到手越好。
江寒先做了張EXCEL表格,將所需的東西羅列了出來,然後在網上一頓搜尋,找準了採購目標,再按照重要程度,一樣樣下單。
等過幾天有空,就去夏如虹借給自己的車庫,看看況。
然後抓時間,把場地收拾出來。
等一到位,就立即把實驗室置辦起來……。
可鹽可甜修真大佬小仙女、毀天滅地黑化醋罈大魔王 禦淺淺被無良的「救世主」係統強製繫結。 開始穿梭在世界中救贖黑化男主。 第一世,柔軟的小狼狗眸光晶瑩,捏緊她的衣角,「淺淺,看看我好麼?」 第二世,乖戾暴嬌大佞臣親昵地撫著她的臉頰,笑的低柔,「又想逃到哪裡去?」 第三世,優雅病嬌的男僕大人單膝著地,眸光愛慕,「我的公主,您願意做我懷裡的玩偶嗎?」 直到她發現,所有世界的男主都是那個可惡的深淵大魔王的化身。 而她每攻略的一個世界,大魔王的封印就會鬆動一層。 某日。 那頭捆著八十一道鎖魂鏈的惡龍被張牙舞爪的放了出來。 小仙女悄咪咪逃出深淵。 卻被那個大魔王抵在牆角,似委屈似戲謔的貼著耳廓低喃,「淺淺,你陪了我那麼多世,如今卻不認我了嗎?」 「我錯了。」哭唧唧qq。 文盲寫手線上碼文!
【最熱爽文】 蘇家少主蘇莫,覺醒出逆天武魂,卻被認為是最低級的垃圾武魂,受盡屈辱……且看蘇莫如何憑借著逆天武魂,一路崛起,一路逆襲…… 練奇功、得奇寶、闖絕地、戰天驕,吞噬無盡生靈,融合諸天血脈,鏖戰天下,舉世無敵!
故事一登場就死于非命的杜羽,為了爭取更好的投胎位置而替傳說管理局打工,他的職責是回到各個偏離的傳說中將劇情拉回正軌。沒想到身為一個凡人的杜羽,第一次接到的任務就是超甲級難度的“羿射九日”。這一次的傳說中后羿只是一介凡人,而杜羽身為一個凡人,要怎麼幫另一個凡人射下九個太陽呢……
九天神帝澤被陷害致渡劫失敗,神魂經萬年修養封印記憶,轉世重生,解除封印之時,卻身陷殺局,為擺脫殺局,再次登臨九霄,云澤步步為營,神擋殺神,佛擋誅佛。這一世,他要讓天地顫抖,神魔俯首!