初次接觸AI時,常常會聽到數據分析、資料科學、機器學習、深度學習,一堆專有名詞,倒底是甚麼碗糕? 有何差別? 可以吞得下去嗎? 會不會消化不良?
前幾天看到一篇文章『What Is Data Science, Really』,作者先擷取維基百科的部分定義如下:
Data science … incorporates skills from computer science, statistics, information science, mathematics, information visualization, data integration, graphic design, complex systems, communication and business.
簡單翻譯如下:
資料科學結合計算機、統計學、資訊科學、數學、資訊視覺化、數據整合、圖形設計、複雜系統、通信和商業等技能。
看到這裡就會覺得這是典型江湖術士的騙術,適合拿來騙錢,因此,作者試圖找到一個精準且簡短的定義如下:
the application of the scientific method in using the tools of data analysis。
翻譯如下:
應用科學化的數據分析工具,從數據中挖掘出知識(knowledge)。
註:後半句是引用自維基百科。
圖1. KDD (Knowledge Discovered from Data)
至於數據分析工具有哪些呢? 舉凡描述統計量(平均數、變異數、關聯係數....)、統計方法(迴歸、ANOVA、時間序列、...)等等都是可以挖掘數據特徵、偵測異常或不同類別的差異/關聯,我們往往會透過統計圖、地圖(map)、多維度分析等圖表工具來呈現及觀察統計結果。
筆者出入門時,覺得機器學習與資料探勘根本就是雙胞胎,書中介紹的演算法幾乎相同,經過一番實戰後,才略有心得。根據維基百科的說明,資料探勘(Data Mining)是機器學習(Machine Learning)的一環,利用各式演算法找出資料的隱藏結構(Pattern),包括迴歸、分類、集群、異常檢測(Outlier Detection)、關聯...等類別的演算法。
機器學習則是更進一步,希望透過模型的訓練,使電腦愈來愈聰明,雖與資料探勘所使用的演算法高度重疊,但有更崇高的理想,希望經由資料的累積與修正,使模型不斷的精進,從而提高預測的準確率,讓電腦具有人工智慧。它與傳統程式開發方式不同:
深度學習(Deep Learning)也是機器學習的分支,它是利用多層式結構(Multi-layers)解決問題,例如神經網路(Neural Network)、強化學習(Reinforcement Learning),通常很難用數學導出公式建構模型,而是採用優化(Optimization)演算法,逐步逼近最佳解,最後找出一個接近完美的近似解。
圖2. 神經網路
卷積神經網路為多層式結構,圖片來源:Comprehensive Introduction to Neural Network Architecture
國內一般教育機構會採四階段學習課程,逐步探究人工智慧的奧秘:
以上是筆者幾年K書的心得,不具學術的嚴謹性,只求看得懂,若有謬誤,請大家不吝指正。
工商廣告一下:
深度學習 -- 最佳入門邁向 AI 專題實戰。