快速瞭解機器學習基本原理

更新於 2023/06/02閱讀時間約 6 分鐘

說明:

這文章其實也是李宏毅老師 2023 年機器學習課程的個人一些學習整理,李老師上課的內容&口吻很精彩,很建議大家直接看李老師的課程影片: 完整的所有課程在這裏

機器學習是什麼

傳統的程式設計與機器學習的方法大有不同。前者需要程式設計人員深入了解特定領域的問題和規則,再基於這些知識來編寫程式。相對之下,機器學習的核心理念則是讓機器自行尋找並應用適當的函式來解決我們面臨的問題。
例如,當我們向ChatGPT輸入一段文字時,該系統的任務就是預測出應該如何回應。再例如Midjourney,我們只需輸入一段描述,它就能生成一張對應的照片。而2016年風靡一時的AlphaGo也是機器學習的一個出色應用例子,它能根據當前的棋盤狀況來決定下一步的棋路。
雖然機器學習有著眾多的應用,但其主要任務可以被分為兩類:迴歸和分類。
迴歸問題,簡單來說,就是在給定一些條件後,系統需要輸出一個具體的"數值"。例如,我們可以設計一個PM2.5預測器,透過輸入與PM2.5相關的各種條件,來預測明天的PM2.5指數。
分類問題則相對直觀,它的輸出是一個"類別",就像是我們在考試時遇到的選擇題或是非題。以垃圾郵件的判斷為例,我們輸入一份電子郵件的資料,然後系統評估它是否為垃圾郵件
然後我們來看看ChatGPT
從實際操作來看,ChatGPT的輸出實際上屬於分類問題。即使它輸出的是一段完整的文字,但如果我們將它分解開來看,它其實是在所有可能的字詞中選擇出最可能的一個(也就是從眾多的類別中選出一類),然後依次輸出。而這種輸出有結構性的文字的方式,也被稱為生成式學習。
生成式學習其實也叫 Structured Learning,它的任務就是使用機器學習來產生有結構的東西,例如文字、影像甚至聲音,ChatGPT 以及 Midjourney 都是這類的應用。

找出函式的三階段

在正式開始機器學習的函式尋找之前,我們首先需要確定我們的問題屬於迴歸問題還是分類問題。
以寶可夢應用為例,假設你要設計的程式是輸入一個寶可夢並預測其攻擊力,這個問題就屬於迴歸問題,因為攻擊力是一個數值。如果你要開發的程式是輸入一張圖片後,判斷這是否為寶可夢,那麼這就是分類問題。
對你要解決的問題有了基本認識之後,你才能在接下來的"選擇範圍"步驟中選擇正確的路徑。
正式尋找我們的適合函式時,基本上可以將這個過程分為三個階段:設定範圍、設定標準、達成目標。下面是這三大階段的工作細節::

設定範圍階段

這一步主要是選擇使用的神經網絡結構。
全世界的函式種類無窮多,但解決我們問題的合理函式只佔其中一部分範圍。你選擇的神經網絡結構,本質上就是在劃定你認為可能的函式範圍。選擇好你想使用的神經網路結構後,就可以開始下一步,也就是"設定標準"。

設定標準階段

"設定標準"就是定義出一個評量函式好壞的標準,即損失函式(Loss函式)。這個函式能夠計算出我們預測函式與實際狀況的誤差值。以下是一個完整的計算過程例子。
首先,我們需要有一個人工標註資料,並將這些標註作為標準答案。例如,標註人員標記出寶可夢的真實攻擊力為103, 17, 和212。
然後,我們使用預測函式來進行預測。假設我們的預測函式預測出的攻擊力為101, 18, 和200。
最後,我們可以將實際值與預測值相減,計算出每筆資料的誤差值。然後將所有的誤差值總和,這個總和的誤差值就被用來評量我們的函式的好壞(誤差值越小越好)。例如:(103-101) + (18-17) + (212-200) = 15。
另外實務上損失函數可以有多種計算模式,這部分則超過了我們設定檔範圍就不在此說明。
由於所有的評量資料都需要人工標註,所以這種方法也被稱為監督學習(Supervised Learning)。

達成目標階段

在設計標準階段,我們已經確認並理解了損失函式(Loss Function)的計算內涵。而在這一階段的最後,我們需要運用一種方法,透過我們所選定的損失函式,從眾多的候選函式中尋找出最佳的預測模型——這就是我們所謂的「最佳化」。
例如,在我們的候選函式中,我們有 f1, f2, f3 三種函式。假設 f1 預測函式所計算出的誤差值為 5, f2 為 33,而 f3 為 11。從這個例子我們可以看出,根據損失函式的計算,f1 是最佳的選擇。
以上是我們對於"最佳化"的簡化說明。若想深入了解最佳化的方法,這裡有兩個重要的關鍵字可以作為你的學習導引,分別是"梯度下降法(Gradient Descent)"和"反向傳播法(Backpropagation)"。

訓練以及測試

在實務應用中的機器學習訓練,我們通常會將資料劃分為訓練資料和測試資料。訓練資料用於訓練模型,而測試資料則用於在我們找到最好的預測函式後,來驗證我們找到的最佳預測函式是否真的優秀。
為什麼我們訓練出的預測函式,在我們的測試資料上表現不一定會是最好的呢?
這種現象其實很像一個只是很會背書的學生他的情況。他對於看過的題目都能回答得很好,但是一旦遇到新的題目,他可能並沒有真正理解問題的本質,因此回答可能會變得混亂。

總結

在這裡,我們總結了上述的機器學習流程。機器學習實際上是一種使用特定函式來實現我們期望任務的方法。在確定應用哪個函式時,我們可以將其分成三個階段來考慮:設定範圍、確立標準,以及實現目標。每個階段都有許多策略可供選擇。
例如,在設定範圍的階段,我們可以選擇使用深度學習或決策樹等方法;在確立標準的階段,我們可以選擇採用監督式學習、半監督式學習或增強式學習等策略;至於在實現目標的階段,我們則會尋找最佳化的方案,例如梯度下降法或遺傳演算法等方法。
整體而言,這三個階段所要達成的任務,即是本文所述的核心概念。希望這篇文章能幫助大家更深入理解機器學習的運作原理。

備註一、
我們這篇文章內的圖表都是由李宏毅老師的課程投影片中選錄截取出來的,原始投影片可參考李老師課程首頁內連接: Machine Learning 2023 Spring

很感謝李宏毅老師同意使用。
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
18會員
19內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Ted Chen的沙龍 的其他內容
這篇文章揭示了訓練GPT模型的三個核心技術:預訓練、微調及增強式學習。預訓練利用大量網路資料提供基礎能力;微調讓GPT更貼近人類思維偏好;增強式學習最終優化模型回答問題的方式。此外,多語言預訓練能讓GPT在一語言的任務學習後,自動掌握其他語言的同樣任務。
這篇文章介紹了ChatGPT,一種大型的語言模型,能以自然語言回答問題,但不透過搜尋罐頭文字或網路內容。其核心技術是自監督式學習,通過大量的網路資料進行訓練,讓模型能進行文字接龍。儘管GPT系列經歷了多次演進,並需用大量的訓練資料,它的問答能力仍有待提升。然而,透過不斷優化,我們已有了更進一步的版本
由于 ChatGPT 的出現讓我們看到了聊天機器人的新可能性,我們這篇文章的目的,就是要來製作第一個屬於自己的聊天機器人。 我們先來準備範例的程式碼,並且稍後會再跟大家介紹要設計自己的 ChatGPT 聊天機器人的重要概念。 初始專案與環境設定 下載程式碼 請先使用下面這一段指令下載我們的範例程式碼
這篇其實就是 Andrew Ng 大大與 OpenAI 合作的一門免費課程【Chatgpt Prompt Engineering For Developers - Guideline】章節的第二段筆記。很建議大家直接看原本的課程影片,內容蠻淺顯易懂的。 第一段筆記在這:開發者的 ChatGPT 提示
這篇其實就是 Andrew Ng 大大與 OpenAI 合作的一門免費課程【Chatgpt Prompt Engineering For Developers】的筆記。很建議大家直接看原本的課程影片,內容蠻淺顯易懂的。 另外因為篇幅有限,所以我們會將他的第一堂課的內容(Guidelines),拆分成
在正式以比較技術面角度來認識 ChatGPT / GPT 之前,我們先用幾個簡單的例子來認識 ChatGPT 以及語言模型可以做到怎樣的事情。 什麼是 ChatGPT? 簡單來說明,ChatGPT 是一個背後使用 GPT 語言模型的對話機器人,而它可以做什麼事情了?我們先來使用幾個常見的語言相關的任
這篇文章揭示了訓練GPT模型的三個核心技術:預訓練、微調及增強式學習。預訓練利用大量網路資料提供基礎能力;微調讓GPT更貼近人類思維偏好;增強式學習最終優化模型回答問題的方式。此外,多語言預訓練能讓GPT在一語言的任務學習後,自動掌握其他語言的同樣任務。
這篇文章介紹了ChatGPT,一種大型的語言模型,能以自然語言回答問題,但不透過搜尋罐頭文字或網路內容。其核心技術是自監督式學習,通過大量的網路資料進行訓練,讓模型能進行文字接龍。儘管GPT系列經歷了多次演進,並需用大量的訓練資料,它的問答能力仍有待提升。然而,透過不斷優化,我們已有了更進一步的版本
由于 ChatGPT 的出現讓我們看到了聊天機器人的新可能性,我們這篇文章的目的,就是要來製作第一個屬於自己的聊天機器人。 我們先來準備範例的程式碼,並且稍後會再跟大家介紹要設計自己的 ChatGPT 聊天機器人的重要概念。 初始專案與環境設定 下載程式碼 請先使用下面這一段指令下載我們的範例程式碼
這篇其實就是 Andrew Ng 大大與 OpenAI 合作的一門免費課程【Chatgpt Prompt Engineering For Developers - Guideline】章節的第二段筆記。很建議大家直接看原本的課程影片,內容蠻淺顯易懂的。 第一段筆記在這:開發者的 ChatGPT 提示
這篇其實就是 Andrew Ng 大大與 OpenAI 合作的一門免費課程【Chatgpt Prompt Engineering For Developers】的筆記。很建議大家直接看原本的課程影片,內容蠻淺顯易懂的。 另外因為篇幅有限,所以我們會將他的第一堂課的內容(Guidelines),拆分成
在正式以比較技術面角度來認識 ChatGPT / GPT 之前,我們先用幾個簡單的例子來認識 ChatGPT 以及語言模型可以做到怎樣的事情。 什麼是 ChatGPT? 簡單來說明,ChatGPT 是一個背後使用 GPT 語言模型的對話機器人,而它可以做什麼事情了?我們先來使用幾個常見的語言相關的任
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Dcard網友提出了一個求救,想要把原始資料根據日期跟代號分組後再進行加總,這個需求使用樞紐就能快速解決了,如果EXCEL是365的話,其實有一個新函數GROUPBY也是超級方便的🤩 365函數GROUPBY介紹 ✍🏾GROUPBY將資料依據指定運算進行摘要 函數說明=
Thumbnail
Akool 的換臉 FaceSwap 工具,只需要動動手指,就可以在短時間內完成圖像或影片的換臉操作,並生成出高質量的結果。
Thumbnail
在工作中,我們常常需要處理大量的資料,而表格是整理資料最有效的方式之一。然而,如果資料原本是文字格式,就需要先將其轉換成表格,才能進行後續的操作。將文字轉換成表格,可以讓資料更加清晰易讀,也方便進行整理和分析。
Thumbnail
沒人喜歡 維運工作通常被視為乏味和重複性高的工作,缺乏創造性和挑戰性,因此很難吸引人的興趣。這些任務可能包括每天的監控、故障排除、軟體更新、備份管理等,對許多人來說,這些工作可能變得單調且毫無樂趣。 那些繁雜的工作 系統維運是很多細節要注意的,是很繁瑣的。這包括確保系統的穩定運行,修復潛在的問
Thumbnail
有一個資料,裡面包含了編號與姓名,但是很多內容都塞在同一個儲存格內,如果要把這些資料全部整理成一欄,那該怎麼做呢? 如果用土法煉鋼的方式,慢慢一個一個複製貼上,肯定需要貼超久的!! 其實EXCEL中有一個內建功能"左右對齊",一秒就取代這些複製貼上的動作了!! 也可以到YT看有字幕跟語
Thumbnail
菲律賓語言學校文章目錄 台灣的英文教育學習模式 菲律賓語言學校每日生活作息 菲律賓語言學校課程:一對一英文 菲律賓語言學校課程:團體課 菲律賓語言學校課程後自習時間 菲律賓語言學校課程選修及學校設備 想更細部了解>>✅點擊直接線上LINE諮詢 — 台灣的英文教育學習模式 📷
Thumbnail
在這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課。
Thumbnail
交易的媒介:貨幣的演變 經濟學是一門聽起來很複雜的學科,但隨時隨地出現並影響我們日常。 大家有想過貨幣的價值是誰賦予的嗎? 看到這裡,大家可以先花個一分鐘思考一下貨幣的價值從何而來?是誰給予的呢? 以上這段資料出自於維基百科Iraqi Swiss dinar,不是貝瑞大叔自己唬爛!
Thumbnail
Solana介紹 以太坊殺手 Solana介紹 作為以太坊區塊鏈體系的競爭者,「 以太坊殺手 」Solana(SOL), 是一個開源項目,它實現了一個新的、高性能的、無需許可的區塊鏈。 
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
Dcard網友提出了一個求救,想要把原始資料根據日期跟代號分組後再進行加總,這個需求使用樞紐就能快速解決了,如果EXCEL是365的話,其實有一個新函數GROUPBY也是超級方便的🤩 365函數GROUPBY介紹 ✍🏾GROUPBY將資料依據指定運算進行摘要 函數說明=
Thumbnail
Akool 的換臉 FaceSwap 工具,只需要動動手指,就可以在短時間內完成圖像或影片的換臉操作,並生成出高質量的結果。
Thumbnail
在工作中,我們常常需要處理大量的資料,而表格是整理資料最有效的方式之一。然而,如果資料原本是文字格式,就需要先將其轉換成表格,才能進行後續的操作。將文字轉換成表格,可以讓資料更加清晰易讀,也方便進行整理和分析。
Thumbnail
沒人喜歡 維運工作通常被視為乏味和重複性高的工作,缺乏創造性和挑戰性,因此很難吸引人的興趣。這些任務可能包括每天的監控、故障排除、軟體更新、備份管理等,對許多人來說,這些工作可能變得單調且毫無樂趣。 那些繁雜的工作 系統維運是很多細節要注意的,是很繁瑣的。這包括確保系統的穩定運行,修復潛在的問
Thumbnail
有一個資料,裡面包含了編號與姓名,但是很多內容都塞在同一個儲存格內,如果要把這些資料全部整理成一欄,那該怎麼做呢? 如果用土法煉鋼的方式,慢慢一個一個複製貼上,肯定需要貼超久的!! 其實EXCEL中有一個內建功能"左右對齊",一秒就取代這些複製貼上的動作了!! 也可以到YT看有字幕跟語
Thumbnail
菲律賓語言學校文章目錄 台灣的英文教育學習模式 菲律賓語言學校每日生活作息 菲律賓語言學校課程:一對一英文 菲律賓語言學校課程:團體課 菲律賓語言學校課程後自習時間 菲律賓語言學校課程選修及學校設備 想更細部了解>>✅點擊直接線上LINE諮詢 — 台灣的英文教育學習模式 📷
Thumbnail
在這篇文章中,我們會提到 EIP 是甚麼,它的種類有哪些,還有所謂的 ERC 的代幣協議是甚麼,如果你也是想要透過寫程式的方式,在以太坊兼容的區塊鏈上發行自己的代幣或是 NFT 的話,那麼大致上瞭解 EIP 與 ERC 就會是需要的功課。
Thumbnail
交易的媒介:貨幣的演變 經濟學是一門聽起來很複雜的學科,但隨時隨地出現並影響我們日常。 大家有想過貨幣的價值是誰賦予的嗎? 看到這裡,大家可以先花個一分鐘思考一下貨幣的價值從何而來?是誰給予的呢? 以上這段資料出自於維基百科Iraqi Swiss dinar,不是貝瑞大叔自己唬爛!
Thumbnail
Solana介紹 以太坊殺手 Solana介紹 作為以太坊區塊鏈體系的競爭者,「 以太坊殺手 」Solana(SOL), 是一個開源項目,它實現了一個新的、高性能的、無需許可的區塊鏈。