iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
AI & Data

Deep Learning 從零開始到放棄的 30 天 PyTorch 數字辨識模型系列 第 3

Day-02 機器學習的介紹

  • 昨天我們已經聊過了整個機器學習的大概念了,也知道深度學習和機器學習之間的關係,因此我們在這裡先好好理解機器學習的世界中,有哪些應該了解的,然後在之後的課程,我們再延伸到利用深度學習的方式來解決機器學習的問題

機器學習的核心

  • 那我們在這邊先釐清我們到底要怎麼做到機器學習這件事情
  • 我們說過了,我們不再是自己撰寫規則,而是希望機器基於資料和答案推論一個
  • 所以概念上我們需要提供一堆 function 來請機器判斷哪個比較好,而這一堆 function 我們會稱為 function set,或是 Model,然後基於 Data 我們來判斷哪個 function 最好,最後,輸出找到的最好的 function
  • 畫成流程圖會變成

  • 所以其實概念不難,也就是三個步驟而已,當然這樣的說法真的非常攏統,因此後面還是要好好解釋到底要怎麼做來達到這樣三個步驟

機器學習世界

  • 那一樣,我們說過機器學習其實是一種在 AI 領域中的手段,希望利用資料和答案來延伸出判斷規則
  • 那在機器學習的領域之中,其實有不同的種類的,讓我們大致上聊過他們

機器學習的種類

  • 機器學習依照目標、和資料狀況有可以大致分類成
    • 依照目標可分成
      • Regression(預測)
      • Classification(分類)
    • 依照資料有無答案
      • Superviesed Learning(監督式學習)
      • Unsuperviesed Learning(非監督式學習)
      • Reinforcement Learning(強化學習)

概述 -- Tasks of Learning

  • Regression(預測)
    • 模型輸出的是一個數值

    例如:氣象預報,我們有今天的天氣狀況數值,然後希望幫忙推斷明天會不會下雨

  • Classification(分類)
    • 模型輸出的是一個分類的答案

    例如:今天有一個 Binary Classification(二元分類器),那對於這個分類器他的回答就會是 Yes or No

概述 -- Types of Learning

  • Supervised Learning(監督式學習)
    • Training data with output labels

      給你答案,讓你學習,分類

  • Unsupervised Learning(非監督式學習)
    • Training data without output labels

      想辦法把相似的集合在一起

  • Reinforcement Learning(強化學習)
    • Training 當下沒有給答案,但是會在事後告訴他他的回答是好的還是不好的,也就是一種混合的概念,這邊暫時沒有要詳細說明這個部分

機器學習的核心 -- DataSet(資料集)

  • 那從上面和昨天關於機器學習的敘述,我們其實可以發現不管怎樣類型的問題,機器學習的核心都是利用 Data + Answer 來回推 Rules 來進一步做後續的判斷
  • 所以關於判斷事物的資料就變得非常重要了,因為這些資料會決定了機器學習過程中對於資料的理解狀況,甚至影響之後的判斷結果
    • 舉個例子來說,如果有個人生活環境說的貓都是無毛貓,然後在他的認知中已經覺得貓咪都一定沒有毛,所以有毛的貓咪他一定不會覺得他是一隻貓,同樣的道理,如果今天讓機器判斷的資料本身就有偏頗和錯誤,連人都會有錯誤的理解了,何況是機器

Dataset

  • 資料集的定義
    • a collection of data examples and their attributes

      一堆收集的例子和他們的屬性/特徵

機器學習各個階段

  • 那有資料了,有目標了,機器學習也跟人一樣,需要先學習,那我們要怎麼檢查學習的好不好呢?就是給個考試。
  • 所以機器學習是有分成兩個階段的,一個階段是 Training,一個階段是 Testing。
  • 所以概念上我們會準備兩份完全獨立的資料,一份拿去做訓練,另一份拿去做測試

Training Stage

  • Training 階段就是拿我們準備的好的資料,丟給模型做訓練,然後一樣輸出一個結果,只是這個階段的結果是用來修正訓練過程中我們希望學習的參數的部分

Testing Stage

  • Testing 階段則是拿全新在訓練過程中沒看過的資料,拿來做輸出檢查

  • 換句話說,我們可以想像成 Training 階段就是小時候我們做的習題本,裡面一樣會有題目答案,但是我們是拿來學習的,而 Testing 則像是大考的考卷

每日小結

  • 在這裡我們已經知道機器學習的領域其實非常多東西,那雖然我們這系列一直強調是深度學習,但是由於很多基本概念是必須先知道的,因此前面我們還是會把該介紹的部分介紹清楚,例如基本的訓練概念,還有這邊提到的資料狀況,跟整個機器學習的世界中的分類
  • 在這邊先說明,我們有提到深度學習是機器學習中的一種方式,因此不管是預測問題還是分類問題,都有深度學習的解法,因此我們還是需要對這些不同的問題有基本的概念
  • 明天我們先利用 Linear Regression(線性預測)來介紹 Regression 和機器學習的運作方式吧~

上一篇
Day-01 深度學習是什麼?
下一篇
Day-03 Regression & Gradient Descent 介紹
系列文
Deep Learning 從零開始到放棄的 30 天 PyTorch 數字辨識模型31

尚未有邦友留言

立即登入留言