李巨集毅機器學習課程筆記-1.機器學習概論
阿新 • • 發佈:2020-12-22
# 機器學習是什麼
**機器學習就是讓機器能自動找到一個函式(function)**
- 語音識別(Speech Recognition)
輸入是音訊,輸出是音訊對應的文字。
- 影象分類
輸入是圖片,輸出是類別(比如貓、狗)。
- AlphaGo下圍棋
輸入是當前棋盤的狀態,輸出是下一步落棋的位置。
- 對話/問答系統
# 機器能夠找到哪些函式?
為解決不同的問題、完成不同的任務,需要找到不同的函式,那機器學習能找到哪些函式呢?
- 迴歸(Regression)
輸出是一個連續的數值、標量,比如PM2.5預測。
- 分類(Classification)
輸出是一個離散的值。
二分類(Binary Classification)的輸出就是0或1、Yes或No、…,比如文字情感分析的輸出可以是正面和負面。
多分類(Multi-Category Classification)的輸出就是[1,2,3,...,N],比如影象分類裡判斷一張圖片是貓還是狗還是杯子。
- 生成(Generation)
很多教科書把機器學習劃分為迴歸問題和分類問題,但其實不止這兩種問題,還有其它問題,比如生成(Generation)。
生成(Generation)指讓機器學習如何創造/生成,比如生成文字、圖片等。
# 如何告訴機器我們希望找到什麼函式
我們該如何為機器提供學習資料?
- 有監督學習(Supervised Learning)
可以把有監督學習中的“監督”理解為“標籤(Label)”,即資料集中不僅包括特徵還包括標籤。
有了標籤,我們就可以評價一個函式的好壞,進而優化這個函式。
使用Loss判斷函式的好壞,Loss越小,函式越好。**個人想法:值得一提的是,Loss/評價指標是多樣的、優化方法也是多樣的。**
- 強化學習(Reinforcement Learning)
原始的AlpahGo是先通過有監督學習優化到一定程度,然後用強化學習繼續優化。
新版本的AlphaGo是完全通過強化學習實現的,優於原始的AlphaGo。
- 無監督學習(Unsupervised Learning)
只給機器提供資料特徵,但不提供資料標籤。==那機器能學到什麼呢?==
下面以讓機器學習下圍棋為例:有監督學習VS強化學習。
- 有監督學習
函式的輸入(資料特徵)就是棋盤狀態,函式的輸出(資料標籤)就是下一步落棋的位置。
此時,我們需要為機器提供的資料就類似棋譜(如果現在棋局是這樣,那下一步怎麼落棋最好),**但其實人類不一定知道怎麼落棋最好**。
**個人想法:理論上,通過這樣的有監督學習,機器是無法超越人類的。因為這樣的有監督學習的本質是人類把自己的下棋策略教給機器,機器學習的內容僅僅是人類的下棋策略而無法“自主進行思考”,所以理論上機器是無法超越人類的。同時要注意,這裡的人類指全人類。**
- 強化學習
讓機器跟自己、別人下棋,把結果(贏或輸)作為Reward,引導機器學習如何下棋。
如果它贏了,那它就知道這一盤裡有幾步棋下得好,但不知道是哪幾步;如果它輸了,它就知道這一盤裡有幾步棋下得不好,但不知道是哪幾步。
**個人想法:理論上,通過這樣的強化學習,機器是可以超過人類的。因為兩者的學習材料沒有本質區別,但機器的機能卻優於人類,這裡講的機能包括資訊共享能力、記憶能力、執行能力等方面**
# 機器如何找出我們想找到的函式
- 我們要給定函式形式/範圍(模型)
比如假定函式是線性模型、神經網路等等。**模型就是一個函式集,模型的引數確定以後,才得到一個函式。**
- 找到更好的函式:
使用梯度下降(Gradient Descent),找到更好的函式。
# 前沿研究
- AI的可解釋性(Explainable AI)
比如,機器為什麼認為這張圖片裡有一隻貓?
- 對抗攻擊(Adversarial Attack)
對輸入故意新增一些人無法察覺的細微的干擾,導致模型以高置信度給出一個錯誤的輸出。
- 模型壓縮(Network Compression)
把模型壓縮以減少模型對計算資源消耗。
- 異常檢測(Anomaly Detection)
使機器知道它遇到了自己不知道的東西。
- 遷移學習(Transfer Learning/Domain Adversarial Learning)
一個模型已經學到了一些知識,將這些知識應用到另一個任務中。
- 元學習(Meta Learning)
讓機器學習如何學習。
機器學習是我們教機器學習某種知識,元學習是我們教機器如何學習。
- 終身學習(Life-Long Learning)
讓機器終身學習,學習完任務1、再繼續學任務2、……
# 機器學習的三個步驟
1. 確定模型(Model)/函式集(Function Set)
2. 確定如何評價函式的好壞
3. 確定如何找到最好的函式
---
Github(github.com):[@chouxianyu](https://github.com/chouxianyu)
Github Pages(github.io):[@臭鹹魚](https://chouxianyu.github.io/)
知乎(zhihu.com):[@臭鹹魚](https://www.zhihu.com/people/chouxianyu0)
部落格園(cnblogs.com):[@臭鹹魚](https://www.cnblogs.com/chouxianyu/)
B站(bilibili.com):[@絕版臭鹹魚](https://space.bilibili.com/346368054)
微信公眾號(WeChat Official Accounts):[@臭鹹魚的快樂生活]()
轉載請註明出處,歡迎討論和交