--- title: 何謂機器學習 tags: ML --- :::warning 這系列的學習筆記是我在看李宏毅教授的機器學習課程所整理的筆記,如果想看教授的講課的話,可以去<a href = "https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php">這裡</a>觀看。 下面的筆記是我的心血,請勿擅自翻印盜用喔。 ::: ### 機器學習? --- > 機器學習:讓機器找一個函式 > - Midjourney: > sentence -> f(x) -> image 根據函式輸出來分類: - 迴歸(regression) 函式輸出是一個數值 - [ ] predecit pm2.5 ![](https://hackmd.io/_uploads/BkZzmXZF2.png) - 分類(Classification)函式輸出是一個類別,讓機器做選擇題 - [ ] gmail判定郵件是否是垃圾郵件 :::danger 現在似乎有第三種!? ::: #### Structure Learning > 生成有結構的物件,即是生成式學習(Generative Learning) --- :::info ChatGPT實際做: 文字接龍(判斷要接什麼字):選擇題,選項是所有的字 -> 分類 ::: :::success 使用者感受: 輸入句子->回應句子 : 生成式學習! ::: 其實GPT的實作上是把生成式學習拆成多個分類問題! ### 找函式! --- ::: danger 前置作業:決定要找什麼函數!(目標) ::: ``` mermaid graph LR; 設定範圍-->設定標準 設定標準-->達成目標 ``` 1. 設定範圍:訂出候選函式的集合(==Model==) - CNN、RNN ... 就是不同候選函數的集合 2. 設定範圍:訂出評量函式好壞的標準 - **supervised learning** : 做資料標注,對所有訓練資料先標記預期輸出 - **semi supervised learning**:對部分訓練資料標記預期輸出 - **loss function** 評量model的好壞標準 - 對於有標準答案的資料,輸出預測值與答案的距離 - 對於沒有標記過的資料,輸出距離正解+其他相似資料的差距(可以自訂) - 如何框到好的function? - L(f) 好,但測試不好 (硬記答案) -> 不要框入這個函式 - 當訓練資料少常出現這種函式 - eg. CNN的畫的函式範圍小(適合資料少),fully connected畫的範圍大 ![](https://hackmd.io/_uploads/rkicxwzFn.png) 3. 達成目標: 找出最好的函式 -> **最佳化(optimization)** - 將函式集合的每個函式丟進去**loss function**,看哪個最小(基本上無法) - 用不同演算法去找出最好的function - gradient Decent (Adam, AdamW ... ), Genetic Algorithm(基因演算法)... - ![](https://hackmd.io/_uploads/HJMphIMKn.png) - 設定optimization algorithm的hyper parameter: learning rate, Batch size ... :::warning 資料來源:https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php 以上便是關於機器學習的簡單筆記,如果覺得我有幫助到你,可以給我讚賞並收藏這篇文章,我會很開心的~ 有空的話也可以到下面的網站晃晃 :heart_eyes_cat: * [我的網站](https://www.csie.ntu.edu.tw/~b10507008/Laurence/public_html/) * [我的學習blog](https://laurencecslearning.blogspot.com/) [<<上一篇---機器學習筆記](https://hackmd.io/@LaurenceShen/mlnote) [下一篇---機器學習筆記week1-2:生成式學習的策略>>](https://hackmd.io/@LaurenceShen/strategyofgenerativeAI) :::