【BABY夜談大數據】神經網絡
前言
如果你喜歡《BABY夜談大數據》這本書,或者想要及時收到更新,可以到豆瓣上訂閱和購買哦!
https://read.douban.com/column/3346397/
神經網絡旨在模擬人的思考方式,思維學普遍認為,人類大腦的思維分為抽象(邏輯)思維、形象(直觀)思維和靈感(頓悟)思維三種基本方式。而神經網絡主要就是模擬人類的邏輯思維。
邏輯思維是人們在認識事物的過程中借助於概念、判斷、推理等思維形式能動地反映客觀現實的理性認識過程,又稱抽象思維。它是作為對認識者的思維及其結構以及起作用的規律的分析而產生和發展起來的。隻有經過邏輯思維,人們對事物的認識才能達到對具體對象本質規定的把握,進而認識客觀世界。它是人的認識的高級階段,即理性認識階段。
同時,邏輯思維是思維的一種高級形式。是指符合世間事物之間關係(合乎自然規律)的思維方式,我們所說的邏輯思維主要指遵循傳統形式邏輯規則的思維方式。常稱它為“抽象思維(Abstract thinking)”或“閉上眼睛的思維”。
例如由笛卡爾提出的著名的“我思故我在”,我無法否認自己的存在,因為當我否認、懷疑時,我就已經存在!”因為我在思考在懷疑的時候,肯定有一個執行“思考”的“思考者”,這個作為主體的“我”是不容懷疑的,這個我並非廣延的肉體的“我”,而是思維者的我。所以,否認自己的存在是自相矛盾的。
這個“我思故我在”就是典型的邏輯思維產物。
神經網絡可以算是人工智能領域中一個小小的部分,簡單來說就是通過一些列函數的串行和並行來擬合一個已經產生了一係列數據(x,y)的黑箱係統。
因為神經網絡的這種特性,讓人很難追溯產生的結果的原因,所以一般很少會用於推薦、運營相關方麵。
作為一個數學不太好的設計師,神經網絡的入門可以說是對數學要求沒有那麼高對我等相對來說比較友好的一個方向。
神經網絡的點和點通過權重連接。把神經網絡訓練好了(就是權重調整好)。然後,讓它去識別一個輸入,把一個輸入從神經網絡出來後,就會被映射到一個輸出(一個分類)。 所以也很適合做分類器。
我這裏引用PararthShah在Quora(賈偉 翻譯)上對機器學習(神經網絡是機器學習的一部分)的解釋:
你需要挑選芒果,你不知道什麼樣的芒果最好吃,所以你就嚐遍了所有的芒果,然後自己總結出個大深黃色的比較好吃,以後再去買的時候,就可以直接挑選這種。
那什麼是機器學習呢,就是你讓機器“嚐”一遍所有芒果,當然,也假設它知道哪些好吃,讓機器去總結一套規律(個大深黃色),這就是機器學習。具體操作,就是你描述給機器每一個芒果的特征(顏色,大小,軟硬……),描述給機器其輸出(味道如何,是否好吃),剩下的就等機器去學習出一套規則。
神經網絡特別適合用於分類,比如圖像識別、垃圾郵件識別等等。這種能自動對輸入的東西進行分類的機器,也可以叫做分類器。
每進行一次分類就被稱為一個神經元,理論上隻要足夠多次的分類就可以把任何複雜的東西都能分類。相似的神經元構成一層。
當一層神經元搞不定的時候,怎麼辦?兩層唄,兩層搞不定就三層唄,如此反複疊加。上一層的結果可以當做下一層神經元的輸入,直到最後一層再輸出結果。
比如:
第一層分類出是一隻狗。
第二層分類出是一隻黃色的狗。
第三層分類出是一隻黃色的金毛。
看到上麵的例子,我相信大家都大概明白了神經網絡的運作原理吧。神經網絡雖然聽起來特別高深、讓人肅然起敬,但其實並不是特別的難。讓人容易想起一個彈幕-“什麼都好,就是有點傻”。
不得不說神經網絡從某種程度上來說是有點傻,在實際應用上一般是不會設計超過五層的神經網絡,因為層數越多越複雜、性能越低。
想要訓練神經網絡認識狗的話,就給它看幾百萬隻狗、幾百萬隻貓並標識什麼是狗什麼是貓,讓神經網絡自己提取共用特征。然後讓神經網絡分批看幾十萬張隨機挑選的動物圖片,每張圖片可以附帶一個標注(人為標注出是什麼),如果神經網絡得出的結果與人為標注的結果不同則自動修正。
如此反複找到識別率最高的批次。
講到這就不得不提BP了,BP算法是一種計算偏導數的有效方法,它的基本原理是:利用前向傳播最後輸出的結果來計算誤差的偏導數,再用這個偏導數和前麵的隱藏層進行加權求和,如此一層一層的向後傳下去,直到輸入層(不計算輸入層),最後利用每個節點求出的偏導數來更新權重。
BP神經網絡可以用作分類、聚類、預測等。需要有一定量的曆史數據,通過曆史數據的訓練,網絡可以學習到數據中隱含的知識。在你的問題中,首先要找到某些問題的一些特征,以及對應的評價數據,用這些數據來訓練神經網絡。
BP神經網絡主要是在實踐的基礎上逐步完善起來的係統,並不完全是建立在仿生學上的。並且裏麵的某些算法,例如如何選擇初始值、如何確定隱藏層的節點個數、使用何種激活函數等問題,並沒有確鑿的理論依據,隻有一些根據實踐經驗總結出的有效方法或經驗公式。
BP神經網絡雖然是一種非常有效的計算方法,但它也以計算超複雜、計算速度超慢、容易陷入局部最優解等多項弱點著稱,因此人們提出了大量有效的改進方案,一些新的神經網絡形式也層出不窮。
決策樹和神經網絡都可以用來做預測,線性回歸、邏輯回歸也是可以做預測。方法還挺多,但一般我們選擇準確率最好的那個模型。
決策樹因為其特性可以清晰和直觀的知道整個決策流程,而神經網路則是通過算法產生一個最終的結果,這個結果是一些權重數據。所以在大數據的應用領域我更讚成決策樹。可能這個跟自己的一些理念有關。
由於本書並不希望講得太過高深,所以我就不在這裏講太多神經網絡相關的,神經網絡的學習還是需要一定時間和嚐試的。本篇文章主要是給大家繼決策樹後補充下相關的知識。
最後更新:2017-07-13 18:32:09