李宏毅機器學習課程筆記-1.機器學習概論

機器學習是什麼

機器學習就是讓機器能自動找到一個函數(function)git

  • 語音識別(Speech Recognition)github

    輸入是音頻,輸出是音頻對應的文字。微信

  • 圖像分類網絡

    輸入是圖片,輸出是類別(好比貓、狗)。機器學習

  • AlphaGo下圍棋函數

    輸入是當前棋盤的狀態,輸出是下一步落棋的位置。學習

  • 對話/問答系統優化

機器可以找到哪些函數?

爲解決不一樣的問題、完成不一樣的任務,須要找到不一樣的函數,那機器學習能找到哪些函數呢?spa

  • 迴歸(Regression)blog

    輸出是一個連續的數值、標量,好比PM2.5預測。

  • 分類(Classification)

    輸出是一個離散的值。

    二分類(Binary Classification)的輸出就是0或一、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. 肯定模型(Model)/函數集(Function Set)
  2. 肯定如何評價函數的好壞
  3. 肯定如何找到最好的函數

Github(github.com):@chouxianyu

Github Pages(github.io):@臭鹹魚

知乎(zhihu.com):@臭鹹魚

博客園(cnblogs.com):@臭鹹魚

B站(bilibili.com):@絕版臭鹹魚

微信公衆號(WeChat Official Accounts):@臭鹹魚的快樂生活

轉載請註明出處,歡迎討論和交流!

相關文章
相關標籤/搜索