Re: 從“零”開始的機器學習生活

小杰今年已經大二了,剛剛在寒假前找了學校導師,希望跟着老師做一些研究以增加經驗。而我本身對這個方面基本是一無所知狀態,所以讓我們從“零”來開始學習吧!

⊙﹏⊙‖∣°,首先,這裏放一張機器學習的框架圖(PS:網上看了好多,覺得這個算比較全的)。

圖片來自:https://blog.csdn.net/z4909801/article/details/78324459

首先,什麼是機器學習?Machine learning其實是一個非常廣的概念,包括幾年前的阿爾法Go,阿里的商品推薦系統,人臉識別等。都可以劃分爲人工智能領域。MIT的一位教授這樣解釋機器學習的概念:相較於傳統的編程,機器僅執行程序並輸出結果,機器學習可以在沒有被明確詳細地編程的情況下完成一個任務。如圖:

                       

傳統編程所需要的,只是數據和被明確編程的程序,計算機依據程序輸出結果。而機器學習則是通過獲取輸入已知的數據和結果來輸出獲得算法模型(程序),而獲得的程序可以用來處理其他數據並獲得結果,因此構成一個循環。

下面來說一下學習分類,大體上是分爲有監督、無監督、半監督和強化學習四類。

                              

       

     1.     有監督學習

在有監督學習下,輸入數據被稱爲“訓練數據”,每組訓練數據有一個明確的標識或結果,如對防垃圾郵件系統中“垃圾郵件”“非垃圾郵件”,對手寫數字識別中的“1“,”2“,”3“,”4“等。在建立預測模型的時候,監督式學習建立一個學習過程,將預測結果與“訓練數據”的實際結果進行比較,不斷的調整預測模型,直到模型的預測結果達到一個預期的準確率。監督式學習的常見應用場景如分類問題和迴歸問題。常見算法有邏輯迴歸(Logistic Regression)和反向傳遞神經網絡(Back Propagation Neural Network)。

     2.     無監督學習

 在非監督式學習中,數據並不被特別標識,學習模型是爲了推斷出數據的一些內在結構。常見的應用場景包括關聯規則的學習以及聚類等。常見算法包括Apriori算法以及k-Means算法。

     3.     半監督學習

在此學習方式下,輸入數據部分被標識,部分沒有被標識,這種學習模型可以用來進行預測,但是模型首先需要學習數據的內在結構以便合理的組織數據來進行預測。應用場景包括分類和迴歸,算法包括一些對常用監督式學習算法的延伸,這些算法首先試圖對未標識數據進行建模,在此基礎上再對標識的數據進行預測。如圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(Laplacian SVM.)等。

     4.     強化學習

在這種學習模式下,輸入數據作爲對模型的反饋,不像監督模型那樣,輸入數據僅僅是作爲一個檢查模型對錯的方式,在強化學習下,輸入數據直接反饋到模型,模型必須對此立刻作出調整。常見的應用場景包括動態系統以及機器人控制等。常見算法包括Q-Learning以及時間差學習(Temporal difference learning)

在機器學習中,目前應用的用於處理數據最多的是有監督和無監督學習,我也將就此重點學習。

這裏推薦幾個比較好的入門課程:

1.吳恩達的機器學習相關課程,雖然年份很早但是很經典,在bilibili、Coursera、Youtube上都可以找到。網易雲上的帶中文字幕

https://study.163.com/course/courseLearn.htm?courseId=1004570029#/learn/video?lessonId=1049050791&courseId=1004570029

2.MIT的機器學習系列公開課。https://www.youtube.com/watch?v=h0e2HAPTGF4&t=583s

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章