前言:
這個專欄資訊主要是整合我個人在工作領域的經驗,閱讀的資料,以及線上學習內容,將之整合與說明。這個選題其實對我很挑戰,需要花費不少精力去吸收消化,然後驗證跟不斷個更新資訊,最後內化成我的知識,透過我的語言邏輯去傳遞給大家,希望能讓我們在這裡一起教學相長。人工智慧是這幾年來非常熱門的議題,而喜歡了解新趨勢的我,在我學生時代有幸參與到整個資訊時代的蓬勃發展盛況,根據我個人的觀察,接下來的世界,也將會從這個領域打開人類的新生活,希望我學習的動力能帶給我更多分享的熱情,幫助有興趣的朋友一起展開科技新時代的新頁這個專欄的內容將不會是我個人獨創,而是從我學習和工作的經驗去統合,因應這個時代的閱讀文化,我盡量以更少的文字,更多的圖片,和以經篩選過的參考資訊,幫助我自己複習記錄,也希望藉著這樣的資訊,由淺入深的帶領有興趣的朋友跟我一起進入機器學習殿堂。
人工智慧(Artifical intelligence)的發展很早,大概從1950年以前就開始有這樣的名詞出現,AI人工智慧之父麥卡錫(John McCarthy) 將人工智慧定義為「研發智能機器的一門科學與技術」(The science and engineering of making intelligent machines.,一直到2016年,AlphaGo 橫空出世打敗專業傳奇的棋士之後,人工智慧在人類歷史上算是有實戰成果,展開了企業與學術界的投入開發,目前有強人工智慧和弱人工智慧的開發區別,強人工智慧就是實現機器可以自己推理產生獨立思考邏輯的智慧機器,弱人工智慧應該就是目前廣泛討論的範疇,多半是要給一個模型,需要數據訓練其判斷能力,沒有獨立自主的意識的智慧機器,不管強或弱人工智慧,人類世界已經展開了到底會不會被電腦打敗的討論議題。
至於機器學習(Machine Learning)和深度學習(Deep Learning),這幾個看得懂聽不懂的文字是從英文直接翻譯過來,要當成教學課題兩個要分開談,要當成科普解釋就要一起談,這兩個名詞放在一起說明的話,我目前看到最好的解釋是「電腦程式模擬人類要做的事情,但電腦程式需要先有資料進來學習的一種機制。[1] 」
人工智慧,機器學習,深度學習三件事不是等號,而是一層包一層的關係[2],用圖1-1來說明三者的關係最清楚。而機器學習
ML結構: 資料→特徵擷取→模型→答案
Figure 1. Artificial Intelligence is an umbrella term, encompassing machine learning and deep learning [2] 圖1-1.
機器學習的概念有點像是讓一個廚師在一堆大小不同的食材裏頭做分類篩選,然後再根據廚師想要產出的食譜目標,把這些篩選好的食材做出一道美味料理。在一開始的分類篩選過程中,要根據食材的特性做分類,分類就要用對工具,比方說要從米粒和杏仁與橄欖這一堆食物篩選出米粒,那就要用夠小篩子,剛好可以留下橄欖和杏仁。只剩下米會通過篩子。而下面這些演算法在機器學習的意義上,就像是篩子,要用對的演算模型才能針對數據做歸類。 對於機器學習的應用與入門介紹,建議可以去上林軒田老師的機器學習入門課程,他用很淺顯易懂的語言說明什麼是機器學習。
線性回歸(Linear Regression)
邏輯回歸(Logistic Regression)
決策樹(Decision Tree)
支撐向量機(support vector machine, SVM)
單純貝氏分類器(Naive Bayes)
kNN分類演算法 (k nearest neighbor)
K平均演算法(K-Means)
隨機森林(Random Forest)
降維演算法(Dimensionality Reduction Algorithms)
梯度增強演算法 Gradient Boosting algorithms(GBM, XGBoost, LightGBM, CatBoost)