【機器學習】入門介紹-什麼是機器學習What's ML? - Jason ...
文章推薦指數: 80 %
一文中,已經簡單介紹過人工智慧(Artificial Intelligence, AI)、機器學習(Machine Learning, ML)、深度學習(Deep Learning, DL)彼此之間的愛恨 ...
JasonChen'sBlog
Home
About
Press
Contact
Home
About
Press
Contact
【機器學習】入門介紹-什麼是機器學習What'sML?
2/12/2020
0評論
Jason在之前寫過的一篇:【人工智慧】入門介紹-什麼是人工智慧What'sAI? 一文中,已經簡單介紹過人工智慧(ArtificialIntelligence,AI)、機器學習(MachineLearning,ML)、深度學習(DeepLearning,DL)彼此之間的愛恨情仇,以及整個人工智慧發展的簡史,這邊就不再贅述了!如果還沒看過的話,建議先看過那篇再來讀這篇,而今天這篇則會著重介紹,到底什麼是機器學習以及機器到底該如何學習。
所以,到底什麼是機器學習?
首先,我們回顧一下之前在【人工智慧】入門介紹-什麼是人工智慧What'sAI? 一文中所提到的:
人工智慧是我們始終不變的大方向,而機器學習只不過是眾多可以用來實現人工智慧的方法之一。
而所謂的機器學習方法,想要實現的目標就是:我們不再需要透過HardCoding(註一)的方式告訴電腦應該要怎麼做,而是讓電腦自己去計算出該怎麼做。
在文中也有舉一個簡單的例子,稍微展示了傳統HardCoding與基於學習方法之間的差異。
不過也可能因為Jason舉的那個例子太過於簡單,反而導出另一個小小讓人困惑的點,那就是...
我用一般程式設計的方法不就能解決問題了,那為什麼還需要機器學習?
的確在前文中,Jason所舉的那個以年紀判斷一個人是不是老人的case中,我們是可以很明確的定義出一個門檻值(threshold)來做判斷沒錯,或者是一個在二維空間的分類問題,我們人也可以很迅速的找出那一個決策函數decisionfunction(或者維度再高一點,我們會稱作決策邊界decisionboundary) 用來分類。
二維空間中的決策邊界示意圖
BUT!奈何人生就是有這個BUT
如果今天資料的維度再高一點(超過三維),那麼人們就已經很難去想像資料分佈到底長成什麼樣子,更別說想靠人的"直覺"來找出 decisionboundary,而如今我們靠機器學習在處理資料的維度,基本上沒個幾十也有個幾百,甚至成千上萬!或者說,在一個新興領域我們根本還沒有一些過往的"經驗"可以用來判斷、預估說接下來事情會怎麼發生。
在當你沒有辦法給工程師們一個"規則"讓他寫到程式裡面,但是手頭上卻有相關大量資料、紀錄的時候,工程師們只好自己想辦法從這堆資料裡面找出那個規則。
可能像是早期email剛問世的時候,的確在工作上帶來許多便利性,但是卻也衍伸出以前從沒有過的一個問題:垃圾郵件(SPAM)。
垃圾郵件不僅會造成使用者的困擾,更有可能會造成資安上的漏洞,使得裝置中病毒、蠕蟲或者木馬,讓駭客有機可趁進而盜取寶貴的個資或者公司的商業機密。
於是我們就希望能夠建構一套系統將垃圾郵件擋在門外,但要建構這樣一套系統我們就會需要給系統一個"規則"讓其可以判斷什麼是垃圾郵件,此時我們就可以利用手邊那些大量的email資料加上機器學習方法來找出那個"規則"。
所以可以發現"在一堆資料裡面找規則"其實是一件蠻有趣、挺實用、也很熱門的事,於是在統計、數學、資工等相關科系就有一堆大神們投入相關的研究,而他們也研究出很多不同的方法來達成這件事,像是基於統計的數學方法或者資工人在講的知識挖掘(KnowledgeDiscoverinDatabase,KDD)、圖形識別(PatternRecognition,PR)、資料挖掘(DataMining,DM),以及今天要介紹的機器學習。
聽起來還是有點玄乎,所以機器是如何學習的?
就像前一段所提及的,已經有許多不同領域的大神投入相關的研究幾十年了,所以也開發出許許多多不同的機器學習演算法,不過基於它們不同的理論基礎我們可以將其分成四個大類:
InformationBasedLearning
根據資料中最亂( entropy )的地方來分,代表的演算法為:DecisionTree
SimilarityBased Learning
這個相似度指的是 feature到空間中的點的距離,而這個距離是可以自己定義的,常用的像是L1-Norm、L2-Norm,代表的演算法為:KNN、K-means
ProbabilityBased Learning
基於機率理論(e.g.貝氏定理)的學習方法,代表的演算法為:NaiveBayes
ErrorBased Learning
這個Error其實就是類神經網路裡面講的Loss,而所謂ErrorBasedLearning其實講的就是類神經網路,也就是目前最熱門的深度學習(DeepLearning)。
除了上述根據演算法的基礎理論這種分類方法之外,我們也可以根據學習方法進行分類,像是:
監督式學習 SupervisedLearning
非監督式學習 UnsupervisedLearning
「監督式學習」與「非監督式學習」可以說是一體兩面的東西,兩者之間最大的差異就是在於資料本身有沒有包含GroundTruth的答案,如果是分類問題這個答案就是「標籤(Label)」或稱作「類別 (Class )」;如果是回歸問題這個答案就是我們要預測的數值。
如下圖所示:
圖左就是監督式學習用的訓練資料,除了資料本身(.png圖檔)之外還包含了一個 GroundTruth的標籤,在訓練模型的過程中就可以透過這個標籤不斷的來修正模型的學習結果,概念就有點像學生時代在考完試後會發正確解答下來讓你改考卷,然後你就可以從錯誤中學習,下次同一題就比較不會考錯了。
而圖右的資料集中只有包含身高、體重等特徵資料,並沒有包含性別我們想預測"性別"這一項的標籤,於是我們只好使用一些非監督式學習的聚類方法(e.g.K-means、DBSCAN),讓每筆資料可以自己物以類聚的聚出一群。
想了解更多的話,可以參考Jason之前寫過的這兩篇:
【機器學習】聚類分析K-meansClustering
【機器學習】基於密度的聚類演算法DBSCAN
除了監督式學習與非監督式學習,另外還有一個介於有跟沒有之間的:
半監督式學習 Semi-supervised Learning
今天要處理一個相同的任務,通常監督式學習演算法的效果都會優於非監督式學習,只是監督式學習會需要我們提供它一個標籤,如在X光照片中圈選出病變所在的位置。
但是對於大量的資料進行標註是一件非常耗時費工的事,且某些資料的標註是需要仰賴高度專業的,如前面提及的在 X光照片中圈選病變所在位置,這就會需要一位(或數位)訓練有素且經驗豐富的醫師來做,而這就容易導致我們很難對全部的訓練資料進行標記。
為了因應這種狀況,於是半監督式學習就被提了出來,它不需要對全部的資料進行標記,只須標註其中的一部分,就能取得還不錯的成效,通常會優於非監督式學習的方法,但可能不及監督式學習。
最後,有別於上述的三種學習方式,還有一種方法稱作:
強化式學習 ReinforcementLearning
中文也有人翻作「增強式學習」,它的學習方式有別於上面介紹的那三種學習方式,不論是監督式學習、半監督式學習、非監督式學習,你的AImodel都是基於資料集(dataset)來進行學習,而強化式學習則是你會有一個模擬環境(e.g.股票模擬程式),然後撰寫一支AI程式(此處稱作Agent),你的AI程式會基於對環境的一些觀察(e.g.交易量、股價的漲跌 ),做出一些動作(e.g.買賣股票),接著系統會反饋給你的AI程式一個獎勵(e.g.最後賺錢了還是賠錢),然後一開始你的AI程式一定是笨笨的亂買亂賣,虧了一屁股,但是Agent會根據它得到的Reward再回頭慢慢的修整自己的買賣策略,最後經過成千上萬次的模擬訓練之後,它可能就會學會一個還不錯的買賣策略。
如下示意圖:
Ok,那寫到這邊已經把什麼是機器學習以及機器該如何學習都簡單介紹過一遍了!
如果在看完本篇之後,對於「人工智慧」、「機器學習」、「深度學習」的東西感興趣,並想自己動手寫些程式來玩玩的話,可以再繼續閱讀Jason寫的這兩篇:
【開發工具】免費在雲端上玩轉深度學習-GoogleColab
【深度學習】HelloDeepLearning!使用DNN實作MNIST
感謝收看,如果你碰巧也是一名Liker的話,歡迎幫我拍手,鼓勵我持續寫作:")
0評論
發表回覆。
JasonChen
如果說懷才就像懷孕,時間久了才能讓人看出來。
那麼還有另一個相似的點就是..在開花結果之前,都要先給人幹到不要不要的Q_Q
文章分類
全部
介紹
分享
加密貨幣Cryptocurrency
影像處理DIP
教學
消息
演算法Algorithm
物聯網IoT
資料科學DataScience
遊戲Game
閒聊
封存檔
三月2022
六月2021
五月2021
四月2021
三月2021
二月2021
一月2021
十二月2020
十一月2020
十月2020
九月2020
八月2020
七月2020
四月2020
三月2020
二月2020
一月2020
十一月2019
十月2019
九月2019
八月2019
七月2019
六月2019
五月2019
四月2019
三月2019
二月2019
一月2019
十二月2018
十一月2018
十月2018
九月2018
八月2018
七月2018
六月2018
五月2018
四月2018
三月2018
二月2018
一月2018
十二月2017
十一月2017
十月2017
十二月1992
RSS訂閱
提供者
使用自訂式範本建立您的專屬獨特網站。
開始吧
延伸文章資訊
- 1機器學習(Machine Learning) -入門觀念 - iT 邦幫忙
機器學習(Machine Learning) -入門觀念. AI無法一步登天,讓我們先從專 ... 這也是為什麼AI、機器學習,這領域,始終給人很大距離感的原因。(相比之下,Big Data真是...
- 2適合初學者閱讀的7 本機器學習優良書籍 - Tableau
不需要任何數學背景,也不需要程式設計經驗,對任何有興趣要瞭解機器學習的人而言,這確實是最基本的入門書。 其中特別強調「普通」語言,目的是避免初學者因面對大量技術 ...
- 3在家從零自學沒問題!22 歲數據工程師大推3 本必看的機器 ...
(本文經AI 新媒體量子位授權轉載,並同意TechOrange 編寫導讀與修訂標題,原文標題為〈95后数据科学家教你从零自学机器学习,这有3本入门必看书籍〉,首 ...
- 4Python 資料分析&機器學習入門- 線上教學課程- Hahow 好學校
Python 機器學習與資料分析入門課程,學習使用Python 進行數據分析與資料分析,利用數據來增加營收,並透過機器學習來幫助組織未來的商業決策,最後帶你實際參與Kaggle ...
- 5台灣大學資訊系統訓練班
Python機器學習入門. AI 已經進入到不同產業,不論在電子、金融、資訊、醫療、零售、通訊、交通、物流等領域,您都可能透過機器學習(Machine Learning)解決過去難以 ...