[zh-MO,zh-HK,zh-TW] chore(i18n): sync translations

Sync translations with latest source changes.
Languages: Chinese (Traditional, Macau) [zh-MO], Chinese (Traditional, Hong Kong) [zh-HK], Chinese (Traditional, Taiwan) [zh-TW]
update-translations
localizeflow[bot] 3 weeks ago
parent 69605c1e65
commit 381c672660

@ -12,8 +12,8 @@
"language_code": "zh-HK"
},
"1-Introduction/2-history-of-ML/README.md": {
"original_hash": "6a05fec147e734c3e6bfa54505648e2b",
"translation_date": "2025-09-05T09:27:07+00:00",
"original_hash": "e6b5247d6b4dc821434070bdb58e8285",
"translation_date": "2026-09-15T00:37:04+00:00",
"source_file": "1-Introduction/2-history-of-ML/README.md",
"language_code": "zh-HK"
},
@ -24,8 +24,8 @@
"language_code": "zh-HK"
},
"1-Introduction/3-fairness/README.md": {
"original_hash": "0f00d72169a0d37eecfd16d71e01700a",
"translation_date": "2026-07-14T08:02:45+00:00",
"original_hash": "0c620ca2c6d2828e9a838ecec5f01265",
"translation_date": "2026-09-15T00:36:18+00:00",
"source_file": "1-Introduction/3-fairness/README.md",
"language_code": "zh-HK"
},
@ -54,8 +54,8 @@
"language_code": "zh-HK"
},
"2-Regression/1-Tools/README.md": {
"original_hash": "0b8635427b582d03ea4ab7089b93e505",
"translation_date": "2026-07-14T07:57:16+00:00",
"original_hash": "1f4f6c95404d528041bcc36784771084",
"translation_date": "2026-09-15T00:38:07+00:00",
"source_file": "2-Regression/1-Tools/README.md",
"language_code": "zh-HK"
},
@ -282,8 +282,8 @@
"language_code": "zh-HK"
},
"5-Clustering/README.md": {
"original_hash": "b28a3a4911584062772c537b653ebbc7",
"translation_date": "2025-09-03T17:02:20+00:00",
"original_hash": "c78940a1b03da1de13bd97527f9e6606",
"translation_date": "2026-09-15T00:35:03+00:00",
"source_file": "5-Clustering/README.md",
"language_code": "zh-HK"
},
@ -456,8 +456,8 @@
"language_code": "zh-HK"
},
"7-TimeSeries/README.md": {
"original_hash": "61342603bad8acadbc6b2e4e3aab3f66",
"translation_date": "2025-09-03T16:46:23+00:00",
"original_hash": "722526664e764a2290e1def74afa5139",
"translation_date": "2026-09-15T00:35:22+00:00",
"source_file": "7-TimeSeries/README.md",
"language_code": "zh-HK"
},
@ -564,8 +564,8 @@
"language_code": "zh-HK"
},
"README.md": {
"original_hash": "3e3a6c7e68e0afe7e2276ac046e4d7a0",
"translation_date": "2026-04-20T16:13:58+00:00",
"original_hash": "8bba8faed876aa7bbc92b759a350b1d8",
"translation_date": "2026-09-15T00:31:17+00:00",
"source_file": "README.md",
"language_code": "zh-HK"
},
@ -592,11 +592,11 @@
"original_hash": "fba3b94d88bfb9b81369b869a1e9a20f",
"source_file": "sketchnotes/LICENSE.md",
"language_code": "zh-HK",
"failure_date": "2026-07-14T07:55:57+00:00",
"failure_date": "2026-09-15T00:34:52+00:00",
"status": "failed",
"error_type": "TranslationIncompleteError",
"error_message": "Markdown translation remained incomplete for chunk 1.1.1 of 'LICENSE.md', and the chunk could not be split further.",
"translator_version": "0.20.0",
"translator_version": "0.20.1",
"failure_policy_version": 1
}
},
@ -607,8 +607,8 @@
"language_code": "zh-HK"
},
"for-teachers.md": {
"original_hash": "b37de02054fa6c0438ede6fabe1fdfb8",
"translation_date": "2025-09-03T16:15:51+00:00",
"original_hash": "4b5b4e11bf182a803261b55a19d3ee70",
"translation_date": "2026-09-15T00:29:13+00:00",
"source_file": "for-teachers.md",
"language_code": "zh-HK"
},

@ -1,155 +1,157 @@
# 機器學習的歷史
![機器學習歷史摘要的手繪筆記](../../../../sketchnotes/ml-history.png)
> 手繪筆記由 [Tomomi Imura](https://www.twitter.com/girlie_mac) 提供
![機器學習歷史概要的手繪筆記](../../../../translated_images/zh-HK/ml-history.a1bdfd4ce1f464d9.webp)
> 手繪筆記由 [Tomomi Imura](https://www.twitter.com/girlie_mac) 製作
## [課前測驗](https://ff-quizzes.netlify.app/en/ml/)
---
[![機器學習入門 - 機器學習的歷史](https://img.youtube.com/vi/N6wxM4wZ7V0/0.jpg)](https://youtu.be/N6wxM4wZ7V0 "機器學習入門 - 機器學習的歷史")
[![初學者機器學習 - 機器學習歷史](https://img.youtube.com/vi/N6wxM4wZ7V0/0.jpg)](https://youtu.be/N6wxM4wZ7V0 "初學者機器學習 - 機器學習歷史")
> 🎥 點擊上方圖片觀看本課程的短片。
> 🎥 點擊上面圖片觀看簡短教學影片。
在本課程中,我們將回顧機器學習和人工智能歷史上的重要里程碑。
在本課程中,我們將回顧機器學習與人工智能歷史上的主要里程碑。
人工智能(AI)作為一個領域的歷史與機器學習的歷史密切相關,因為支撐機器學習的算法和計算進步促進了人工智能的發展。值得注意的是,雖然這些領域作為獨立的研究方向在1950年代開始成形,但重要的[算法、統計、數學、計算和技術發現](https://wikipedia.org/wiki/Timeline_of_machine_learning)早於並重疊了這一時期。事實上,人類已經思考這些問題[數百年](https://wikipedia.org/wiki/History_of_artificial_intelligence):本文討論了“思考機器”概念的歷史性智力基礎。
人工智能(AI)作為一個領域的歷史與機器學習的發展密切相關,因為支撐機器學習的算法與計算進步推動了人工智能的發展。值得記住的是,雖然這些領域作為獨立研究方向在1950年代才開始形成,但重要的[算法、統計、數學、計算與技術發現](https://wikipedia.org/wiki/Timeline_of_machine_learning)早於且重疊於此時期。事實上,人們對這些問題的思考已經持續了[數百年](https://wikipedia.org/wiki/History_of_artificial_intelligence):本文討論了「思考機器」理念的歷史性智識基礎。
---
## 重要發現
- 1763年、1812年 [貝葉斯定理](https://wikipedia.org/wiki/Bayes%27_theorem)及其前身。該定理及其應用是推理的基礎,描述了基於先驗知識事件發生的概率。
- 1805年 [最小二乘法](https://wikipedia.org/wiki/Least_squares) 由法國數學家Adrien-Marie Legendre提出。該理論在我們的回歸單元中會學到,幫助進行數據擬合。
- 1913年 [馬爾可夫鏈](https://wikipedia.org/wiki/Markov_chain),以俄羅斯數學家Andrey Markov命名,用於描述基於前一狀態的一系列可能事件。
- 1957年 [感知器](https://wikipedia.org/wiki/Perceptron) 是一種由美國心理學家Frank Rosenblatt發明的線性分類器,為深度學習的進步奠定了基礎。
- 1763 年及 1812 年的 [貝葉斯定理](https://wikipedia.org/wiki/Bayes%27_theorem) 及其前身。該定理及其應用是推理的基礎,用以根據先驗知識描述事件發生的概率。
- 1805 年法國數學家阿德里安-瑪麗·勒讓德提出的 [最小二乘理論](https://wikipedia.org/wiki/Least_squares)。該理論將在我們的迴歸單元中學習,有助於資料擬合。
- 1913 年以俄羅斯數學家安得烈·馬爾可夫命名的 [馬爾可夫鏈](https://wikipedia.org/wiki/Markov_chain),用於根據前一狀態描述可能事件的序列。
- 1957 年由美國心理學家弗蘭克·羅森布拉特發明的 [感知器](https://wikipedia.org/wiki/Perceptron),這是一種線性分類器,為深度學習的進展奠定基礎。
---
- 1967年 [最近鄰算法](https://wikipedia.org/wiki/Nearest_neighbor) 最初設計用於路徑規劃。在機器學習中,它被用於模式檢測。
- 1970年 [反向傳播](https://wikipedia.org/wiki/Backpropagation) 用於訓練[前饋神經網絡](https://wikipedia.org/wiki/Feedforward_neural_network)。
- 1982年 [循環神經網絡](https://wikipedia.org/wiki/Recurrent_neural_network) 是從前饋神經網絡衍生出的人工神經網絡,用於創建時間圖。
- 1967 年的 [最近鄰算法](https://wikipedia.org/wiki/Nearest_neighbor) 最初設計用於繪製路線。在機器學習背景下用於檢測模式。
- 1970 年的 [反向傳播算法](https://wikipedia.org/wiki/Backpropagation) 用於訓練 [前饋神經網絡](https://wikipedia.org/wiki/Feedforward_neural_network)。
- 1982 年的 [遞歸神經網路](https://wikipedia.org/wiki/Recurrent_neural_network), 是從前饋神經網絡發展而來,能夠建立時間性圖形。
✅ 做一些研究。還有哪些日期在機器學習和人工智能的歷史中具有重要意義?
✅ 進行一些研究。還有哪些日期是機器學習和人工智能歷史上的重要轉折點?
---
## 1950年:思考的機器
艾倫·圖靈(Alan Turing),一位真正傑出的人物,被公眾在[2019年](https://wikipedia.org/wiki/Icons:_The_Greatest_Person_of_the_20th_Century)評選為20世紀最偉大的科學家,他被認為幫助奠定了“能夠思考的機器”概念的基礎。他面對反對者並努力尋求這一概念的實證證據,部分通過創建[圖靈測試](https://www.bbc.com/news/technology-18475646),你將在我們的自然語言處理課程中進一步探索。
艾倫·圖靈是一位真正了不起的人物,於2019年被[公眾票選](https://wikipedia.org/wiki/Icons:_The_Greatest_Person_of_the_20th_Century)為20世紀最偉大的科學家,他被認為幫助奠定了「能思考的機器」概念的基礎。他部分通過創造[圖靈測試](https://www.bbc.com/news/technology-18475646)來應對質疑者與自己對這一概念的實證需求,你會在我們的自然語言處理課程中探索該測試。
---
## 1956年:達特茅斯夏季研究項目
## 1956年:達特茅斯暑期研究計劃
“達特茅斯夏季人工智能研究項目是人工智能作為一個領域的開創性事件”,並且在這裡首次提出了“人工智能”這一術語([來源](https://250.dartmouth.edu/highlights/artificial-intelligence-ai-coined-dartmouth))。
「達特茅斯暑期人工智能研究計劃是人工智能領域的一次奠基性事件」,正是在此會議中誕生了「人工智能」一詞([來源](https://250.dartmouth.edu/highlights/artificial-intelligence-ai-coined-dartmouth))。
> 學習的每一個方面或任何其他智能特徵都可以原則上如此精確地描述,以至於可以製造出模擬它的機器。
> 學習的每個方面或智能的其他任何特徵,原理上都可以如此精確描述,以至於可以製造出模擬它的機器。
---
首席研究員、數學教授John McCarthy希望“基於這樣的猜想進行研究,即學習的每一個方面或任何其他智能特徵都可以原則上如此精確地描述,以至於可以製造出模擬它的機器。”參與者包括另一位該領域的傑出人物Marvin Minsky。
領導研究的是數學教授約翰·麥卡錫,他希望「基於一個猜想:學習的每個方面或智能的其他任何特徵,原理上都可以如此精確描述,以至於可以製造出能模擬它的機器。」參與者中還有該領域的另一位先驅,馬文·明斯基。
該研討會被認為促進並激發了多個討論,包括“符號方法的興起、專注於有限領域的系統(早期專家系統)以及演繹系統與歸納系統之間的對比。”([來源](https://wikipedia.org/wiki/Dartmouth_workshop))。
這個工作坊催生並推動了多方面討論,包括「象徵方法的興起、聚焦於有限領域的系統(早期專家系統)以及演繹系統與歸納系統的對比。」([來源](https://wikipedia.org/wiki/Dartmouth_workshop))。
---
## 1956年 - 1974年:“黃金時代”
## 1956年至1974年:「黃金年代」
從1950年代到70年代中期,人們對人工智能能夠解決許多問題充滿樂觀。1967年,Marvin Minsky自信地表示:“在一代人的時間內……創造‘人工智能’的問題將基本得到解決。”(Minsky, Marvin (1967), Computation: Finite and Infinite Machines, Englewood Cliffs, N.J.: Prentice-Hall)
從1950年代至70年代中期,對人工智能解決許多問題的希望非常高漲。1967年,馬文·明斯基自信地表示:「一個世代內……創造『人工智能』的問題將實質上被解決。」(Minsky, Marvin (1967), Computation: Finite and Infinite Machines, Englewood Cliffs, N.J.: Prentice-Hall)
自然語言處理研究蓬勃發展,搜索技術得到了改進並變得更強大,“微世界”的概念被創造出來,簡單的任務可以通過簡單的語言指令完成。
自然語言處理研究蓬勃發展,搜尋功能得以精化與加強,並且創造了「微世界」概念,在這裡可用簡單語言指令完成簡單任務。
---
研究得到了政府機構的充分資助,計算和算法方面取得了進展,智能機器的原型被製造出來。其中一些機器包括:
研究得到政府機構良好資助,計算與算法進展,智能機器的原型也建立。其中一些機器包括:
* [Shakey機器人](https://wikipedia.org/wiki/Shakey_the_robot),它能夠智能地移動並決定如何執行任務。
* [Shakey 機器人](https://wikipedia.org/wiki/Shakey_the_robot),能夠自主移動並決定如何『智能』地執行任務。
![Shakey,一個智能機器人](../../../../1-Introduction/2-history-of-ML/images/shakey.jpg)
> 1972年的Shakey
![Shakey,一個智能機器人](../../../../translated_images/zh-HK/shakey.4dc17819c447c05b.webp)
> Shakey於1972年
---
* Eliza,一個早期的“聊天機器人”,能夠與人交談並充當一個原始的“治療師”。你將在自然語言處理課程中學到更多關於Eliza的內容。
* Eliza,早期的「聊天機器人」,能與人對話並充當原始「心理治療師」。你將在自然語言處理課程中進一步了解Eliza。
![Eliza,一個機器人](../../../../1-Introduction/2-history-of-ML/images/eliza.png)
> Eliza的一個版本,聊天機器人
![Eliza,一個機器人](../../../../translated_images/zh-HK/eliza.84397454cda9559b.webp)
> Eliza聊天機器人的一個版本
---
* “積木世界”是一個微世界的例子,積木可以堆疊和排序,並且可以進行教導機器做出決策的實驗。使用像[SHRDLU](https://wikipedia.org/wiki/SHRDLU)這樣的庫進行的研究推動了語言處理的進步。
* 「積木世界」是微世界的一個例子,在此可以疊積木和排序,同時可測試教導機器決策的實驗。使用像[SHRDLU](https://wikipedia.org/wiki/SHRDLU)這樣的函式庫推動語言處理的發展。
[![積木世界與SHRDLU](https://img.youtube.com/vi/QAJz4YKUwqw/0.jpg)](https://www.youtube.com/watch?v=QAJz4YKUwqw "積木世界與SHRDLU")
[![帶有SHRDLU的積木世界](https://img.youtube.com/vi/QAJz4YKUwqw/0.jpg)](https://www.youtube.com/watch?v=QAJz4YKUwqw "帶有SHRDLU的積木世界")
> 🎥 點擊上方圖片觀看視頻:積木世界與SHRDLU
> 🎥 點擊上方圖片觀看影片:帶有SHRDLU的積木世界
---
## 1974年 - 1980年:“人工智能寒冬”
## 1974年至1980年:人工智能「寒冬」
到70年代中期,製造“智能機器”的複雜性已被低估,而其承諾在當時的計算能力下被過度吹捧。資金枯竭,對該領域的信心減弱。一些影響信心的問題包括:
到70年代中期,人們開始意識到製造「智能機器」的複雜性被低估,考慮到當時的計算能力,其所承諾的成果被過度誇大。資金枯竭,對該領域的信心下降。一些影響信心的問題包括:
---
- **限制**。計算能力過於有限。
- **組合爆炸**。隨著對計算機的要求增加,需要訓練的參數數量呈指數增長,而計算能力和性能並未同步發展。
- **數據匱乏**。數據的匱乏阻礙了測試、開發和改進算法的過程。
- **我們是否在問正確的問題?**。所提出的問題本身開始受到質疑。研究人員開始面臨對其方法的批評:
- 圖靈測試因“中文房間理論”等觀點受到質疑,該理論認為“編程一台數字計算機可能使其看似理解語言,但無法產生真正的理解。”([來源](https://plato.stanford.edu/entries/chinese-room/))
- 將像“治療師”ELIZA這樣的人工智能引入社會的倫理問題受到挑戰。
- <strong>限制</strong>。計算能力過於有限。
- <strong>組合爆炸問題</strong>。當對電腦的需求增加時,需要訓練的參數數量呈指數增長,計算能力與功能並未同步演進。
- <strong>數據不足</strong>。缺乏數據阻礙算法的測試、開發與改進過程。
- **我們問的問題是否正確?**。對所提問題本身開始質疑。研究者遭受方法上的批評:
- 圖靈測試受到「中文房間理論」等思想的質疑,該理論主張「編程可使數位電腦看似理解語言,但無法產生真正理解。」([來源](https://plato.stanford.edu/entries/chinese-room/))
- 人工智能如「心理治療師」ELIZA在社會中的倫理問題遭到挑戰。
---
同時,各種人工智能思想流派開始形成。“[凌亂派與整潔派](https://wikipedia.org/wiki/Neats_and_scruffies)”的二分法逐漸建立。_凌亂派_實驗室通過不斷調整程序直到達到預期結果。_整潔派_實驗室則“專注於邏輯和正式問題解決”。ELIZA和SHRDLU是著名的_凌亂派_系統。在1980年代,隨著對機器學習系統可重現性的需求出現,_整潔派_方法逐漸占據主導地位,因為其結果更具解釋性。
與此同時,各種人工智能思想流派開始形成。界定了「粗糙派」與「精緻派」人工智能的二分法(["scruffy" vs. "neat AI"](https://wikipedia.org/wiki/Neats_and_scruffies))。_粗糙派_ 實驗室會調整程序直至達到期望結果。_精緻派_ 實驗室著重於邏輯與形式化問題解決。ELIZA和SHRDLU是著名的_粗糙派_系統。80年代,隨著對可重現機器學習系統的需求增強,_精緻派_漸成主流,因其結果更易解釋。
---
## 1980年代 專家系統
隨著該領域的發展,其對商業的益處變得更加明顯,1980年代“專家系統”的普及也隨之而來。“專家系統是人工智能(AI)軟件中最早真正成功的形式之一。”([來源](https://wikipedia.org/wiki/Expert_system))
隨著該領域成長,其對商業的價值愈加明顯,1980年代專家系統大量湧現。「專家系統是最早真正成功的人工智能(AI)軟件形式之一。」([來源](https://wikipedia.org/wiki/Expert_system))
這類系統實際上是_混合型_,部分由定義業務需求的規則引擎組成,部分由利用規則系統推導新事實的推理引擎組成。
這種類型的系統其實是_混合型_,部分由規則引擎組成,定義業務需求,另一部分是推理引擎,依據規則系統推導出新事實。
這一時期也看到對神經網絡的關注逐漸增加。
該時期也開始增加對神經網絡的關注。
---
## 1987年 - 1993年:人工智能“寒潮”
## 1987年至1993年:AI 「冷卻期」
專家系統硬件的專業化程度過高,導致其不幸地變得過於專業化。個人電腦的興起也與這些大型、專業化、集中化系統形成競爭。計算的民主化已經開始,並最終為現代大數據的爆炸鋪平了道路。
專家系統硬件過度專業化帶來了不利影響。個人電腦的興起也與這些龐大專門化集中系統競爭。計算民主化開始,最終為現代大數據爆炸鋪路。
---
## 1993年 - 2011年
## 1993年至2011年
這一時期為機器學習和人工智能解決早期因數據和計算能力不足而產生的問題開啟了新篇章。數據量開始迅速增加並變得更容易獲得,無論是好是壞,尤其是在2007年智能手機出現之後。計算能力呈指數增長,算法也隨之演化。該領域開始成熟,過去自由奔放的日子逐漸凝聚成一門真正的學科。
這一時期,機器學習和人工智能迎來新紀元,解決了早期數據和計算能力不足帶來的一些問題。數據量快速成長並更廣泛可用,特別是2007年智能手機問世後,帶來便利也有挑戰。計算能力呈指數成長,算法同步演進。該領域開始成熟,過去自由奔放的日子逐步整理成真正的學科。
---
## 現在
## 現今
如今,機器學習和人工智能幾乎觸及我們生活的每一部分。這一時代呼籲我們仔細理解這些算法對人類生活的風險和潛在影響。正如微軟的Brad Smith所說:“信息技術提出了一些涉及基本人權保護的問題,比如隱私和言論自由。這些問題加重了創造這些產品的科技公司的責任。在我們看來,這些問題也呼籲政府進行深思熟慮的監管以及制定可接受使用的規範。”([來源](https://www.technologyreview.com/2019/12/18/102365/the-future-of-ais-impact-on-society/))
如今,機器學習與人工智能幾乎觸及我們生活的各個方面。這個時代要求我們仔細理解這些算法對人類生活帶來的風險與潛在影響。正如微軟的布拉德·史密斯所說:「資訊技術引發了關乎基本人權保障,如隱私和表達自由的問題。這些問題增加了創造這些產品的科技公司的責任。在我們看來,這也呼籲政府制定審慎的監管及建立可接受使用的規範。」([來源](https://www.technologyreview.com/2019/12/18/102365/the-future-of-ais-impact-on-society/))
---
未來會如何仍有待觀察,但理解這些計算機系統及其運行的軟件和算法至關重要。我們希望這份課程能幫助你更好地理解,從而自己做出判斷。
未來會如何發展尚未可知,但瞭解這些計算機系統及其運行的軟件和算法非常重要。我們希望這套課程幫助你獲得更好的理解,讓你能自行判斷。
[![深度學習的歷史](https://img.youtube.com/vi/mTtDfKgLm54/0.jpg)](https://www.youtube.com/watch?v=mTtDfKgLm54 "深度學習的歷史")
> 🎥 點擊上方圖片觀看視頻:Yann LeCun在這次講座中討論深度學習的歷史
[![深度學習歷史](https://img.youtube.com/vi/mTtDfKgLm54/0.jpg)](https://www.youtube.com/watch?v=mTtDfKgLm54 "深度學習歷史")
> 🎥 點擊上方圖片觀看影片:Yann LeCun在此講座中討論深度學習的歷史
---
## 🚀挑戰
## 🚀 挑戰
深入研究這些歷史時刻中的一個,了解背後的人物。這些人物非常有趣,沒有任何科學發現是在文化真空中誕生的。你發現了什麼?
探究其中一段歷史時刻,了解背後的人物。這些角色都非常吸引人,沒有任何科學發現是在文化真空中誕生的。你會發現什麼?
## [課後測驗](https://ff-quizzes.netlify.app/en/ml/)
---
## 回顧與自學
## 複習與自學
以下是一些可以觀看和聆聽的內容:
這裡有一些值得觀看與聆聽的項目:
[這個播客中,Amy Boyd討論了人工智能的演變](http://runasradio.com/Shows/Show/739)
[Amy Boyd 討論人工智能演變的播客](http://runasradio.com/Shows/Show/739)
[![Amy Boyd講述人工智能的歷史](https://img.youtube.com/vi/EJt3_bFYKss/0.jpg)](https://www.youtube.com/watch?v=EJt3_bFYKss "Amy Boyd講述人工智能的歷史")
[![Amy Boyd談人工智能的歷史](https://img.youtube.com/vi/EJt3_bFYKss/0.jpg)](https://www.youtube.com/watch?v=EJt3_bFYKss "Amy Boyd談人工智能的歷史")
---
## 作業
[創建一個時間線](assignment.md)
[製作時間軸](assignment.md)
---
**免責聲明**:
此文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤詮釋概不負責。
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
本文件由 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯而成。雖然我們致力於確保準確性,但請注意,機器自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議進行專業人工翻譯。我們不對因使用本翻譯而產生的任何誤解或誤釋承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,46 +1,46 @@
# 用負責任的 AI 建立機器學習解決方案
# 使用負責任的 AI 建構機器學習解決方案
![機器學習中負責任 AI 的概要示意圖](../../../../translated_images/zh-HK/ml-fairness.ef296ebec6afc98a.webp)
> 示意圖來源:[Tomomi Imura](https://www.twitter.com/girlie_mac)
![機器學習中負責任 AI 的摘要手繪筆記](../../../../translated_images/zh-HK/ml-fairness.ef296ebec6afc98a.webp)
> 手繪筆記由 [Tomomi Imura](https://www.twitter.com/girlie_mac) 製作
## [課前測驗](https://ff-quizzes.netlify.app/en/ml/)
## [講前小測驗](https://ff-quizzes.netlify.app/en/ml/)
## 簡介
在本課程中,你將開始了解機器學習如何影響並正在影響我們的日常生活。即使是現在,系統和模型已經參與了每天的決策任務,例如醫療診斷、貸款審批或詐騙偵測。因此,確保這些模型運作良好,提供值得信賴的結果非常重要。就像任何軟件應用程序一樣,AI 系統也可能未達預期或產生不理想的結果。因此,理解並解釋 AI 模型的行為至關重要。
在此課程中,您將開始了解機器學習如何且正在影響我們的日常生活。即使現在,系統和模型也參與日常決策任務,例如醫療診斷、貸款審批或詐騙偵測。因此,這些模型運作良好以提供可信賴的結果非常重要。就像任何軟件應用程式一樣,AI 系統也會未達期望或產生不理想的結果。這就是為什麼能夠理解和解釋 AI 模型的行為是必須的原因。
想像一下,當你用來建立這些模型的資料缺乏某些族群(如種族、性別、政治觀點、宗教)或過度代表某些族群時會發生什麼。當模型的輸出被解讀為偏袒某些族群時,應用會有什麼後果?此外,當模型產生不良結果並對人們造成傷害時會怎樣?誰應該對 AI 系統的行為負責?這些都是我們在本課程中會探討的問題。
想像當您用來建立這些模型的資料缺少某些人口統計特徵,如種族、性別、政治觀點、宗教,或某些族群被過度或不均衡代表時會發生什麼?當模型輸出被解讀為偏袒某些族群時會怎樣?對於應用程式會有什麼後果?此外,當模型產生不良結果並對人造成傷害時會有何影響?誰應對 AI 系統的行為負責?這些都是我們在本課程中將探討的問題。
本課程中,你將:
在這堂課中,您將會:
- 提升對機器學習中公平性及公平性相關傷害重要性的認識。
- 熟悉探索異常值與異常情況的實踐,以確保可靠性和安全性。
- 理解設計包容性系統以使每個人都能受惠的必要性。
- 探討保護資料及人的隱私與安全的重要性。
- 了解採用透明方法解釋 AI 模型行為的重要性。
- 謹記責任制對建立 AI 系統信任的重要性。
- 提升您對於機器學習中公平性重要性及公平性相關傷害的認識。
- 熟悉探討異常值及不尋常場景的實務,以確保可靠性與安全性。
- 理解設計包容性系統以賦能所有人的必要性。
- 探索保護資料與人的隱私及安全的關鍵性。
- 了解以「玻璃盒」方式解釋 AI 模型行為的重要性。
- 注意責任制對建立 AI 系統信任的必要性。
## 先決條件
## 先備知識
請先完成「負責任 AI 原則」學習路徑並觀看以下主題相關影片:
作為先備條件,請完成「負責任 AI 原則」學習路徑並觀看以下相關視頻:
透過此[學習路徑](https://docs.microsoft.com/learn/modules/responsible-ai-principles/?WT.mc_id=academic-77952-leestott)深入了解負責任的 AI。
透過此 [學習路徑](https://docs.microsoft.com/learn/modules/responsible-ai-principles/?WT.mc_id=academic-77952-leestott) 深入了解負責任 AI
[![Microsoft's Approach to Responsible AI](https://img.youtube.com/vi/dnC8-uUZXSc/0.jpg)](https://youtu.be/dnC8-uUZXSc "Microsoft's Approach to Responsible AI")
[![Microsoft 負責任 AI 的方法](https://img.youtube.com/vi/dnC8-uUZXSc/0.jpg)](https://youtu.be/dnC8-uUZXSc "Microsoft 負責任 AI 的方法")
> 🎥 點擊上方圖片觀賞影片:Microsoft 的負責任 AI 方法
> 🎥 點擊上方圖片觀看影片:Microsoft 負責任 AI 的方法
## 公平性
AI 系統應公平對待每個人,避免以不同方式影響相似群體。例如,當 AI 系統提供醫療治療建議、貸款申請或就業建議時,應對所有具有相似症狀、財務狀況或專業資格的人做出相同的建議。我們每個人身上皆帶有影響決策與行動的固有偏見。這些偏見可能反映在用來訓練 AI 系統的資料中。這種偏見有時是無意中造成的,往往難以有意識地察覺自己在資料中引入了偏見。
AI 系統應該公平地對待所有人,避免以不同方式影響相似群體。例如,當 AI 系統提供醫療治療建議、貸款申請或就業指導時,對於具有相似症狀、財務狀況或專業資格的人應該給出相同的建議。我們每個人都帶有影響決策與行動的既有偏見,這些偏見有時會體現在用來訓練 AI 系統的資料中。這種操縱有時是無意的,通常很難有意識地察覺自己何時將偏見引入資料中。
<strong>「不公平」</strong>涵蓋對特定族群(如基於種族、性別、年齡或殘疾狀況定義的群體)造成的負面影響或「傷害」。主要的公平性相關傷害可分為:
**「不公平」** 指的是對某個群體(例如按種族、性別、年齡或殘疾狀態定義的群體)造成的負面影響,或稱為「傷害」。主要的公平性相關傷害可被歸類為:
- <strong>分配不公</strong>,例如偏袒某性別或族裔。
- <strong>服務品質</strong>。若訓練數據只涵蓋特定場景,但現實更複雜,會導致服務表現不佳。例如一款洗手液分配器無法感應深色皮膚的人。[參考](https://gizmodo.com/why-cant-this-soap-dispenser-identify-dark-skin-1797931773)
- <strong>污名化</strong>。不公平地批評和標籤某人或某物。例如,有影像標籤技術惡名昭彰地將深色皮膚人的影像誤標為猩猩。
- <strong>過度或不足代表</strong>。例如某團體在某職業中鮮少出現,而任何持續促進該情況的服務或功能都會造成傷害。
- <strong>刻板印象</strong>。將特定群體與預設屬性聯結。例如,英土語言翻譯系統可能因有男女刻板聯想的詞語而產生不準確。
- <strong>分配</strong>,例如偏袒某個性別或族裔。
- <strong>服務質量</strong>。若訓練的資料只針對特定場景,但實際情況更複雜,容易導致服務表現不佳。例如,一款洗手機感應不到深色膚色的人。[參考](https://gizmodo.com/why-cant-this-soap-dispenser-identify-dark-skin-1797931773)
- <strong>貶損</strong>。不公平地批評並標籤某物或某人。例如,有技術曾錯誤將深色膚色的人圖像標記為大猩猩。
- <strong>過度或不足代表</strong>。指某群體在職業或社會角色裡缺乏代表,任何持續推動這種狀況的服務或功能都會造成傷害。
- <strong>刻板印象</strong>。將特定群體與既定屬性掛勾。例如,英-土語言翻譯系統可能因帶有性別刻板印象的詞彙而導致不准確翻譯。
![翻譯成土耳其語](../../../../translated_images/zh-HK/gender-bias-translate-en-tr.f185fd8822c2d437.webp)
> 翻譯成土耳其語
@ -48,116 +48,115 @@ AI 系統應公平對待每個人,避免以不同方式影響相似群體。
![再翻譯回英文](../../../../translated_images/zh-HK/gender-bias-translate-tr-en.4eee7e3cecb8c70e.webp)
> 再翻譯回英文
在設計和測試 AI 系統時,我們需要確保 AI 公平且未被編程以做出偏見或歧視決策,這些也是人類被禁止的行為。保證 AI 和機器學習的公平性依然是個複雜的社會技術難題。
在設計與測試 AI 系統時,我們必須確保 AI 是公平的,不會被程式化成做出有偏見或歧視的決策,正如人類所禁止的行為。保障 AI 與機器學習中的公平性仍是複雜的社會技術挑戰。
### 可靠性與安全性
為建立信任,AI 系統需在正常與異常條件下均可靠、安全且一致。了解 AI 系統在各種情況,尤其是異常值下的行為至關重要。建立 AI 解決方案時,需高度關注如何處理 AI 解決方案可能遇到的各種情況。例如,自駕車必須將人員安全擺在首位。因此,驅動該車的 AI 需要考慮所有可能遇到的場景,如夜間、雷暴大風雪、街上奔跑的孩童、寵物、道路施工等。AI 系統能可靠且安全處理多樣情況,反映出資料科學家或 AI 開發者在設計或測試系統時的預期程度。
為了建立信任,AI 系統需要在正常與意外情況下皆具備可靠性、安全性和一致性。了解 AI 系統在各種情況下,尤其是異常事件時的行為非常重要。建立 AI 解決方案時,需要大量關注如何應對 AI 可能面對的多種狀況。例如,自駕車必須將人員安全放在首位,因此這輛車的 AI 需要考慮所有可能遇到的情形,如夜晚、雷雨或暴風雪、街上奔跑的孩童、寵物、道路施工等。一個 AI 系統能否在廣泛條件下可靠且安全運作,反映了資料科學家或 AI 開發者在系統設計或測試階段的預見程度。
> [🎥 點擊此處觀看影片:](https://www.microsoft.com/videoplayer/embed/RE4vvIl)
> [🎥 點擊此處觀看影片:AI 的可靠性與安全性](https://www.microsoft.com/videoplayer/embed/RE4vvIl)
### 包容性
AI 系統應設計為能讓每個人參與並獲得賦能。資料科學家與 AI 開發者在設計和實作 AI 系統時會辨識並解決可能無意中排除某些人的潛在障礙。例如,全球有十億名身心障礙者,隨著 AI 的進步,他們能更輕鬆取得資訊和機會。克服障礙能創造創新機會,開發出改善體驗且惠及所有人的 AI 產品。
AI 系統應設計以包容並賦能所有人。設計與實施 AI 系統時,資料科學家與 AI 開發者需辨識並處理系統中可能無意排除某些人的障礙。例如,全球有 10 億殘障人士。隨著 AI 的進步,他們可以更輕鬆地獲取日常生活中的資訊與機會。解決障礙創造了創新機會,開發出更佳的 AI 產品和體驗,惠及所有人。
> [🎥 點擊此處觀看影片:AI 的包容性](https://www.microsoft.com/videoplayer/embed/RE4vl9v)
> [🎥 點擊此處觀看影片:AI 中的包容性](https://www.microsoft.com/videoplayer/embed/RE4vl9v)
### 安全與隱私
### 安全性與隱私
AI 系統應安全且尊重個人隱私。人們對那些危及隱私、資訊或生命的系統信任度較低。訓練機器學習模型時,我們仰賴資料來產生最佳結果,因此需考慮資料的來源與完整性。例如,資料是用戶提交的還是公開可用?在處理資料時,也必須開發能保護機密資訊並抵禦攻擊的 AI 系統。隨著 AI 越來越普及,保護隱私和資訊安全變得更為重要且複雜。對 AI 而言,隱私與資料安全議題需特別注意,因為 AI 依賴資料來做出準確且有根據的預測和決策。
AI 系統應安全且尊重個人隱私。若系統危及人們的隱私、資料或生命,人們對它們的信任將降低。訓練機器學習模型時,須依賴資料以產出最佳結果,故需考慮資料來源與完整性。例如,資料是用戶提交還是公開可用?此外,開發 AI 系統時,必須能保護機密資訊並抵禦攻擊。隨著 AI 越來越普及,保護隱私和關鍵個人及商業資訊變得愈加重要且複雜。對 AI 而言,隱私與資料安全議題尤其需密切關注,因為 AI 系統需要資料來做出準確且有依據的預測與決策。
> [🎥 點擊此處觀看影片:AI 中的安全](https://www.microsoft.com/videoplayer/embed/RE4voJF)
> [🎥 點擊此處觀看影片:AI 中的安全性](https://www.microsoft.com/videoplayer/embed/RE4voJF)
- 我們產業在隱私及安全方面已取得重大進展,受 GDPR(一般資料保護條例)等規範大力推動。
- 然而在 AI 系統中,我們必須承認在需要更多個人資料以提升系統個人化與效能與隱私之間的矛盾。
- 正如連結電腦和網際網路誕生時產生大量安全問題,我們也看到與 AI 相關的安全問題急劇增加。
- 同時,我們也看到 AI 被用來提升安全。例如,現代多數防毒掃描器均由 AI 啟發式技術驅動。
- 我們需要確保資料科學流程與最新隱私及安全實務和諧融合。
- 作為產業,我們在隱私與安全方面取得了重大進展,尤其受到 GDPR(一般資料保護條例)等規範的推動。
- 但在 AI 系統中,我們必須承認個人化系統需要更多個人資料與隱私間存在的張力。
- 就像網際網路連接電腦誕生時一樣,AI 相關的安全問題也激增。
- 與此同時,我們也見證 AI 被用於改善安全性。例如,目前多數現代防毒軟體依賴 AI 啟發式方法。
- 我們需要確保資料科學流程與最新的隱私及安全實務和諧結合。
### 透明度
AI 系統應易於理解。透明度的關鍵部分是解釋 AI 系統及其組件的行為。提升對 AI 系統的理解,需要持份者明白系統如何運作以及背後原因,以識別潛在的性能問題、安全與隱私疑慮、偏見、排他性慣例或非預期結果。我們也相信 AI 使用者應誠實並公開說明何時、為何及如何選擇部署 AI 系統,以及他們使用系統的限制。例如,銀行使用 AI 系統支援消費貸款決策時,檢視結果並了解哪些資料影響系統建議非常重要。政府正開始跨產業對 AI 進行監管,資料科學家和組織必須說明 AI 系統是否符合監管要求,尤其是在出現不理想結果時。
### 透明性
AI 系統應該易於理解。透明性的關鍵部分是解釋 AI 系統及其組成部分的行為。提升對 AI 系統的了解需要利益相關者明白其如何以及為何運作,才能辨識可能的效能問題、安全與隱私疑慮、偏見、排他性做法或非預期結果。我們也認為使用 AI 系統的人,應誠實且公開何時、為何及如何選擇部署這些系統,以及所用系統的限制。例如,銀行若使用 AI 系統協助消費貸款決策,就必須審視結果並理解哪些資料影響系統建議。各國政府開始針對各行業規範 AI,資料科學家與組織必須解釋 AI 系統是否符合規範,尤其在出現不理想結果時。
> [🎥 點擊此處觀看影片:AI 中的透明度](https://www.microsoft.com/videoplayer/embed/RE4voJF)
> [🎥 點擊此處觀看影片:AI 的透明性](https://www.microsoft.com/videoplayer/embed/RE4voJF)
- 由於 AI 系統非常複雜,很難理解其運作方式及結果解讀。
- 這種理解不足影響系統的管理、運營和紀錄。
- 更重要的是,這種缺乏理解影響使用這些系統產出結果時的決策。
- 由於 AI 系統複雜,很難理解其運作方式與解讀結果。
- 這種理解缺乏影響系統管理、運行與文件化的方式。
- 更重要的是,這種缺乏理解影響基於結果所做的決策。
### 責任制
### 問責制
設計和部署 AI 系統的人必須對系統的運作負責。責任制尤其在敏感技術(如臉部辨識)中尤為重要。近年來,臉部辨識技術需求日增,尤其是執法機構視其可用於尋找失蹤兒童等用途。然而,這項技術可能被政府用來危害公民的基本自由,例如對特定個體實施持續監控。因此,資料科學家與組織需要對 AI 系統對個人或社會的影響負責。
設計與部署 AI 系統的人必須對其系統的運作負責。問責制在敏感技術,如臉部辨識技術的使用中尤為重要。近來,執法機關對臉部辨識技術的需求增加,因為該技術在尋找失蹤兒童等應用中具有潛力。然而,這些技術也可能被政府用來危害公民的基本自由,例如對特定個人進行持續監控。因此,資料科學家與組織須對其 AI 系統對個人或社會造成的影響負責。
[![前沿 AI 研究者警告臉部辨識造成大規模監控](../../../../translated_images/zh-HK/accountability.41d8c0f4b85b6231.webp)](https://www.youtube.com/watch?v=Wldt8P5V6D0 "Microsoft's Approach to Responsible AI")
[![頂尖 AI 研究者警告臉部辨識恐成大規模監控](../../../../translated_images/zh-HK/accountability.41d8c0f4b85b6231.webp)](https://www.youtube.com/watch?v=Wldt8P5V6D0 "Microsoft 負責任 AI 的方法")
> 🎥 點擊上方圖片觀看影片:臉部辨識帶來大規模監控的警告
> 🎥 點擊上方圖片觀看影片:警告臉部辨識可能導致大規模監控
對我們這代人來說(首批將 AI 帶入社會的一代),最大問題之一就是如何確保電腦對人負責,以及設計電腦的人對所有人負責。
對於我們這一代作為將 AI 帶入社會的第一代人來說,最重大問題之一是如何確保電腦對人負責,以及如何確保設計電腦的人對其他所有人負責。
## 影響評估
在訓練機器學習模型之前,進行影響評估非常重要,以了解 AI 系統的目的、預期用途、部署地點及使用者。這有助於審查者或測試者在評估系統時,了解辨識潛在風險及預期後果時應考慮的因素。
在訓練機器學習模型之前,進行影響評估非常重要,以了解 AI 系統的目標;用途;部署位置;以及誰將與系統互動。這些資訊有助於評審者或測試者在評估系統時知道哪些因素需考量,以辨識潛在風險和預期後果。
進行影響評估時的重點領域包括:
進行影響評估時應著重以下方面:
* <strong>對個人的不利影響</strong>。了解任何限制或需求、不支持的用途或已知限制,對確保系統不以可能傷害個人的方式使用至關重要。
* <strong>資料需求</strong>。了解系統如何以及在哪裡使用資料,能讓審查者檢視需留意的資料需求(例如 GDPR 或 HIPAA 規定)。此外,也要審查資料來源及量是否足夠訓練。
* <strong>影響摘要</strong>。蒐集使用系統可能產生的潛在傷害清單。於機器學習生命週期中檢視所辨識問題是否被緩解或解決。
* <strong>適用目標</strong>,針對六項核心原則,評估是否達到各目標,並找出任何缺口。
* <strong>對個人的不良影響</strong>。了解任何限制或需求、不當使用或任何已知限制阻礙系統效能,是確保系統不會以可能傷害個人的方式使用的關鍵。
* <strong>資料需求</strong>。了解系統如何及在哪裡使用資料,讓評審者可以探討需注意的資料需求(例如 GDPR 或 HIPAA 資料規範)。此外,需檢視資料來源及數量對訓練是否足夠。
* <strong>影響總結</strong>。列舉使用系統可能產生的傷害。於整個機器學習生命週期中,檢視已辨識的問題是否獲得緩解或解決。
* <strong>六大核心原則的適用目標</strong>。評估各原則的目標是否達成,及是否存在缺口。
## 負責任的 AI 除錯
## 負責任 AI 的除錯
如同除錯軟體應用程序,AI 系統除錯是識別及解決系統問題的必要過程。多種因素會影響模型表現不符合預期或負責任。大多數傳統模型性能指標是模型表現的量化彙總,無法充分分析模型如何違反負責任 AI 原則。此外,機器學習模型是黑盒,難以理解驅動結果的原因或當出錯時解釋原因。本課程稍後我們將學習如何使用負責任 AI 儀表板協助除錯 AI 系統。該儀表板為資料科學家和 AI 開發者提供全面工具,以進行:
類似於軟件應用的除錯,AI 系統的除錯是識別並解決系統問題的必要過程。影響模型未達預期或不負責表現的因素很多。大多數傳統模型效能指標都是模型效能的量化匯總,但不足以分析模型如何違反負責任 AI 原則。此外,機器學習模型是黑盒子,難以理解驅使其結果的因素,或在出錯時提供解釋。在本課程後續,我們將學習如何使用負責任 AI 儀表板來協助除錯 AI 系統。該儀表板為資料科學家和 AI 開發者提供了完整的工具,以進行:
* <strong>錯誤分析</strong>。識別模型錯誤分佈,可能影響系統公平性或可靠性。
* <strong>模型總覽</strong>。發現不同資料群體中模型表現差異。
* <strong>資料分析</strong>。了解資料分布並辨識可能導致公平性、包容性和可靠性問題的偏見。
* <strong>模型可解釋性</strong>。了解影響模型預測的因素,協助解釋模型行為,對透明度和責任制很重要。
* <strong>錯誤分析</strong>。識別模型錯誤分布,該分布可能影響系統公平性或可靠性。
* <strong>模型總覽</strong>。發現資料不同群組間模型效能存在的差距。
* <strong>資料分析</strong>。了解資料分布,辨識可能導致公平性、包容性及可靠性問題的偏差。
* <strong>模型可解釋性</strong>。了解影響模型預測的因素,有助解釋模型行為,這對透明度和問責制很重要。
## 🚀 挑戰
為避免傷害的產生,我們應:
為了防止傷害一開始就被引入,我們應該:
- 團隊成員背景與觀點多元化
- 投資反映社會多樣性的資料集
- 在整個機器學習生命週期內,開發更佳方法檢測並糾正責任 AI 相關問題
- 讓從事系統工作的人擁有多元背景與觀點
- 投資代表我們社會多元性的資料集
- 在整個機器學習生命週期中,開發更好的方法偵測並修正不負責任的 AI
思考現實情境中模型不可靠的具體表現及其帶來的影響。我們還應考慮什麼?
想想實際情境中,模型建立和使用過程中明顯的不可信之處。我們還應該考慮什麼?
## [課後測驗](https://ff-quizzes.netlify.app/en/ml/)
## [講後小測驗](https://ff-quizzes.netlify.app/en/ml/)
## 回顧與自學
## 複習與自學
在本課程中,您已經學習了一些機器學習中公平與不公平概念的基礎知識。
在本課中,您已學習機器學習中公平與不公平概念的一些基礎。
觀看此工作坊以深入了解這些主題:
觀看以下工作坊影片以更深入探討:
- 追求負責任的 AI:將原則付諸實踐,講者 Besmira Nushi、Mehrnoosh Sameki 和 Amit Sharma
- 追求負責任 AI:將原則落實於實踐,由 Besmira Nushi、Mehrnoosh Sameki 與 Amit Sharma 主講
[![Responsible AI Toolbox: An open-source framework for building responsible AI](https://img.youtube.com/vi/tGgJCrA-MZU/0.jpg)](https://www.youtube.com/watch?v=tGgJCrA-MZU "RAI Toolbox: An open-source framework for building responsible AI")
[![負責任 AI 工具箱:建立負責任 AI 的開源框架](https://img.youtube.com/vi/tGgJCrA-MZU/0.jpg)](https://www.youtube.com/watch?v=tGgJCrA-MZU "RAI Toolbox:建立負責任 AI 的開源框架")
> 🎥 點擊上方圖片觀看影片:RAI Toolbox:一個用於構建負責任 AI 的開源框架,講者 Besmira Nushi、Mehrnoosh Sameki 與 Amit Sharma
> 🎥 點擊上方圖片觀看影片:RAI Toolbox:由 Besmira Nushi、Mehrnoosh Sameki 和 Amit Sharma 講述的建立負責任 AI 的開源框架
另外,請閱讀:
另請參閱:
- 微軟的 RAI 資源中心:[Responsible AI Resources – Microsoft AI](https://www.microsoft.com/ai/responsible-ai-resources?activetab=pivot1%3aprimaryr4)
- 微軟的 RAI 資源中心:[負責任 AI 資源 – Microsoft AI](https://www.microsoft.com/ai/responsible-ai-resources?activetab=pivot1%3aprimaryr4)
- 微軟的 FATE 研究組:[FATE: Fairness, Accountability, Transparency, and Ethics in AI - Microsoft Research](https://www.microsoft.com/research/theme/fate/)
- 微軟的 FATE 研究組:[FATE:AI 的公平性、問責性、透明度與倫理 - Microsoft Research](https://www.microsoft.com/research/theme/fate/)
RAI Toolbox:
RAI 工具箱:
- [Responsible AI Toolbox GitHub repository](https://github.com/microsoft/responsible-ai-toolbox)
- [負責任 AI 工具箱 GitHub 儲存庫](https://github.com/microsoft/responsible-ai-toolbox)
閱讀關於 Azure Machine Learning 的工具以確保公平性:
閱讀有關 Azure 機器學習確保公平性的工具:
- [Azure Machine Learning](https://docs.microsoft.com/azure/machine-learning/concept-fairness-ml?WT.mc_id=academic-77952-leestott)
- [Azure 機器學習](https://docs.microsoft.com/azure/machine-learning/concept-fairness-ml?WT.mc_id=academic-77952-leestott)
## 作業
[探索 RAI Toolbox](assignment.md)
[探索 RAI 工具箱](assignment.md)
---

@ -1,121 +1,121 @@
# 使用 Python 和 Scikit-learn 開始迴歸模型之旅
# 使用 Python 和 Scikit-learn 入門迴歸模型
![迴歸總結手繪筆記](../../../../translated_images/zh-HK/ml-regression.4e4f70e3b3ed446e.webp)
![迴歸模型概要的手繪筆記](../../../../translated_images/zh-HK/ml-regression.4e4f70e3b3ed446e.webp)
> 手繪筆記由 [Tomomi Imura](https://www.twitter.com/girlie_mac) 製作
> 手繪筆記作者 [Tomomi Imura](https://www.twitter.com/girlie_mac)
## [課前小測](https://ff-quizzes.netlify.app/en/ml/)
## [課前問答](https://ff-quizzes.netlify.app/en/ml/)
> ### [這堂課也有 R 語言版本!](../../../../2-Regression/1-Tools/solution/R/lesson_1.html)
> ### [本課程亦提供 R 語言版本!](../../../../2-Regression/1-Tools/solution/R/lesson_1.html)
## 介紹
在這四堂課中,你將學習如何建立迴歸模型。我們很快會討論這些模型的用途。但在做任何事之前,先確保你已經準備好合適的工具來開展流程!
在這四課中,你將學習如何建立迴歸模型。我們稍後會討論迴歸模型的用途。但在開始之前,請確保你已準備好適合的工具來開始這個流程!
在這堂課,你將學習如何:
在本課程中,你將學會:
- 配置你的電腦進行本地機器學習任務。
- 配置你的電腦以便進行本地機器學習任務。
- 使用 Jupyter 筆記本。
- 使用 Scikit-learn,包括安裝步驟。
- 通過實作練習探索線性迴歸。
- 使用 Scikit-learn,包括安裝。
- 透過動手練習探索線性迴歸。
## 安裝與設定
[![為初學者準備的 ML - 配置你的工具開始建立機器學習模型](https://img.youtube.com/vi/-DfeD2k2Kj0/0.jpg)](https://youtu.be/-DfeD2k2Kj0 "為初學者準備的 ML - 配置你的工具開始建立機器學習模型")
[![初學者機器學習 - 準備好安裝你的工具來建立機器學習模型](https://img.youtube.com/vi/-DfeD2k2Kj0/0.jpg)](https://youtu.be/-DfeD2k2Kj0 "初學者機器學習 - 準備好安裝你的工具來建立機器學習模型")
> 🎥 點擊上方圖片觀看短片,學習如何配置電腦以進行 ML。
> 🎥 點擊上圖觀看設定電腦進行機器學習的短片教學。
1. **安裝 Python**。確保你的電腦已安裝好 [Python](https://www.python.org/downloads/)。Python 是許多數據科學及機器學習任務的重要工具。大多數系統已內建 Python。也有實用的 [Python 編碼套件](https://code.visualstudio.com/learn/educators/installers?WT.mc_id=academic-77952-leestott) 可供部分用戶簡化設定。
1. **安裝 Python**。確保你的電腦已安裝 [Python](https://www.python.org/downloads/)。Python 將用於許多資料科學及機器學習任務。大多數電腦系統預設已安裝 Python。對某些使用者來說,也有實用的 [Python 編程套件](https://code.visualstudio.com/learn/educators/installers?WT.mc_id=academic-77952-leestott) 供配置時使用。
然而部分 Python 的應用需要特定版本,因此使用 [虛擬環境](https://docs.python.org/3/library/venv.html) 是非常有用的。
然而,部分 Python 用途需要不同版本的軟體,因此使用 [虛擬環境](https://docs.python.org/3/library/venv.html) 會很方便。
2. **安裝 Visual Studio Code**。確保你的電腦已安裝 Visual Studio Code。遵循此說明[安裝 Visual Studio Code](https://code.visualstudio.com/)完成基礎安裝。因為你會在這課程中使用 Python,所以建議熟悉如何[為 Python 開發設定 Visual Studio Code](https://docs.microsoft.com/learn/modules/python-install-vscode?WT.mc_id=academic-77952-leestott)。
2. **安裝 Visual Studio Code**。請確保你電腦已安裝 Visual Studio Code。請依照指示[安裝 Visual Studio Code](https://code.visualstudio.com/) 完成基本安裝。這堂課你將於 Visual Studio Code 中使用 Python,建議先熟悉如何[配置 Visual Studio Code](https://docs.microsoft.com/learn/modules/python-install-vscode?WT.mc_id=academic-77952-leestott) 以便 Python 開發。
> 透過一系列 [Learn 模組](https://docs.microsoft.com/users/jenlooper-2911/collections/mp1pagggd5qrq7?WT.mc_id=academic-77952-leestott)熟悉 Python。
> 建議透過一系列 [學習單元](https://docs.microsoft.com/users/jenlooper-2911/collections/mp1pagggd5qrq7?WT.mc_id=academic-77952-leestott) 來熟悉 Python。
>
> [![使用 Visual Studio Code 設定 Python](https://img.youtube.com/vi/yyQM70vi7V8/0.jpg)](https://youtu.be/yyQM70vi7V8 "使用 Visual Studio Code 設定 Python")
> [![在 Visual Studio Code 設定 Python](https://img.youtube.com/vi/yyQM70vi7V8/0.jpg)](https://youtu.be/yyQM70vi7V8 "在 Visual Studio Code 設定 Python")
>
> 🎥 點擊上方圖片觀看如何在 VS Code 裡使用 Python 的教學影片。
> 🎥 點擊上圖觀看在 VS Code 內使用 Python 的示範影片。
3. **安裝 Scikit-learn**,請參考[這些指示](https://scikit-learn.org/stable/install.html)。因必須使用 Python 3,建議在虛擬環境中安裝。如果你在 M1 Mac 上安裝,請注意頁面上有特別說明。
3. **安裝 Scikit-learn**,請依照 [這些指示](https://scikit-learn.org/stable/install.html) 進行。確保你使用的是 Python 3,建議在虛擬環境中安裝。若你在 M1 Mac 上安裝此套件,請注意上述連結頁面內的特別指示。
1. **安裝 Jupyter Notebook**。你需要 [安裝 Jupyter 軟件包](https://pypi.org/project/jupyter/)。
1. **安裝 Jupyter Notebook**。你需要 [安裝 Jupyter 套件](https://pypi.org/project/jupyter/)。
## 你的機器學習開發環境
你將使用 <strong>筆記本</strong> 來編寫 Python 程式碼和建立機器學習模型。這類文件是數據科學家常用工具,可以透過副檔名 `.ipynb` 識別。
你將使用 <strong>筆記本</strong> 來撰寫 Python 代碼並建立機器學習模型。此類型檔案為資料科學家常用工具,副檔名為 `.ipynb`。
筆記本是互動環境,開發者可同時撰寫程式碼、添加註解與文件,非常適合實驗或研究型項目。
筆記本是一個互動式環境,讓開發者可以同時撰寫程式碼、加入筆記與文件說明,對於實驗或研究導向的專案非常有幫助。
[![為初學者準備的 ML - 設置 Jupyter 筆記本開始建立迴歸模型](https://img.youtube.com/vi/7E-jC8FLA2E/0.jpg)](https://youtu.be/7E-jC8FLA2E "為初學者準備的 ML - 設置 Jupyter 筆記本開始建立迴歸模型")
[![初學者機器學習 - 設定 Jupyter 筆記本以開始建立迴歸模型](https://img.youtube.com/vi/7E-jC8FLA2E/0.jpg)](https://youtu.be/7E-jC8FLA2E "初學者機器學習 - 設定 Jupyter 筆記本以開始建立迴歸模型")
> 🎥 點擊上方圖片觀看此練習的教學短片。
> 🎥 點擊上圖觀看這個練習的影片示範。
### 練習 - 使用筆記本
### 練習 — 使用筆記本
在此資料夾中,你會找到 _notebook.ipynb_ 檔案。
在此資料夾中,你會找到檔案 _notebook.ipynb_。
1. 在 Visual Studio Code 中打開 _notebook.ipynb_。
Jupyter 服務會以 Python 3+ 启动。你會看到筆記本中可 `執行` 的程式碼區塊。點擊類似播放按鈕的圖示即可執行區塊。
Jupyter 伺服器會啟動並使用 Python 3+。你會在筆記本中看到可以 `運行` 的區塊,即程式碼片段。你可以點選類似播放鍵的圖示來運行該程式碼區塊。
1. 選擇 `md` 圖標並添加一些 markdown,寫入以下文字 **# 歡迎使用你的筆記本**。
1. 選取 `md` 圖示並加入一點 Markdown 格式,輸入以下文字:**# 歡迎使用你的筆記本**。
接著,加入一些 Python 程式碼。
接著,加入一些 Python 代碼。
1. 在程式碼區塊中輸入 **print('hello notebook')**。
1. 點擊箭頭執行程式碼。
1. 在程式碼區塊輸入 **print('hello notebook')**。
1. 點選執行箭頭跑這段程式碼。
你應該會看到列印的訊息:
你應該會看到印出的訊息:
```output
hello notebook
```
![VS Code 中開啟的筆記本](../../../../translated_images/zh-HK/notebook.4a3ee31f396b8832.webp)
![VS Code 中打開的筆記本](../../../../translated_images/zh-HK/notebook.4a3ee31f396b8832.webp)
你可以在程式碼中夾帶註解,讓筆記本自我文件化。
你可以在程式碼中穿插注釋,以自我文件化筆記本內容。
✅ 花點時間想想,網頁開發者的工作環境與數據科學家的工作環境有多不同。
✅ 花點時間思考,網頁開發者的工作環境與資料科學家的工作環境有什麼不同。
## 使用 Scikit-learn 快速起步
## 開始使用 Scikit-learn
現在你的本地環境已安裝好 Python,且熟悉 Jupyter 筆記本,接下來讓我們來熟悉 Scikit-learn(發音為「sci」就像「science」中的發音)。Scikit-learn 提供了[豐富的 API](https://scikit-learn.org/stable/modules/classes.html#api-ref),幫助你執行機器學習任務。
當你已經在本地環境中設好了 Python,且熟悉 Jupyter 筆記本後,我們接著來熟悉 Scikit-learn(讀作 sci,類似 science)。Scikit-learn 提供了 [廣泛的 API](https://scikit-learn.org/stable/modules/classes.html#api-ref) 幫助你完成機器學習任務。
根據他們的[網站](https://scikit-learn.org/stable/getting_started.html)描述:「Scikit-learn 是一個開源機器學習函式庫,支援監督式及非監督式學習。它同時提供模型擬合、資料預處理、模型選擇與評估以及許多其他實用工具。」
根據其 [官方網站](https://scikit-learn.org/stable/getting_started.html) 記載,「Scikit-learn 是一個支援監督與非監督學習的開源機器學習庫。它也提供多種模型擬合、資料前處理、模型選擇與評估工具,以及其他許多實用功能。」
在本課程中,你將使用 Scikit-learn 和其他工具,建立所謂「傳統機器學習」的模型。我們有意避開神經網絡與深度學習,這些會在即將推出的「初學者 AI」課程中深入介紹。
在本課程中,你將使用 Scikit-learn 與其他工具來建立機器學習模型,執行我們所謂的「傳統機器學習」任務。我們有意避開神經網絡與深度學習,因這部分將由即將推出的「初學者 AI 課程」涵蓋。
Scikit-learn 讓建立與評估模型變得簡單方便。它主要聚焦於使用數值資料,並內建多個現成數據集作學習範例,也包含已建好的模型供學生嘗試。讓我們先探索如何載入內建數據,使用 Scikit-learn 的預建估計器建立第一個機器學習模型,並分析簡單的數據。
Scikit-learn 讓模型建立與評估變得簡單,主要聚焦於數值型資料,也內建多個適合學習使用的資料集,並提供多種預建模型供學生嘗試。現在讓我們探索如何載入出廠包裝資料,並使用內建估算器建立你的第一個 Scikit-learn ML 模型。
## 練習 - 你的第一個 Scikit-learn 筆記本
## 練習 — 你的第一個 Scikit-learn 筆記本
> 本教程靈感來自 Scikit-learn 網站上的[線性迴歸範例](https://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py)。
> 本教學靈感來自 Scikit-learn 官方網站上的 [線性迴歸範例](https://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py)。
[![為初學者準備的 ML - 你的第一個 Python 線性迴歸專案](https://img.youtube.com/vi/2xkXL5EUpS0/0.jpg)](https://youtu.be/2xkXL5EUpS0 "為初學者準備的 ML - 你的第一個 Python 線性迴歸專案")
[![初學者機器學習 - 你的第一個 Python 線性迴歸專案](https://img.youtube.com/vi/2xkXL5EUpS0/0.jpg)](https://youtu.be/2xkXL5EUpS0 "初學者機器學習 - 你的第一個 Python 線性迴歸專案")
> 🎥 點擊上方圖片觀看此練習的教學短片。
> 🎥 點擊上圖觀看此練習的短片示範。
在本課程附帶的 _notebook.ipynb_ 檔案中,按下「垃圾桶」圖示清除所有儲存格。
在本課程相關的 _notebook.ipynb_ 檔案中,按下「垃圾桶」圖示清除所有儲存格內容。
這部分你將使用 Scikit-learn 內建一個關於糖尿病的小型數據集。假設你想測試某項糖尿病病患的治療方法。機器學習模型可幫助你依據變數組合判斷哪些病患的反應會較佳。即使是非常基礎的迴歸模型,當視覺化後,也可揭露變數間的信息,幫你規劃理論臨床試驗。
本節將使用 Scikit-learn 內建的一個關於糖尿病的小資料集,作為學習用途。假設你想測試一種糖尿病患者的治療方法,機器學習模型可能幫助你判斷哪類病患會對此治療反應較佳,基於多種變數組合。即使是非常基礎的迴歸模型,在視覺化時也可能顯示出可用於設計理論臨床試驗的變數相關資訊。
✅ 有許多類型的迴歸方法,不同方法適合解決不同問題。若你想預測特定年齡的身高,會用線性迴歸,因為你尋求的是<strong>數值結果</strong>;若你想判定一道菜是否屬於素食料理,則是<strong>分類問題</strong>,會用邏輯迴歸。稍後你將學習邏輯迴歸。花點時間思考可向資料提出的問題,以及哪種方法更合適。
✅ 迴歸方法有很多種,你選用何種取決於你想解答的問題。如果你想預測特定年齡者的身高,會用線性迴歸,因為你追求一個<strong>數值</strong>。若你想判斷某種料理是否為純素,則屬分類問題,會用邏輯迴歸。稍後你會學到邏輯迴歸。請思考你可以對資料提出什麼問題,並判斷哪些方法更適合。
現在開始著手這項任務。
現在開始這個任務吧。
### 引入程式庫
### 載入函式庫
這項任務會用到以下一些程式庫:
這個任務我們將導入下列函式庫:
- **matplotlib**。這是有用的[繪圖工具](https://matplotlib.org/),我們將用它來畫折線圖。
- **numpy**。[numpy](https://numpy.org/doc/stable/user/whatisnumpy.html) 是 Python 中處理數值資料的重要函式庫。
- **sklearn**。這是 [Scikit-learn](https://scikit-learn.org/stable/user_guide.html)。
- **matplotlib**。它是一個實用的[繪圖工具](https://matplotlib.org/),我們將用它來繪製折線圖。
- **numpy**。[numpy](https://numpy.org/doc/stable/user/whatisnumpy.html) 是 Python 中處理數值資料的有用函式庫。
- **sklearn**。即是[Scikit-learn](https://scikit-learn.org/stable/user_guide.html) 函式庫。
引入所需的程式庫協助完成任務。
匯入部分函式庫幫助你完成任務。
1. 輸入以下代碼以加入引用:
1. 在程式碼區塊輸入以下匯入指令:
```python
import matplotlib.pyplot as plt
@ -123,26 +123,26 @@ Scikit-learn 讓建立與評估模型變得簡單方便。它主要聚焦於使
from sklearn import datasets, linear_model, model_selection
```
你以上引用了 `matplotlib`、`numpy`,還從 `sklearn` 引入了 `datasets`、`linear_model` 和 `model_selection`。`model_selection` 用於將資料分成訓練組與測試組。
上面你匯入了 `matplotlib` 和 `numpy`,並從 `sklearn` 匯入 `datasets`、`linear_model` 及 `model_selection`。`model_selection` 用於將資料切分為訓練及測試集。
### 糖尿病數據集
### 糖尿病資料集
內建的 [糖尿病數據集](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)包含 442 筆糖尿病相關資料,含 10 項特徵變數,其中包括:
內建的 [糖尿病資料集](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset) 包含 442 筆糖尿病相關樣本資料,含 10 項特徵變數,其中包括:
- 年齡:years
- 體重指數 (bmi)
- 血壓平均值 (bp)
- 年齡:以年為單位
- BMI:身體質量指數
- 血壓:平均血壓
- s1 tc:T 細胞(一種白血球)
✅ 此資料集將「性別」視為一項重要特徵變數,醫學資料中常包含此類二元分類。思考一下這種分類方式可能導致部分族群因特徵被排除於療法之外。
✅ 此資料集將「性別」納為糖尿病研究的重要特徵變數。許多醫學資料集包含此二元分類。請思考這類分類方式可能使某些族群遭排除於治療之外。
現在載入資料矩陣 X 和目標 y。
現在載入 X 與 y 資料。
> 🎓 請記得,這是監督式學習,需要一個命名為 y 的目標變量。
> 🎓 請記得,這是監督式學習,我們需要一個命名為 y 的目標變數。
在新程式碼區塊中,透過呼叫 `load_diabetes()` 載入糖尿病資料集。參數 `return_X_y=True` 表示回傳的 X 是資料矩陣,y 是迴歸目標。
在新程式碼儲存格中,呼叫 `load_diabetes()` 載入糖尿病資料集。引數 `return_X_y=True` 表示 `X` 是資料矩陣,而 `y` 為迴歸目標。
1. 加入 print 指令以顯示資料矩陣形狀與第一筆資料:
1. 新增一些 print 指令以顯示資料矩陣形狀及其第一個元素:
```python
X, y = datasets.load_diabetes(return_X_y=True)
@ -150,9 +150,9 @@ Scikit-learn 讓建立與評估模型變得簡單方便。它主要聚焦於使
print(X[0])
```
回傳結果是一個元組。你是將元組的前兩個值分別賦值給 `X` 和 `y`。進一步了解 [元組](https://wikipedia.org/wiki/Tuple)。
你會收到一個 Tuple 作為回傳值。你做的動作是將元組的兩個第一個值依序指定給 `X` 和 `y`。想了解更多可查看 [關於元組](https://wikipedia.org/wiki/Tuple)。
你可以看到資料有 442 筆,且每筆資料包含 10 個元素:
你可以看到資料含有 442 筆樣本,每筆由 10 個元素的陣列構成:
```text
(442, 10)
@ -160,39 +160,39 @@ Scikit-learn 讓建立與評估模型變得簡單方便。它主要聚焦於使
-0.04340085 -0.00259226 0.01990842 -0.01764613]
```
✅ 想想資料與迴歸目標之間的關係。線性迴歸預測特徵 X 與目標變數 y 的關係。你能在說明文檔找到糖尿病資料集的[目標](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)是什麼嗎?這資料集想展示什麼?
✅ 想一想資料與迴歸目標的關係。線性迴歸預測特徵 X 與目標變數 y 之間的關係。你能在文件中找到糖尿病資料集的[目標值](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)是什麼嗎?由此資料集及目標值你能了解什麼?
2. 接著選取此資料集中的一部份畫圖,方法是選取第 3 欄數據。你可以使用 `:` 選擇所有列,再用索引 (2) 選擇第 3 欄。為符合繪圖需求,可以用 `reshape(n_rows, n_columns)` 將資料重新塑形。當一個參數為 -1 時,該維度大小會自動計算。
2. 接著,選出資料集中的一部分繪圖,選取第 3 欄資料。你可用 `:` 選取所有列,再用索引(2)選擇第 3 欄。你也可以將資料重塑為 2D 陣列,以符合繪圖需求,使用 `reshape(n_rows, n_columns)`。其中若參數為 -1,則對應維度會自動計算。
```python
X = X[:, 2]
X = X.reshape((-1,1))
```
✅ 需要時隨時列印資料檢查其形狀。
✅ 隨時可印出資料確認其形狀。
3. 現在你有了可以繪圖的資料,接著可讓機器判斷資料分組的合理界線。為此,需要將資料 (X) 與目標 (y) 分割成測試集與訓練集。Scikit-learn 提供簡單方法指定分割點。
3. 現在資料已備妥可繪圖,你可檢查機器能否找出資料的合理分界。為此,你必須將資料(X)和目標(y)切分為測試與訓練集。Scikit-learn 提供簡便方法,你可指定分割點拆分資料。
```python
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.33)
```
4. 現在準備訓練模型!載入線性迴歸模型並用 X 與 y 訓練資料集執行 `model.fit()` 進行訓練:
4. 現在準備訓練模型了!載入線性迴歸模型,並用你的 X 和 y 訓練資料集用 `model.fit()` 進行訓練:
```python
model = linear_model.LinearRegression()
model.fit(X_train, y_train)
```
✅ `model.fit()` 是許多 ML 函式庫(例如 TensorFlow)常見的訓練函式
✅ `model.fit()` 是許多機器學習庫(如 TensorFlow)常見的函式。
5. 使用測試資料透過 `predict()` 函式創建預測,繪圖時將用這條預測線分隔資料群組
5. 接著,使用測試資料用 `predict()` 函式進行預測。此預測可用來畫出分界線。
```python
y_pred = model.predict(X_test)
```
6. 現在是時候用圖形顯示資料。Matplotlib 是非常有用的工具。繪製所有 X 與 y 測試資料的散點圖,並利用預測結果畫出最合適的分界線,顯示模型資料分組。
6. 現在是時候透過繪圖展現資料了。Matplotlib 是非常實用的工具。繪製測試資料 X 與 y 的散點圖,並利用預測結果在資料群組中畫出一條最適合的線。
```python
plt.scatter(X_test, y_test, color='black')
@ -203,28 +203,27 @@ Scikit-learn 讓建立與評估模型變得簡單方便。它主要聚焦於使
plt.show()
```
![展示糖尿病資料點的散點圖](../../../../translated_images/zh-HK/scatterplot.ad8b356bcbb33be6.webp)
![糖尿病資料點散佈圖](../../../../translated_images/zh-HK/scatterplot.ad8b356bcbb33be6.webp)
✅ 思考一下這裡發生了什麼。一條直線穿過許多小點,但它究竟在做什麼?你是否能理解如何利用這條線預測一個新、未看過的資料點應該如何相對於 y 軸排列?試著將此模型的實用意義用語言描述出來。
✅ 想一想這裡發生了什麼。一條直線穿過許多小點資料,但它到底在做什麼?你能否看到如何利用這條線去預測一個新的、未見過的資料點應該在圖上的 y 軸上的位置?試著用文字描述這個模型的實際用途。
恭喜你,建立了你的第一個線性回歸模型,使用它做出一個預測,並將結果顯示在圖表中!
恭喜你,完成了你的第一個線性迴歸模型,做出預測,並以圖形展示出來!
---
## 🚀挑戰
繪製這個資料集中的另一個變數。提示:編輯這行:`X = X[:,2]`。根據這個資料集的目標,你能發現糖尿病作為一種疾病的發展過程嗎?
## [課後小測驗](https://ff-quizzes.netlify.app/en/ml/)
從此資料集中繪製另一個變數。提示:修改這行:`X = X[:,2]`。根據此資料集的目標,你能從中發現糖尿病作為疾病的進展狀況嗎?
## [課後問答](https://ff-quizzes.netlify.app/en/ml/)
## 回顧與自學
在本教學中,你使用的是簡單線性回歸,而非單變量或多重線性回歸。閱讀一些關於這些方法差異的資料,或觀看[這個影片](https://www.coursera.org/lecture/quantifying-relationships-regression-models/linear-vs-nonlinear-categorical-variables-ai2Ef)
在本教程中,你涉獵了簡單線性迴歸,而非單變量或多變量線性迴歸。可閱讀關於這些方法差異的資料,或參考 [此影片](https://www.coursera.org/lecture/quantifying-relationships-regression-models/linear-vs-nonlinear-categorical-variables-ai2Ef)。
多閱讀關於回歸這個概念的內容,並思考這種技術能回答哪些類型的問題。參加這個[教學](https://docs.microsoft.com/learn/modules/train-evaluate-regression-models?WT.mc_id=academic-77952-leestott)來深化你的理解。
閱讀有關迴歸概念的更多內容,並思考這種技術可以回答哪些類型的問題。參加此 [教程](https://docs.microsoft.com/learn/modules/train-evaluate-regression-models?WT.mc_id=academic-77952-leestott) 以加深你的理解。
## 作業
[另一個資料集](assignment.md)
[另一個數據集](assignment.md)
---

@ -1,33 +1,35 @@
# 機器學習中的聚類模型
# 機器學習的群集模型
聚類是一種機器學習任務,旨在尋找彼此相似的物件並將它們分組成稱為「群集」的組別。聚類與機器學習中的其他方法不同,因為它是自動進行的。事實上,可以說它是監督式學習的反面。
群集是一種機器學習任務,它旨在尋找彼此相似的物件,並將它們分組成所謂的群集。群集與其他機器學習方法的不同之處在於,所有過程是自動進行的,事實上,可以說它是監督式學習的相反。
## 區域主題:針對尼日利亞觀眾音樂品味的聚類模型 🎧
## 地區主題:針對尼日利亞聽眾音樂品味的群集模型 🎧
尼日利亞的多元化觀眾擁有多樣化的音樂品味。使用從 Spotify 抓取的數據(靈感來自[這篇文章](https://towardsdatascience.com/country-wise-visual-analysis-of-music-taste-using-spotify-api-seaborn-in-python-77f5b749b421)),讓我們來看看一些在尼日利亞流行的音樂。這個數據集包含了各種歌曲的「舞蹈性」分數、「聲學性」、音量、「語音性」、流行度和能量等數據。探索這些數據中的模式將會非常有趣!
尼日利亞多元化的聽眾群體擁有多樣化的音樂品味。我們用從 Spotify 擷取的數據(靈感來自[this article](https://towardsdatascience.com/country-wise-visual-analysis-of-music-taste-using-spotify-api-seaborn-in-python-77f5b749b421)),來看看在尼日利亞受歡迎的一些音樂。這個資料集包含了各種歌曲的「適合跳舞度」分數、「原聲度」、響度、「語音性」、受歡迎度和能量。探索這些數據中的模式會很有趣!
![唱盤](../../../translated_images/zh-HK/turntable.f2b86b13c53302dc.webp)
![A turntable](../../../translated_images/zh-HK/turntable.f2b86b13c53302dc.webp)
> 照片由 <a href="https://unsplash.com/@marcelalaskoski?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Marcela Laskoski</a> 提供,來自 <a href="https://unsplash.com/s/photos/nigerian-music?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
> 圖片由 <a href="https://unsplash.com/@marcelalaskoski?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Marcela Laskoski</a> 拍攝,來源於 <a href="https://unsplash.com/s/photos/nigerian-music?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
在這系列課程中,你將學習使用聚類技術分析數據的新方法。當你的數據集缺乏標籤時,聚類特別有用。如果數據集有標籤,那麼你在之前課程中學到的分類技術可能會更有用。但在需要分組未標記數據的情況下,聚類是一種發現模式的好方法。
在這系列課程中,您將會發現使用群集技術分析數據的新方法。當您的資料集缺乏標籤時,群集特別有用。如果資料集中有標籤,那麼像之前課程中學過的分類技術可能會更有用。但在尋找群組無標籤資料的情況下,群集是一個很棒的方式來發現模式。
> 有一些低代碼工具可以幫助你學習如何使用聚類模型。試試 [Azure ML](https://docs.microsoft.com/learn/modules/create-clustering-model-azure-machine-learning-designer/?WT.mc_id=academic-77952-leestott) 來完成這項任務。
> 有一些有用的低程式碼工具可以幫助您學習如何使用群集模型。試試 [適用於此任務的 Azure ML](https://docs.microsoft.com/learn/modules/create-clustering-model-azure-machine-learning-designer/?WT.mc_id=academic-77952-leestott)
## 課程
1. [聚類簡介](1-Visualize/README.md)
2. [K-Means 聚類](2-K-Means/README.md)
1. [群集入門](1-Visualize/README.md)
2. [K-Means 群集](2-K-Means/README.md)
## 致謝
## 版權聲明
這些課程由 [Jen Looper](https://www.twitter.com/jenlooper) 帶著 🎶 編寫,並由 [Rishit Dagli](https://rishit_dagli) 和 [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) 提供了有益的審核。
這些課程由 [Jen Looper](https://www.twitter.com/jenlooper) 撰寫並作曲 🎶,並由 [Rishit Dagli](https://rishit_dagli/) 及 [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) 提供寶貴的審閱意見。
[Nigerian Songs](https://www.kaggle.com/sootersaalu/nigerian-songs-spotify) 數據集來自 Kaggle,並從 Spotify 抓取。
[尼日利亞歌曲](https://www.kaggle.com/sootersaalu/nigerian-songs-spotify) 資料集來自於 Kaggle,資料是從 Spotify 擷取而得。
有助於創建這課程的 K-Means 示例包括這個 [iris 探索](https://www.kaggle.com/bburns/iris-exploration-pca-k-means-and-gmm-clustering)、這個[入門筆記本](https://www.kaggle.com/prashant111/k-means-clustering-with-python),以及這個[假設的 NGO 示例](https://www.kaggle.com/ankandash/pca-k-means-clustering-hierarchical-clustering)。
有助於創建本課程的有用 K-Means 範例包括這個 [鳶尾花資料集探索](https://www.kaggle.com/bburns/iris-exploration-pca-k-means-and-gmm-clustering)、這個 [入門筆記本](https://www.kaggle.com/prashant111/k-means-clustering-with-python),以及這個 [假設性的非政府組織範例](https://www.kaggle.com/ankandash/pca-k-means-clustering-hierarchical-clustering)。
---
**免責聲明**:
本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
本文件由 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯而成。雖然我們致力於確保準確性,但請注意,機器自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議進行專業人工翻譯。我們不對因使用本翻譯而產生的任何誤解或誤釋承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,28 +1,30 @@
# 時間序列預測簡介
# 時間序列預測介紹
什麼是時間序列預測?它是通過分析過去的趨勢來預測未來事件。
## 地區主題:全球電力使用 ✨
在這兩節課中,你將學習時間序列預測,一個相對較少人熟悉但在工業和商業應用等領域非常有價值的機器學習領域。雖然神經網絡可以用來提升這些模型的效用,但我們將在經典機器學習的背景下研究它們,因為這些模型能夠根據過去的表現來預測未來。
在這兩堂課中,您將會接觸到時間序列預測,這是機器學習中一個相對較少人知道的領域,但對產業和商業應用等多個領域卻極為重要。雖然神經網絡可以用來增強這些模型的效用,我們會在傳統機器學習的背景下學習這些模型,因為模型有助於基於過去預測未來的表現。
我們的地區重點是全球的電力使用,這是一個有趣的數據集,可以用來學習如何根據過去的負載模式來預測未來的電力需求。你可以看到這種預測在商業環境中是多麼有幫助。
我們的區域重點是全球電力使用,這是一個有趣的數據集,用於學習如何根據過去負載的模式預測未來的用電量。您可以看到這類預測在商業環境中非常有幫助。
![電網](../../../translated_images/zh-HK/electric-grid.0c21d5214db09ffa.webp)
![electric grid](../../../translated_images/zh-HK/electric-grid.0c21d5214db09ffa.webp)
照片由 [Peddi Sai hrithik](https://unsplash.com/@shutter_log?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) 在拉賈斯坦邦的道路上拍攝的電塔,來自 [Unsplash](https://unsplash.com/s/photos/electric-india?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
照片由 [Peddi Sai hrithik](https://unsplash.com/@shutter_log?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) 拍攝,為位於拉賈斯坦邦一條道路上的電力塔,收錄於 [Unsplash](https://unsplash.com/s/photos/electric-india?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
## 課程
1. [時間序列預測簡介](1-Introduction/README.md)
1. [時間序列預測介紹](1-Introduction/README.md)
2. [建立 ARIMA 時間序列模型](2-ARIMA/README.md)
3. [建立支持向量回歸器進行時間序列預測](3-SVR/README.md)
3. [建立用於時間序列預測的支持向量回歸器](3-SVR/README.md)
## 致謝
"時間序列預測簡介" 由 [Francesca Lazzeri](https://twitter.com/frlazzeri) 和 [Jen Looper](https://twitter.com/jenlooper) ⚡️ 撰寫。這些筆記本最初出現在 [Azure "Deep Learning For Time Series" repo](https://github.com/Azure/DeepLearningForTimeSeriesForecasting),由 Francesca Lazzeri 原創撰寫。SVR 課程由 [Anirban Mukherjee](https://github.com/AnirbanMukherjeeXD) 撰寫。
「時間序列預測介紹」由 [Francesca Lazzeri](https://twitter.com/frlazzeri) 和 [Jen Looper](https://twitter.com/jenlooper) 共同編寫並帶來 ⚡️。這些筆記本最初於 [Azure “Deep Learning For Time Series” 倉庫](https://github.com/Azure/DeepLearningForTimeSeriesForecasting)線上發表,最初作者為 Francesca Lazzeri。SVR 課程則由 [Anirban Mukherjee](https://github.com/AnirbanMukherjeeXD) 撰寫。
---
**免責聲明**:
本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
本文件由 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯而成。雖然我們致力於確保準確性,但請注意,機器自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議進行專業人工翻譯。我們不對因使用本翻譯而產生的任何誤解或誤釋承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,177 +1,182 @@
[![GitHub license](https://img.shields.io/github/license/microsoft/ML-For-Beginners.svg)](https://github.com/microsoft/ML-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub 授權](https://img.shields.io/github/license/microsoft/ML-For-Beginners.svg)](https://github.com/microsoft/ML-For-Beginners/blob/master/LICENSE)
[![GitHub 貢獻者](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/)
[![GitHub 問題追蹤](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/)
[![GitHub 拉取請求](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/)
[![歡迎拉取請求](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/ML-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/ML-For-Beginners/stargazers/)
[![GitHub 觀察者](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/)
[![GitHub 分支](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/)
[![GitHub 星標](https://img.shields.io/github/stars/microsoft/ML-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/ML-For-Beginners/stargazers/)
### 🌐 多語言支援
#### 透過 GitHub Action 支援(自動且永遠保持最新)
#### 透過 GitHub Action 支援(自動且持續更新)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[阿拉伯文](../ar/README.md) | [孟加拉文](../bn/README.md) | [保加利亞文](../bg/README.md) | [緬甸語](../my/README.md) | [中文(簡體)](../zh-CN/README.md) | [中文(繁體,香港)](./README.md) | [中文(繁體,澳門)](../zh-MO/README.md) | [中文(繁體,台灣)](../zh-TW/README.md) | [克羅地亞文](../hr/README.md) | [捷克文](../cs/README.md) | [丹麥文](../da/README.md) | [荷蘭文](../nl/README.md) | [愛沙尼亞文](../et/README.md) | [芬蘭文](../fi/README.md) | [法文](../fr/README.md) | [德文](../de/README.md) | [希臘文](../el/README.md) | [希伯來文](../he/README.md) | [印地文](../hi/README.md) | [匈牙利文](../hu/README.md) | [印尼文](../id/README.md) | [義大利文](../it/README.md) | [日文](../ja/README.md) | [卡納達文](../kn/README.md) | [高棉文](../km/README.md) | [韓文](../ko/README.md) | [立陶宛文](../lt/README.md) | [馬來文](../ms/README.md) | [馬拉雅拉姆文](../ml/README.md) | [馬拉地文](../mr/README.md) | [尼泊爾文](../ne/README.md) | [奈及利亞俚語](../pcm/README.md) | [挪威文](../no/README.md) | [波斯文(法爾西語)](../fa/README.md) | [波蘭文](../pl/README.md) | [葡萄牙文(巴西)](../pt-BR/README.md) | [葡萄牙文(葡萄牙)](../pt-PT/README.md) | [旁遮普文(古魯穆奇體)](../pa/README.md) | [羅馬尼亞文](../ro/README.md) | [俄文](../ru/README.md) | [塞爾維亞文(西里爾字母)](../sr/README.md) | [斯洛伐克文](../sk/README.md) | [斯洛文尼亞文](../sl/README.md) | [西班牙文](../es/README.md) | [斯瓦希里文](../sw/README.md) | [瑞典文](../sv/README.md) | [他加祿文(菲律賓語)](../tl/README.md) | [泰米爾文](../ta/README.md) | [泰盧固文](../te/README.md) | [泰文](../th/README.md) | [土耳其文](../tr/README.md) | [烏克蘭文](../uk/README.md) | [烏爾都文](../ur/README.md) | [越南文](../vi/README.md)
[阿拉伯語](../ar/README.md) | [孟加拉語](../bn/README.md) | [保加利亞語](../bg/README.md) | [緬甸語 (Myanmar)](../my/README.md) | [中文(簡體)](../zh-CN/README.md) | [中文(繁體,香港)](./README.md) | [中文(繁體,澳門)](../zh-MO/README.md) | [中文(繁體,台灣)](../zh-TW/README.md) | [克羅地亞語](../hr/README.md) | [捷克語](../cs/README.md) | [丹麥語](../da/README.md) | [荷蘭語](../nl/README.md) | [愛沙尼亞語](../et/README.md) | [芬蘭語](../fi/README.md) | [法語](../fr/README.md) | [德語](../de/README.md) | [希臘語](../el/README.md) | [希伯來語](../he/README.md) | [印地語](../hi/README.md) | [匈牙利語](../hu/README.md) | [印尼語](../id/README.md) | [意大利語](../it/README.md) | [日語](../ja/README.md) | [卡納達語](../kn/README.md) | [高棉語](../km/README.md) | [韓語](../ko/README.md) | [立陶宛語](../lt/README.md) | [馬來語](../ms/README.md) | [馬拉雅拉姆語](../ml/README.md) | [馬拉地語](../mr/README.md) | [尼泊爾語](../ne/README.md) | [奈及利亞皮欽語](../pcm/README.md) | [挪威語](../no/README.md) | [波斯語(法爾西)](../fa/README.md) | [波蘭語](../pl/README.md) | [葡萄牙語(巴西)](../pt-BR/README.md) | [葡萄牙語(葡萄牙)](../pt-PT/README.md) | [旁遮普語 (Gurmukhi)](../pa/README.md) | [羅馬尼亞語](../ro/README.md) | [俄語](../ru/README.md) | [塞爾維亞語(西里爾字母)](../sr/README.md) | [斯洛伐克語](../sk/README.md) | [斯洛文尼亞語](../sl/README.md) | [西班牙語](../es/README.md) | [斯瓦希里語](../sw/README.md) | [瑞典語](../sv/README.md) | [他加祿語(菲律賓語)](../tl/README.md) | [泰米爾語](../ta/README.md) | [泰盧固語](../te/README.md) | [泰語](../th/README.md) | [土耳其語](../tr/README.md) | [烏克蘭語](../uk/README.md) | [烏爾都語](../ur/README.md) | [越南語](../vi/README.md)
> **想本地克隆?**
> **想要在本機克隆?**
>
> 此儲存庫包含超過 50 種語言翻譯,會大幅增加下載大小。若想不含翻譯克隆,請使用 sparse checkout:
> 此儲存庫包含超過 50 種語言的翻譯,會顯著增加下載大小。如需不包含翻譯的克隆,請使用稀疏簽出:
>
> **Bash / macOS / Linux:**
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
>
> **CMD (Windows):**
> **CMD(Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> 這樣你能以更快速度完成下載,並擁有完成課程所需的所有內容。
> 這樣可以用更快的下載速度取得完成課程所需的所有內容。
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### 加入我們的社群
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
我們推出了 Discord 上的「與 AI 一起學習」系列,了解詳情並於 2025 年 9 月 18 至 30 日加入我們,網址:[Learn with AI Series](https://aka.ms/learnwithai/discord)。你將學習如何用 GitHub Copilot 於資料科學中獲得小技巧和秘訣。
我們正在進行 Discord 的「與 AI 一同學習」系列,詳情與加入請見 [Learn with AI Series](https://aka.ms/learnwithai/discord)(2025 年 9 月 18 日至 30 日)。你將學習到使用 GitHub Copilot 於數據科學的技巧和秘訣。
![Learn with AI series](../../translated_images/zh-HK/3.9b58fd8d6c373c20.webp)
![與 AI 一同學習系列](../../translated_images/zh-HK/3.9b58fd8d6c373c20.webp)
# 初學者機器學習課程大綱
> 🌍 環遊世界,透過世界文化探索機器學習 🌍
> 🌍 透過世界各地文化的視角,環遊世界探索機器學習 🌍
微軟的 Cloud Advocates 很高興提供一套 12 週,共 26 節課的機器學習課程。在本課程中,你會學習所謂的 <strong>經典機器學習</strong>,主要使用 Scikit-learn 函式庫,避開深度學習,後者可在我們的 [AI初學者課程](https://aka.ms/ai4beginners)中學習。這些課程也可搭配我們的 ['初學者資料科學'課程](https://aka.ms/ds4beginners)使用!
微軟的雲端倡導者很高興提供一個為期 12 週、共 26 課的課程,專注於<strong>機器學習</strong>。本課程教你有時稱為<strong>經典機器學習</strong>的內容,主要使用 Scikit-learn 函式庫,避免深度學習,本課題已於我們的[初學者 AI 課程](https://aka.ms/ai4beginners)涵蓋。建議同時參考我們的[初學者數據科學課程](https://aka.ms/ds4beginners)。
跟著我們環遊世界,將這些經典技術應用於各地的數據。每節課都包含課前及課後小測驗、書面指引、解答、作業等。我們的專案導向教學法讓你在動手實做中學習,是幫助新技能內化的有效方式。
與我們一同環遊世界,應用這些經典技術分析來自世界各地的數據。每節課包含課前與課後小測驗、書面指引、解決方案、作業等。我們以專案為基礎的教學法讓你一邊建構一邊學習,是學習新技能的良好方法。
**✍️ 衷心感謝作者團隊:** Jen Looper, Stephen Howell, Francesca Lazzeri, Tomomi Imura, Cassie Breviu, Dmitry Soshnikov, Chris Noring, Anirban Mukherjee, Ornella Altunyan, Ruth Yakubu 和 Amy Boyd
**✍️ 衷心感謝我們的作者** Jen Looper、Stephen Howell、Francesca Lazzeri、Tomomi Imura、Cassie Breviu、Dmitry Soshnikov、Chris Noring、Anirban Mukherjee、Ornella Altunyan、Ruth Yakubu 與 Amy Boyd
**🎨 亦感謝插畫師:** Tomomi Imura, Dasani Madipalli, 和 Jen Looper
**🎨 也感謝我們的插畫師** Tomomi Imura、Dasani Madipalli 與 Jen Looper
**🙏 特別感謝微軟學生大使作者、審核與內容貢獻者,尤其是 Rishit Dagli、Muhammad Sakib Khan Inan、Rohan Raj、Alexandru Petrescu、Abhishek Jaiswal、Nawrin Tabassum、Ioan Samuila 和 Snigdha Agarwal**
**🙏 特別感謝我們的 Microsoft 學生大使作者、審稿人與內容貢獻者**,包括 Rishit Dagli、Muhammad Sakib Khan Inan、Rohan Raj、Alexandru Petrescu、Abhishek Jaiswal、Nawrin Tabassum、Ioan Samuila 與 Snigdha Agarwal
**🤩 額外感謝微軟學生大使 Eric Wanjau、Jasleen Sondhi 和 Vidushi Gupta 協助 R 課程!**
**🤩 額外感謝 Microsoft 學生大使 Eric Wanjau、Jasleen Sondhi 與 Vidushi Gupta 提供我們的 R 課程!**
# 開始使用
# 入門指南
請依照以下步驟:
1. **Fork 儲存庫**:點擊頁面右上角的「Fork」按鈕。
2. **Clone 儲存庫**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
請遵循以下步驟:
1. <strong>分叉本儲存庫</strong>:點擊本頁右上角的「Fork」按鈕。
2. <strong>克隆儲存庫</strong>: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [在我們的 Microsoft Learn 集合中尋找本課程所有附加資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 💡 **快速入門提示:** 想不用在本機安裝 Python 在瀏覽器中快速開始?使用 [GitHub Codespaces](https://github.com/features/codespaces) 為你的分叉建立雲端開發環境。點擊綠色 **Code** 選單,選擇 **Codespaces**,然後建立 codespace;依需要在其中安裝每節課所需的依賴。
> 🔧 **需要幫助?** 請查看我們的 [故障排除指南](TROUBLESHOOTING.md),協助解決安裝、設定和執行課程常見問題。
> [在我們的 Microsoft Learn 集合中找到本課程所有額外資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
**[學生](https://aka.ms/student-page)**,使用本課程時,請 fork 整個儲存庫到你的 GitHub 帳號,自行或與組員一起完成練習:
> 🔧 **需要幫助?** 請參考我們的 [故障排除指南](TROUBLESHOOTING.md),協助解決安裝、設定和執行課程的常見問題。
- 先從課前小測開始。
- 閱讀課程內容並完成任務,每個知識檢測時刻停思考。
- 嘗試理解課程內容後自己動手創作專案,解答程式碼位於每個專案課程中的 `/solution` 資料夾。
- 完成課後小測。
**[學員](https://aka.ms/student-page)** 如要使用本課程,請將整個儲存庫分叉到你的 GitHub 帳號,並自行或組隊完成練習:
- 從課前小測驗開始。
- 閱讀課程內容並完成活動,於每次知識檢測時暫停並反思。
- 嘗試理解課程內容自行創建專案,而非直接使用解決方案代碼;不過解決方案代碼可在每個專案課程的 `/solution` 資料夾中找到。
- 完成課後小測驗。
- 完成挑戰題。
- 完成作業。
- 完成一組課程後,前往 [討論區](https://github.com/microsoft/ML-For-Beginners/discussions),透過填寫合適的 PAT 評分表「大聲學習」。'PAT' 是進度評估工具,透過表格幫助你學習。你也可以回應他人 PAT,一起進步。
- 完成一組課程後,請參加 [討論區](https://github.com/microsoft/ML-For-Beginners/discussions),並透過填寫適用的 PAT 評量表「大聲學習」。PAT 為進度評估工具,是你填寫以推進學習的評量表,也可對其他人的 PAT 給予回饋,一同學習。
> 進一步學習,我們推薦參考以下 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) 模組及學習路徑。
> 如需進一步學習,建議參考這些 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) 模組與學習路徑。
<strong>教師們</strong>,我們有在 [使用建議](for-teachers.md) 提供一些參考。
<strong>教師們</strong>,我們提供了[使用本課程的建議](for-teachers.md)。
---
## 影片教學
## 影片導覽
部分課程提供短影片說明。你可於課程中直接觀看,或至 [Microsoft Developer YouTube 頻道的 ML for Beginners 播放列表](https://aka.ms/ml-beginners-videos)點擊下方圖片觀看。
部分課程有提供短片形式的說明。你可以在課程內嵌中觀看這些影片,也可於 [Microsoft Developer YouTube 頻道的 ML for Beginners 播放清單](https://aka.ms/ml-beginners-videos)中點擊下方圖片觀看。
[![ML for beginners banner](../../translated_images/zh-HK/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
[![ML for beginners 橫幅](../../translated_images/zh-HK/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
---
## 認識團隊
## 團隊介紹
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
[![宣傳影片](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
**GIF 製作由** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
<strong>動圖由</strong> [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) 製作
> 🎥 點擊上方圖片觀看本專案及團隊影片介紹!
> 🎥 點擊上方圖片觀看關於本專案及創作者的影片!
---
## 教學法
本課程設計遵循兩大教學原則:確保內容是實作 <strong>專案導向</strong>,並包含 <strong>頻繁的小測驗</strong>。此外,本課程有統一的 <strong>主題</strong> ,增強一致性。
我們在設計本課程時選擇了兩大教學準則:確保內容是動手做的<strong>專案導向</strong>,且包含<strong>頻繁的測驗</strong>。此外,本課程具有一致的<strong>主題</strong>以增強連貫性。
透過專案對應課程內容,讓學習更投入並提升觀念記憶。課前低壓力小測目的是啟發學習意圖,課後測驗則有助鞏固記憶。本課程設計靈活有趣,可全程參與或挑選部分學習。專案由淺入深,12 週結束時達較高難度。本課程另附機器學習真實應用的補充章節,可用做額外加分或討論話題。
透過確保內容與專案對齊,提升學生的學習投入並加強概念記憶。課前低壓力測驗設置學習意向,課後測驗確保知識留存。本課程設計靈活且有趣,可整體或分段學習。專案由淺入深,於 12 週周期結尾達到高度複雜度。本課程亦包含對機器學習實際應用的補充說明,可作為額外學分或討論基礎。
> 查看我們的 [行為守則](CODE_OF_CONDUCT.md)、[貢獻指南](CONTRIBUTING.md)、[翻譯](..) 及 [故障排除](TROUBLESHOOTING.md) 文件,我們歡迎你的建設性反饋!
> 查看我們的[行為準則](CODE_OF_CONDUCT.md)、[貢獻指南](CONTRIBUTING.md)、[翻譯指南](..)與[故障排除](TROUBLESHOOTING.md)政策。我們歡迎您的建設性回饋!
## 每節課程包含
## 每節課包含
- 可選的手繪筆記
- 可選的附加影片
- 影片講解(部分課程)
- [課前暖身小測驗](https://ff-quizzes.netlify.app/en/ml/)
- 選擇性草圖筆記
- 選擇性補充影片
- 影片導覽(部分課程)
- [課前暖身測驗](https://ff-quizzes.netlify.app/en/ml/)
- 書面課程內容
- 專案課程時,逐步專案建立指南
- 專案導向課程附逐步操作指南
- 知識檢測
- 挑戰題
- 補充閱讀
- 補充閱讀資料
- 作業
- [課後小測驗](https://ff-quizzes.netlify.app/en/ml/)
> <strong>關於語言的說明</strong>:這些課程主要以 Python 編寫,但許多也有提供 R 語言版本。要完成 R 課程,請前往 `/solution` 資料夾尋找 R 課程。它們包含一個 .rmd 副檔名,代表 **R Markdown** 檔案,這可簡單定義為在一個 `Markdown 文件` 中嵌入 `程式碼區塊`(R 或其他語言)和一個 `YAML 標頭`(指導如何格式化輸出,如 PDF)。因此,它是數據科學的典範創作框架,因為它允許你將程式碼、輸出結果和思考結合起來,並允許你用 Markdown 書寫。此外,R Markdown 文件可以渲染成 PDF、HTML 或 Word 等輸出格式。
> <strong>關於測驗的說明</strong>:所有測驗都包含在 [Quiz App folder](../../quiz-app) 中,共 52 組,每組有三個問題。它們在課程中有連結,但測驗應用程式可以本地執行;請遵循 `quiz-app` 資料夾中的指示進行本地架設或部署到 Azure。
| 課程編號 | 主題 | 課程分組 | 學習目標 | 合作課程 | 作者 |
| :------: | :------------------------------------------------------------: | :------------------------------------------: | ---------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------: |
| 01 | 機器學習簡介 | [Introduction](1-Introduction/README.md) | 學習機器學習的基本概念 | [課程](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | 機器學習的歷史 | [Introduction](1-Introduction/README.md) | 學習此領域的歷史背景 | [課程](1-Introduction/2-history-of-ML/README.md) | Jen and Amy |
| 03 | 公平性與機器學習 | [Introduction](1-Introduction/README.md) | 建構及應用機器學習模型時,學生應考慮哪些重要的公平性哲學議題? | [課程](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | 機器學習技術 | [Introduction](1-Introduction/README.md) | 機器學習研究者用哪些技術來建構機器學習模型? | [課程](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen |
| 05 | 回歸模型介紹 | [Regression](2-Regression/README.md) | 使用 Python 和 Scikit-learn 入門回歸模型 | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 進行視覺化以及資料清理以準備機器學習 | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 建構線性與多項式回歸模型 | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen and Dmitry • Eric Wanjau |
| 08 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 建構邏輯斯迴歸模型 | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | 網頁應用程式 🔌 | [Web App](3-Web-App/README.md) | 建構網頁應用程式以使用你的訓練模型 | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | 分類介紹 | [Classification](4-Classification/README.md) | 清理、準備並視覺化你的資料;分類概論 | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen and Cassie • Eric Wanjau |
| 11 | 美味的亞洲和印度料理 🍜 | [Classification](4-Classification/README.md) | 分類器介紹 | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen and Cassie • Eric Wanjau |
| 12 | 美味的亞洲和印度料理 🍜 | [Classification](4-Classification/README.md) | 更多分類器 | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen and Cassie • Eric Wanjau |
| 13 | 美味的亞洲和印度料理 🍜 | [Classification](4-Classification/README.md) | 使用你的模型建構推薦網頁應用程式 | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | 分群介紹 | [Clustering](5-Clustering/README.md) | 清理、準備並視覺化你的資料;分群介紹 | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | 探索尼日利亞音樂喜好 🎧 | [Clustering](5-Clustering/README.md) | 探索 K 均值分群法 | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | 自然語言處理介紹 ☕️ | [Natural language processing](6-NLP/README.md) | 透過建立簡單機器人學習 NLP 基礎知識 | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | 常見 NLP 任務 ☕️ | [Natural language processing](6-NLP/README.md) | 增進 NLP 知識,了解處理語言結構時所需的常見任務 | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | 翻譯與情感分析 ♥️ | [Natural language processing](6-NLP/README.md) | 使用簡·奧斯汀進行翻譯與情感分析 | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | 歐洲浪漫旅館 ♥️ | [Natural language processing](6-NLP/README.md) | 透過旅館評論進行情感分析 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | 歐洲浪漫旅館 ♥️ | [Natural language processing](6-NLP/README.md) | 透過旅館評論進行情感分析 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | 時間序列預測介紹 | [Time series](7-TimeSeries/README.md) | 時間序列預測介紹 | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ 世界用電量 ⚡️ - 使用 ARIMA 的時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用 ARIMA 進行時間序列預測 | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ 世界用電量 ⚡️ - 使用 SVR 的時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用支援向量回歸器進行時間序列預測 | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | 強化學習介紹 | [Reinforcement learning](8-Reinforcement/README.md) | 使用 Q-Learning 介紹強化學習 | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | 幫助彼得避開狼!🐺 | [Reinforcement learning](8-Reinforcement/README.md) | 強化學習 Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| 附錄 | 現實世界中的機器學習場景與應用 | [ML in the Wild](9-Real-World/README.md) | 有趣且啟發性的經典機器學習真實應用 | [課程](9-Real-World/1-Applications/README.md) | Team |
| 附錄 | 使用 RAI 控制台進行機器學習模型除錯 | [ML in the Wild](9-Real-World/README.md) | 使用 Responsible AI 控制台元件進行機器學習模型除錯 | [課程](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [在我們的 Microsoft Learn 系列中找到本課程的所有額外資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
- [課後測驗](https://ff-quizzes.netlify.app/en/ml/)
> <strong>關於語言說明</strong>:這些課程主要使用 Python 撰寫,但許多也提供 R 語言版本。要完成 R 課程,請前往 `/solution` 資料夾尋找帶有 .rmd 副檔名的 R 課程檔案。R Markdown 檔案是一種將 R(或其他語言)`程式碼區塊` 和 `YAML 標頭`(用於指引格式輸出如 PDF)嵌入於 `Markdown 文件` 的範例撰寫框架,可同時編寫程式碼、輸出與說明文字,是資料科學的理想工具。R Markdown 還可輸出為 PDF、HTML 或 Word 等格式。
> <strong>關於測驗提醒</strong>:所有測驗皆位於 [Quiz App 資料夾](../../quiz-app),共 52 個測驗,每個測驗有三個問題。測驗從課程中連結,但也可在本機執行;請按照 `quiz-app` 資料夾中的指示,在本機或 Azure 部署。
| 課程編號 | 主題 | 課程群組 | 學習目標 | 關聯課程 | 作者 |
| :-----------: | :------------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | 機器學習導論 | [Introduction](1-Introduction/README.md) | 學習機器學習背後的基本概念 | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | 機器學習的歷史 | [Introduction](1-Introduction/README.md) | 瞭解這個領域背後的歷史 | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy |
| 03 | 公平性與機器學習 | [Introduction](1-Introduction/README.md) | 建立和應用機器學習模型時,學生應該考慮的公平性相關重要哲學議題是什麼? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | 機器學習的技術 | [Introduction](1-Introduction/README.md) | 機器學習研究人員用什麼技術來建立機器學習模型? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen |
| 05 | 回歸模型導論 | [Regression](2-Regression/README.md) | 開始使用 Python 和 Scikit-learn 來建立回歸模型 | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 視覺化及清理資料以準備機器學習 | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 建立線性及多項式回歸模型 | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen and Dmitry • Eric Wanjau |
| 08 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 建立邏輯回歸模型 | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | 一個網頁應用 🔌 | [Web App](3-Web-App/README.md) | 建立網頁應用來使用你訓練的模型 | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | 分類導論 | [Classification](4-Classification/README.md) | 清理、預處理與視覺化資料;分類導論 | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen and Cassie • Eric Wanjau |
| 11 | 美味的亞洲與印度料理 🍜 | [Classification](4-Classification/README.md) | 分類器導論 | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen and Cassie • Eric Wanjau |
| 12 | 美味的亞洲與印度料理 🍜 | [Classification](4-Classification/README.md) | 更多分類器 | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen and Cassie • Eric Wanjau |
| 13 | 美味的亞洲與印度料理 🍜 | [Classification](4-Classification/README.md) | 使用你的模型建立推薦網頁應用 | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | 叢集導論 | [Clustering](5-Clustering/README.md) | 清理、預處理與視覺化資料;叢集導論 | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | 探索奈及利亞音樂喜好 🎧 | [Clustering](5-Clustering/README.md) | 探索 K-均值叢集方法 | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | 自然語言處理導論 ☕️ | [Natural language processing](6-NLP/README.md) | 透過建立簡單的 Bot 學習 NLP 基礎 | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | 常見的 NLP 任務 ☕️ | [Natural language processing](6-NLP/README.md) | 深入理解處理語言結構時所需的常見任務 | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | 翻譯與情感分析 ♥️ | [Natural language processing](6-NLP/README.md) | 使用 Jane Austen 進行翻譯及情感分析 | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | 歐洲浪漫飯店 ♥️ | [Natural language processing](6-NLP/README.md) | 使用飯店評論進行情感分析 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | 歐洲浪漫飯店 ♥️ | [Natural language processing](6-NLP/README.md) | 使用飯店評論進行情感分析 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | 時間序列預測導論 | [Time series](7-TimeSeries/README.md) | 時間序列預測導論 | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ 世界電力使用量 ⚡️ - 使用 ARIMA 的時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用 ARIMA 進行時間序列預測 | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ 世界電力使用量 ⚡️ - 使用 SVR 的時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用支持向量回歸進行時間序列預測 | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | 強化學習導論 | [Reinforcement learning](8-Reinforcement/README.md) | 透過 Q-Learning 瞭解強化學習 | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | 幫助 Peter 避免狼咬! 🐺 | [Reinforcement learning](8-Reinforcement/README.md) | 強化學習 Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| 附錄 | 現實世界的機器學習場景與應用 | [ML in the Wild](9-Real-World/README.md) | 傳統機器學習的有趣且具啟發性的現實世界應用 | [Lesson](9-Real-World/1-Applications/README.md) | Team |
| 附錄 | 使用 RAI 儀表板進行機器學習模型除錯 | [ML in the Wild](9-Real-World/README.md) | 使用負責任 AI 儀表板組件進行機器學習模型除錯 | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [在我們的 Microsoft Learn 集合中找到此課程的所有附加資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## 離線存取
你可以使用 [Docsify](https://docsify.js.org/#/) 離線瀏覽此文件。Fork 此倉庫,在本機安裝 [Docsify](https://docsify.js.org/#/quickstart),然後在此倉庫根目錄下執行 `docsify serve`。網站會在本地主機(localhost) 3000 埠上提供:`localhost:3000`。
你可以使用 [Docsify](https://docsify.js.org/#/) 離線執行本文件。複製此倉庫,於本機安裝 [Docsify](https://docsify.js.org/#/quickstart),然後在此倉庫根目錄輸入 `docsify serve`。網站將於本地主機的 3000 埠口提供服務:`localhost:3000`。
## PDF
## PDF 檔案
在[此處](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf)找到課程大綱的 PDF,附帶連結。
在此處找到帶有連結的課程大綱 pdf [here](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf)。
## 🎒 其他課程
我們團隊製作了其他課程!請參考:
我們團隊製作了其他課程!請查看:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
@ -215,33 +220,33 @@
## 尋求協助
如果您在學習機器學習或構建 AI 應用時遇到困難或有問題,別擔心 — 有幫助可以取得。
如果你在學習機器學習或構建 AI 應用時遇到困難或有疑問,別擔心 — 我們有支援。
您可以與其他學習者和開發者一起參與討論、提問,以及分享您的想法。
你可以加入與其他學習者及開發者的討論,提問並分享你的想法。
- 加入社群,向他人提問並一起學習
- 討論機器學習概念和專案想法
- 獲取有經驗開發者的指導
- 加入社群提問並與他人一同學習
- 討論機器學習概念與專案想法
- 從經驗豐富的開發者獲得指導
有支援性的社群是成長技能和更快解決問題的好方法。
支援性的社群是成長技能與快速解決問題的好方法。
[Microsoft Foundry Discord 社群](https://discord.gg/nTYy5BXMWG)
如果您遇到錯誤、異常或有改進建議,也可以在此庫中開啟 **Issue** 來回報問題。
如果你發現錯誤、問題或有改進建議,也可以在此倉庫開設<strong>問題</strong>來回報。
如需產品反饋或搜尋現有社群帖子,請訪問開發者論壇:
欲提供產品回饋或搜尋現有社群貼文,請造訪開發者論壇:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## 其他學習建議
## 額外學習建議
- 每課後複習筆記本以加深理解。
- 練習自己實作演算法。
- 運用所學概念探索真實世界資料集。
- 自行練習實作演算法。
- 利用所學概念探索現實數據集。
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於確保準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議採用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
**免責聲明**:
本文件由 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯而成。雖然我們致力於確保準確性,但請注意,機器自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議進行專業人工翻譯。我們不對因使用本翻譯而產生的任何誤解或誤釋承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,28 +1,30 @@
## 給教育工作者
想在課堂上使用這套課程嗎?請隨意使用!
你想在你的課堂中使用這個課程嗎?請隨意使用!
事實上,你可以直接在 GitHub 上使用它,透過 GitHub Classroom 來進行。
事實上,你可以直接在 GitHub 上使用它,透過 GitHub Classroom 來操作。
要做到這一點,請先 fork 此 repo。你需要為每一課建立一個 repo,因此需要將每個文件夾提取到一個獨立的 repo。這樣,[GitHub Classroom](https://classroom.github.com/classrooms) 就可以分別處理每一課。
為此,請分叉這個倉庫。你需要為每一課建立一個倉庫,所以你需要將每個資料夾拆分成獨立的倉庫。這樣, [GitHub Classroom](https://classroom.github.com/classrooms) 才能分別捕捉每一課。
這些[完整指引](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/)可以幫助你了解如何設置你的課堂。
這些 [完整說明](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/) 會讓你了解如何設置你的課堂。
## 按原樣使用此 repo
## 直接使用此倉庫
如果你希望直接使用目前的 repo,而不使用 GitHub Classroom,也可以這樣做。你需要與學生溝通,告訴他們一起學習哪一課。
如果你想直接使用目前這個倉庫,而不使用 GitHub Classroom,也是可行的。你需要跟學生溝通一起完成哪一課。
在網上教學形式(例如 Zoom、Teams 或其他平台)中,你可以為測驗設置分組討論室,並指導學生準備學習。然後邀請學生參加測驗,並在指定時間以 "issues" 的形式提交答案。如果你希望學生公開合作完成作業,也可以採用相同的方式。
在線上方式(Zoom、Teams 或其他)中,你可以為小測驗設立分組討論室,並指導學生準備學習。然後邀請學生在指定時間完成測驗並以「issue」提交答案。如果你希望學生公開協作完成作業,也可以採用同樣的方式。
如果你更喜歡較私密的形式,可以要求學生逐課 fork 此課程到他們自己的 GitHub 私人 repo,並授予你訪問權限。然後他們可以私下完成測驗和作業,並通過 classroom repo 的 issues 提交給你。
如果你偏好較私密的形式,請學生將課程逐課分叉到他們自己的私人 GitHub 倉庫,並給你存取權限。然後他們可以私下完成測驗和作業,並透過你的課堂倉庫的 issue 提交給你。
在網上課堂中有很多方法可以使這套課程運作起來。請告訴我們哪種方式最適合你!
有很多方法讓線上課堂能順利進行。請告訴我們何種方式對你最有效!
## 請分享你的想法!
## 請給我們你的意見!
我們希望這套課程能夠滿足你和學生的需求。請提供[反饋](https://forms.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR2humCsRZhxNuI79cm6n0hRUQzRVVU9VVlU5UlFLWTRLWlkyQUxORTg5WS4u)。
我們希望這個課程能對你和你的學生有幫助。請給我們 [反饋](https://forms.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR2humCsRZhxNuI79cm6n0hRUQzRVVU9VVlU5UlFLWTRLWlkyQUxORTg5WS4u)。
---
**免責聲明**:
本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為具權威性的來源。對於重要信息,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
本文件由 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯而成。雖然我們致力於確保準確性,但請注意,機器自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議進行專業人工翻譯。我們不對因使用本翻譯而產生的任何誤解或誤釋承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -24,8 +24,8 @@
"language_code": "zh-MO"
},
"1-Introduction/3-fairness/README.md": {
"original_hash": "0f00d72169a0d37eecfd16d71e01700a",
"translation_date": "2026-07-14T07:52:00+00:00",
"original_hash": "0c620ca2c6d2828e9a838ecec5f01265",
"translation_date": "2026-09-15T00:27:06+00:00",
"source_file": "1-Introduction/3-fairness/README.md",
"language_code": "zh-MO"
},
@ -54,8 +54,8 @@
"language_code": "zh-MO"
},
"2-Regression/1-Tools/README.md": {
"original_hash": "0b8635427b582d03ea4ab7089b93e505",
"translation_date": "2026-07-14T07:48:05+00:00",
"original_hash": "1f4f6c95404d528041bcc36784771084",
"translation_date": "2026-09-15T00:29:02+00:00",
"source_file": "2-Regression/1-Tools/README.md",
"language_code": "zh-MO"
},
@ -282,8 +282,8 @@
"language_code": "zh-MO"
},
"5-Clustering/README.md": {
"original_hash": "b28a3a4911584062772c537b653ebbc7",
"translation_date": "2025-08-29T20:52:23+00:00",
"original_hash": "c78940a1b03da1de13bd97527f9e6606",
"translation_date": "2026-09-15T00:25:38+00:00",
"source_file": "5-Clustering/README.md",
"language_code": "zh-MO"
},
@ -564,8 +564,8 @@
"language_code": "zh-MO"
},
"README.md": {
"original_hash": "3e3a6c7e68e0afe7e2276ac046e4d7a0",
"translation_date": "2026-04-20T16:09:33+00:00",
"original_hash": "8bba8faed876aa7bbc92b759a350b1d8",
"translation_date": "2026-09-15T00:21:09+00:00",
"source_file": "README.md",
"language_code": "zh-MO"
},
@ -592,11 +592,22 @@
"original_hash": "fba3b94d88bfb9b81369b869a1e9a20f",
"source_file": "sketchnotes/LICENSE.md",
"language_code": "zh-MO",
"failure_date": "2026-07-14T07:46:40+00:00",
"failure_date": "2026-09-15T00:25:22+00:00",
"status": "failed",
"error_type": "TranslationIncompleteError",
"error_message": "Markdown translation remained incomplete for chunk 1.1.1 of 'LICENSE.md', and the chunk could not be split further.",
"translator_version": "0.20.0",
"translator_version": "0.20.1",
"failure_policy_version": 1
},
"7-TimeSeries/README.md": {
"original_hash": "722526664e764a2290e1def74afa5139",
"source_file": "7-TimeSeries/README.md",
"language_code": "zh-MO",
"failure_date": "2026-09-15T00:25:59+00:00",
"status": "failed",
"error_type": "TranslationIncompleteError",
"error_message": "Markdown translation remained incomplete for chunk 1 of 'README.md', and the chunk could not be split further.",
"translator_version": "0.20.1",
"failure_policy_version": 1
}
},
@ -607,8 +618,8 @@
"language_code": "zh-MO"
},
"for-teachers.md": {
"original_hash": "b37de02054fa6c0438ede6fabe1fdfb8",
"translation_date": "2025-08-29T20:11:50+00:00",
"original_hash": "4b5b4e11bf182a803261b55a19d3ee70",
"translation_date": "2026-09-15T00:19:07+00:00",
"source_file": "for-teachers.md",
"language_code": "zh-MO"
},

@ -1,163 +1,162 @@
# 使用負責任的 AI 建構機器學習解決方案
# 建立具負責任 AI 的機器學習解決方案
![機器學習中負責任 AI 的概要以手繪筆記呈現](../../../../translated_images/zh-MO/ml-fairness.ef296ebec6afc98a.webp)
> 手繪筆記作者:[Tomomi Imura](https://www.twitter.com/girlie_mac)
![機器學習中負責任 AI 摘要的手繪筆記](../../../../translated_images/zh-MO/ml-fairness.ef296ebec6afc98a.webp)
> 手繪筆記由 [Tomomi Imura](https://www.twitter.com/girlie_mac) 製作
## [課前測驗](https://ff-quizzes.netlify.app/en/ml/)
## 簡介
在這個課程中,你將開始了解機器學習如何影響我們的日常生活。即使在現在,系統和模型已經參與到日常決策任務中,例如健康診斷、貸款審核或詐騙偵測。因此,這些模型必須運作良好,才能提供值得信賴的結果。就像任何軟體應用一樣,AI 系統有時會未達期望或產生不理想的結果。這就是為什麼理解並解釋 AI 模型的行為至關重要的原因。
在這個課程中,您將開始探索機器學習如何影響及正在影響我們的日常生活。即使是現在,系統和模型也參與每日的決策任務,例如醫療診斷、貸款核准或詐騙偵測。因此,這些模型必須運作良好,提供值得信賴的結果。正如任何軟體應用一樣,AI 系統也可能未達預期或產生不良結果。因此,了解和解釋 AI 模型的行為至關重要。
想像當你用來建構這些模型的數據缺少某些族群資料,比如種族、性別、政治觀點、宗教,或者不成比例地代表某些族群時,會發生什麼事?如果模型的輸出被解讀為偏好某些族群呢?這對應用會帶來什麼後果?此外,當模型產生不良結果且對人們有害時會怎樣?誰要為 AI 系統的行為負責?這些都是本課程將探討的問題。
想像一下,當用於建立這些模型的數據缺少某些人口統計資料,例如種族、性別、政治觀點、宗教,或不成比例代表這些人口統計資料時會發生什麼情況?又或者模型的輸出被解讀為偏袒某些人口統計?應用後果是什麼?此外,當模型產生負面結果並對人們造成傷害時會怎樣?誰應該對 AI 系統的行為負責?這些問題將會在本課程中探討。
本課程中,你將:
本課程中,您將:
- 提高對機器學習中公平性及與公平相關傷害重要性的認知。
- 熟悉探索異常值和異常情境的實踐,以確保可靠性和安全性。
- 了解通過設計包容性系統來讓每個人都能受益的必要性。
- 探討保護資料及個人隱私與安全的重要性。
- 看見採用透明機制解釋 AI 模型行為的重要性。
- 注意建立 AI 系統信任所需的問責機制。
- 提升您對機器學習中公平性及與公平相關傷害重要性的認識。
- 熟悉探索異常值和不尋常情況以確保可靠性和安全性的做法。
- 了解設計包容性系統以賦權所有人的必要性。
- 探索保護數據及人員隱私和安全的重要性。
- 理解採用透明方法解釋 AI 模型行為的重要性。
- 了解問責制如何成為建立 AI 系統信任的關鍵。
## 先修知識
## 先決條件
作為先修,請先完成「負責任 AI 原則」學習路徑,並觀看以下相關主題影片:
作為先決條件,請完成「負責任 AI 原則」學習路徑並觀看以下相關主題影片:
透過此[學習路徑](https://docs.microsoft.com/learn/modules/responsible-ai-principles/?WT.mc_id=academic-77952-leestott)進一步了解負責任 AI
透過此[學習路徑](https://docs.microsoft.com/learn/modules/responsible-ai-principles/?WT.mc_id=academic-77952-leestott)深入了解負責任 AI
[![Microsoft 的負責任 AI 方法](https://img.youtube.com/vi/dnC8-uUZXSc/0.jpg)](https://youtu.be/dnC8-uUZXSc "Microsoft 的負責任 AI 方法")
[![Microsoft 對負責任 AI 的方法](https://img.youtube.com/vi/dnC8-uUZXSc/0.jpg)](https://youtu.be/dnC8-uUZXSc "Microsoft 對負責任 AI 的方法")
> 🎥 點擊上方圖片觀看影片:Microsoft 的負責任 AI 方法
> 🎥 點擊上方圖片觀看影片:Microsoft 對負責任 AI 的方法
## 公平性
AI 系統應公平對待每個人,避免對類似群體產生不同影響。例如,當 AI 系統提供醫療治療建議、貸款申請或就業指導時,應對具有相似症狀、財務狀況或專業資格的每個人給出相同建議。我們每個人都帶有影響決策的天生偏見,而這些偏見也可能反映在用於訓練 AI 系統的數據中。這種偏差有時是無意中產生的,通常很難有意識地察覺到數據中引入了偏見。
AI 系統應公平對待每個人,避免對類似群體採取不同對待。例如,當 AI 系統提供醫療治療、貸款申請或聘用建議時,應對具有相似症狀、財務狀況或專業資格的人給出相同建議。每個人都帶有影響決策與行動的偏見,而這些偏見可能表現在用來訓練 AI 系統的數據中。有時這種操控是無意的,且往往難以有意識地察覺自己何時在數據中引入了偏見。
**「不公平」** 指的是對某族群造成的負面影響,或「傷害」,例如基於種族、性別、年齡或殘障狀態所劃定的群體。主要的公平性相關傷害可分為:
**「不公平」** 涵蓋對特定族群(如按種族、性別、年齡或殘障狀態定義的群體)造成的負面影響或「傷害」。主要與公平相關的傷害可分為:
- <strong>分配不公</strong>,例如性別或族裔之一相較於另一方被偏袒。
- <strong>服務質量</strong>。如果訓練數據只涵蓋某特定情境,然而現實更複雜,則會導致服務表現不佳。例如,有手用肥皂機無法感應深色皮膚的人。 [參考](https://gizmodo.com/why-cant-this-soap-dispenser-identify-dark-skin-1797931773)
- <strong>誹謗</strong>。不公正地批評和標籤某事物或某人。例如,某影像標籤技術惡名昭彰地將深膚色人的圖像標記為黑猩猩。
- <strong>過度或不足的代表性</strong>。某群體在某職業中不被看到,而任何持續推動此狀況的服務或功能都是有害的。
- <strong>刻板印象化</strong>。將特定群體與預設屬性連結。例如,英語與土耳其語的翻譯系統,因為詞彙帶有性別刻板印象而造成不準確。
- <strong>分配</strong>,例如偏袒某性別或種族。
- <strong>服務品質</strong>。若訓練資料僅針對特定場景,但現實情況更複雜,會導致服務表現不佳。例如,一款洗手液自動感應器無法正確感應深色皮膚的人。 [參考](https://gizmodo.com/why-cant-this-soap-dispenser-identify-dark-skin-1797931773)
- <strong>貶損</strong>。對某人或某事不公平地批評和標籤。例如,一些影像標註技術曾錯誤標記深色皮膚人士的照片為黑猩猩。
- <strong>過度或不足代表</strong>。某族群在特定職業中缺乏代表性,持續推廣此種不平衡的服務或功能就是造成傷害。
- <strong>刻板印象</strong>。將特定族群與預設屬性聯繫起來。例如,一個英語與土耳其語的翻譯系統可能因詞語帶有性別刻板印象而產生不準確情況。
![翻譯成土耳其語](../../../../translated_images/zh-MO/gender-bias-translate-en-tr.f185fd8822c2d437.webp)
> 翻譯成土耳其語
![土耳其語翻譯](../../../../translated_images/zh-MO/gender-bias-translate-en-tr.f185fd8822c2d437.webp)
> 土耳其語翻譯
![再翻譯回英語](../../../../translated_images/zh-MO/gender-bias-translate-tr-en.4eee7e3cecb8c70e.webp)
> 再翻譯回英語
![翻譯回英語](../../../../translated_images/zh-MO/gender-bias-translate-tr-en.4eee7e3cecb8c70e.webp)
> 翻譯回英語
在設計與測試 AI 系統時,我們需要確保 AI 是公平的,不會被編程成做出偏見或歧視性的決定,而人類也被禁止做這類決策。確保 AI 及機器學習的公平性仍是一個複雜的社會技術挑戰。
設計與測試 AI 系統時,我們需確保 AI 公平且不被程式化以作出偏頗或歧視性決策,這是人類亦不應做的。確保 AI 與機器學習的公平性始終是一項複雜的社會技術挑戰。
### 可靠性與安全性
為了建立信任,AI 系統需要在正常及異常狀況下都能可靠、安全且一致地運作。重要的是要知道 AI 系統在各種情境下如何表現,特別是異常狀況。在建構 AI 解決方案時,必須大量關注如何處理 AI 解決方案可能遇到的多樣化狀況。例如,一輛自駕車必須將人的安全列為首要任務。因此,推動該車的 AI 需考慮所有可能遇到的場景,如夜間、雷雨或暴風雪、小孩奔跑穿越街道、寵物、道路施工等。AI 系統能多可靠安全地處理廣泛條件,反映了資料科學家或 AI 開發者在設計或測試時的預見程度。
為建立信任,AI 系統需在正常及意外狀況下保持可靠、安全和一致。了解 AI 系統在各種情況下的表現(尤其是異常狀況)很重要。建構 AI 解決方案時,須大量關注如何處理 AI 可能遇到的各種狀況。例如,自駕車必須將人身安全置於首位,因此驅動自駕車的 AI 需考慮夜晚、雷暴或暴雪、突然衝出馬路的小孩、寵物、道路施工等各種場景。AI 系統能多可靠安全地處理廣泛狀況,反映了數據科學家或 AI 開發者在系統設計或測試期間的預見程度。
> [🎥 點擊此處觀看影片:](https://www.microsoft.com/videoplayer/embed/RE4vvIl)
> [🎥 點擊此處觀看影片:AI 中的可靠性與安全](https://www.microsoft.com/videoplayer/embed/RE4vvIl)
### 包容性
AI 系統應設計成能夠讓每個人都能參與和賦能。在設計與部署 AI 系統時,資料科學家與 AI 開發者會辨識並解決系統中可能無意排除人群的障礙。例如,全球有 10 億殘疾人士。隨著 AI 的進步,他們能更輕鬆地在日常生活中獲取廣泛的資訊與機會。通過排除障礙,創造了創新並開發出更佳用戶體驗的 AI 產品,有益於所有人。
AI 系統應被設計為包容並賦予每個人權力。設計與實施 AI 系統時,數據科學家及 AI 開發者會辨識並解決系統中可能無意排除人的障礙。例如,全球約有 10 億殘障人士,隨著 AI 進步,他們能在日常生活中更輕鬆獲取豐富資訊與機會。解決這些障礙創造了創新與開發更佳體驗的 AI 產品的機會,造福所有人。
> [🎥 點擊此處觀看影片:AI 包容性](https://www.microsoft.com/videoplayer/embed/RE4vl9v)
> [🎥 點擊此處觀看影片:AI 的包容性](https://www.microsoft.com/videoplayer/embed/RE4vl9v)
### 安全與隱私
AI 系統應安全且尊重個人隱私。人們對危及其隱私、資訊或生命安全的系統信任度較低。訓練機器學習模型時,我們依賴資料以取得最佳結果。這過程中必須考慮資料的來源和正確性。例如,資料是用戶提交或公開取得的?同時,使用資料時,開發能保護機密資訊且具抵抗攻擊能力的 AI 系統十分關鍵。隨著 AI 越來越普及,保護隱私並確保重要個人與商業資訊安全變得更為重要且複雜。隱私與資料安全問題在 AI 領域尤其需要嚴密關注,因為 AI 系統需存取資料才能對人民作出準確且明智的預測與決策。
AI 系統應安全且尊重使用者隱私。使用者對威脅其隱私、資訊或生命安全的系統信任度較低。訓練機器學習模型時,我們依賴數據產出最佳結果,因此必須考慮數據的來源與完整性。例如,數據是用戶提交的還是公開可得的?接著,在處理數據時,必須開發能保護機密資訊並抵抗攻擊的 AI 系統。隨著 AI 更普及,保護隱私及保障重要個人和企業資訊變得更關鍵與複雜。隱私與資料安全在 AI 中尤需密切注意,因為数据是 AI 系統作出精準且有根據預測與決策的關鍵。
> [🎥 點擊此處觀看影片:AI 的安全性](https://www.microsoft.com/videoplayer/embed/RE4voJF)
> [🎥 點擊此處觀看影片:AI 中的安全性](https://www.microsoft.com/videoplayer/embed/RE4voJF)
- 身為產業,我們在隱私與安全方面已取得重大進展,特別是受到 GDPR(一般資料保護規則)等法規的推動。
- 然而,針對 AI 系統,我們必須承認在需要更多個人資料以提升系統個人化與效能與隱私之間的矛盾。
- 正如互聯網連結電腦的誕生,我們也看到 AI 相關的安全問題急速上升。
- 同時,AI 也被用於提升安全性。例如,現代多數防毒掃描器現在多由 AI 偵測法則驅動。
- 我們需確保資料科學流程與最新隱私及安全實務和諧融合。
- 作為產業,我們在隱私與安全方面取得顯著進展,這很大程度受到像是 GDPR(通用資料保護條例)等規範的推動。
- 然而面對 AI 系統,我們必須承認在需要更多個人數據以達到系統個人化和高效性與隱私保護之間存在的張力。
- 就像網際網路連接電腦誕生時一樣,AI 安全相關問題也大幅增加。
- 同時,我們見證 AI 被用來提升安全性。例如,當代大多數防毒軟體掃描器如今由 AI 啟發的啟發式方法驅動。
- 我們需確保資料科學流程與最新隱私和安全實務和諧融合。
### 透明度
AI 系統應該是可理解的。透明度的重要部分是解釋 AI 系統及其組件的行為。提升對 AI 系統的理解需要相關利害關係者明白系統如何及為何運作,以便辨識潛在的效能問題、安全及隱私疑慮、偏見、排他性措施或非預期結果。我們也相信使用 AI 系統的人應誠實且公開何時、為何及如何選擇部署,並說明所使用系統的限制。例如,銀行若用 AI 系統支持其消費貸款決策,就必須檢視結果並理解哪些數據影響系統建議。政府開始對產業中的 AI 進行規管,因此資料科學家與組織必須說明 AI 系統是否符合監管要求,尤其在出現不良結果時。
AI 系統應易於理解。透明度的要素之一是解釋 AI 系統及其組件的行為。提升對 AI 系統的理解,需讓利益關係人明白它們如何與為何運作,從而辨識可能的性能問題、安全與隱私疑慮、偏見、排除性做法或非預期結果。我們也相信使用 AI 系統的人應誠實坦白說明何時、為何及如何選擇部署它們,以及所用系統的限制。例如,若銀行使用 AI 系統支援消費者貸款決策,重要的是檢視結果並瞭解哪些數據影響系統建議。政府已開始規管各行業的 AI,故數據科學家與組織必須能解釋 AI 系統是否符合法規,尤其當結果不如預期時。
> [🎥 點擊此處觀看影片:AI 的透明度](https://www.microsoft.com/videoplayer/embed/RE4voJF)
> [🎥 點擊此處觀看影片:AI 中的透明度](https://www.microsoft.com/videoplayer/embed/RE4voJF)
- 由於 AI 系統非常複雜,很難理解其運作方式及解讀結果。
- 這種缺乏理解影響了系統管理、運作和文件記錄的方式。
- 更重要的是,這種缺乏理解影響了根據系統輸出結果所做的決策。
- 由於 AI 系統極為複雜,難以瞭解其運作原理及解釋結果。
- 這種理解欠缺影響該系統的管理、部署及文件框架。
- 更重要的是,這種理解缺失影響根據系統產出結果所作判決。
### 問責制
設計與部署 AI 系統的人必須對系統的運作負起責任。問責制的必要性在敏感的使用技術如人臉識別中特別重要。近來,人臉識別技術的需求不斷增加,尤其是執法機構看到該技術在尋找失蹤兒童等用途的潛力。然而,這些技術也可能被政府用來危害公民的基本自由,例如對特定個體進行持續監視。因此,資料科學家與組織需要對其 AI 系統對個人或社會的影響負責。
設計與部署 AI 系統的人必須為其系統的運作負責。問責制對於敏感技術如臉部辨識尤為重要。近期,臉部辨識技術需求增加,尤其來自執法部門,他們看中該技術在尋找失蹤兒童等用途上的潛力。但這些技術可能被政府用以威脅公民基本自由,例如持續監控特定個人。因此,數據科學家與組織須對 AI 系統對個人或社會造成的影響負責。
[![領先 AI 研究人員警告人臉識別造成大規模監控](../../../../translated_images/zh-MO/accountability.41d8c0f4b85b6231.webp)](https://www.youtube.com/watch?v=Wldt8P5V6D0 "Microsoft 的負責任 AI 方法")
[![領先 AI 研究者警告透過臉部辨識的大規模監控](../../../../translated_images/zh-MO/accountability.41d8c0f4b85b6231.webp)](https://www.youtube.com/watch?v=Wldt8P5V6D0 "Microsoft 對負責任 AI 的方法")
> 🎥 點擊上方圖片觀看影片:關於人臉識別引起的大規模監控警告
> 🎥 點擊圖片觀看影片:透過臉部辨識的大規模監控警告
對我們這一代而言,作為帶來 AI 給社會的第一代,最大的問題之一是如何確保電腦能對人負責,以及如何確保設計電腦的人對其他所有人負責。
最終,我們這一代作為第一代將 AI 帶入社會的人,最大且最關鍵的問題之一是如何確保電腦持續對人類負責,及設計電腦的人如何確保對所有人負責。
## 影響評估
在訓練機器學習模型之前,進行影響評估非常重要,藉此了解 AI 系統的目的;其預期用途;部署地點;以及誰會與系統互動。這些對評審者或測試者評估系統時了解哪些因素需考慮,以辨識潛在風險及預期後果很有幫助。
在訓練機器學習模型前,進行影響評估非常重要,以了解 AI 系統的目的、預期用途、部署地點及使用者。這有助於評審或測試者在評估系統時知道該考慮哪些因素來判斷潛在風險與預期後果。
進行影響評估時的重點領域包括:
* <strong>對個人的不良影響</strong>。了解任何限制或要求、不支持的用途或已知限制可能影響系統效能,對防止系統以可能對個人造成傷害的方式被使用至關重要。
* <strong>資料需求</strong>。了解系統如何及在哪裡使用資料,讓評審者能探討需要注意的資料要求(如 GDPR 或 HIPAA 資料規則)。此外,檢查資料來源或數量是否足以支持訓練。
* <strong>影響摘要</strong>。彙整使用系統可能帶來的潛在傷害清單。在機器學習生命週期中,檢視已辨識問題是否已緩解或處理。
* <strong>每項六核心原則的適用目標</strong>。評估每項原則的目標是否達成及是否存在缺口。
* <strong>對個體的負面影響</strong>。了解任何限制或要求,未支持的用途或已知的限制,這對確保系統不會以可能傷害個體的方式被使用十分重要。
* <strong>數據需求</strong>。了解系統將如何及在哪裡使用數據,促使評審探討必須注意的數據需求(例如 GDPR 或 HIPAA 數據條例)。此外,審查數據來源與數量是否足以用於訓練。
* <strong>影響摘要</strong>。彙整使用系統可能引發的潛在傷害。機器學習整個生命週期中,需要檢視已識別的問題是否有被緩解或解決。
* <strong>適用目標</strong>。評估六項核心原則中每項原則的目標是否達成,以及是否存在缺口。
## 負責任 AI 的除錯
## 負責任 AI 的偵錯
與軟體應用除錯類似,除錯 AI 系統是辨識及解決系統問題的必要過程。有許多因素會影響模型未如期或不負責任地運作。多數傳統模型效能指標是模型整體表現的定量彙總,這不足以分析模型如何違反負責任 AI 原則。此外,機器學習模型是黑盒,難以理解其產出動因或錯誤時提供解釋。稍後本課程將學習如何利用負責任 AI 儀表板協助除錯 AI 系統。該儀表板為資料科學家與 AI 開發者提供整合工具,能執行:
與軟體應用偵錯相似,偵錯 AI 系統是識別和解決系統問題的必要流程。許多因素會影響模型未達預期或不負責任的表現。多數傳統模型性能指標是模型表現的定量總結,但不足以分析模型如何違反負責任 AI 原則。此外,機器學習模型是黑箱,難以理解其產出原因或在出錯時提供解釋。本課程稍後將學習如何使用負責任 AI 儀表板協助偵錯 AI 系統。該儀表板為數據科學家和 AI 開發者提供整合工具,執行:
* <strong>錯誤分析</strong>。辨識可能影響系統公平性或可靠性的模型錯誤分布。
* <strong>模型概覽</strong>。發現模型在各資料群體間效能差異的位置。
* <strong>資料分析</strong>。理解資料分布及辨識資料中可能導致公平性、包容性和可靠性問題的偏見。
* <strong>模型可解釋性</strong>。理解影響模型預測的因素,協助解釋模型行為,對透明度與問責制重要。
* <strong>錯誤分析</strong>。辨識模型錯誤分布,評估對系統公平性或可靠性的影響。
* <strong>模型概覽</strong>。發現模型在不同數據群組中的性能差異。
* <strong>數據分析</strong>。理解數據分布並識別可能導致公平性、包容性及可靠性問題的偏見。
* <strong>模型可解釋性</strong>。了解影響模型預測的因素,有助於解釋模型行為,對透明度與問責制至關重要。
## 🚀 挑戰
為防止傷害的產生,應該:
為防止傷害的產生,我們應該:
- 讓從事系統開發的人員背景與觀點多元化
- 投資反映我們社會多元性的資料集
- 在整個機器學習生命週期中發展更好的方法來偵測並修正負責任 AI 中的問題
- 聘用具有多元背景與觀點的人才參與系統開發
- 投資能反映社會多元性的數據集
- 在整個機器學習生命週期中,開發更佳方法以偵測及修正不負責任的 AI 行為
思考真實情境中模型不可信的例子,無論是在模型建構或使用過程中。我們還應該考慮什麼?
想想現實中有關模型建造和使用時不可信的情況,我們還應該考慮什麼?
## [課後測驗](https://ff-quizzes.netlify.app/en/ml/)
## 複習與自學
在本課程中,您已學習了機器學習中公平與不公平概念的一些基礎知識。
在本課中,您已學習機器學習中公平與不公平的基本概念。
觀看此工作坊以更深入探討相關主題:
觀看以下工作坊以深入了解相關主題:
- 追求負責任的 AI:將原則付諸實踐,講者 Besmira Nushi、Mehrnoosh Sameki 與 Amit Sharma
- 追求負責任 AI:將原則付諸實踐,由 Besmira Nushi、Mehrnoosh Sameki 與 Amit Sharma 主講
[![Responsible AI Toolbox: An open-source framework for building responsible AI](https://img.youtube.com/vi/tGgJCrA-MZU/0.jpg)](https://www.youtube.com/watch?v=tGgJCrA-MZU "RAI Toolbox: An open-source framework for building responsible AI")
[![責任型人工智能工具箱:用於構建責任型人工智能的開源框架](https://img.youtube.com/vi/tGgJCrA-MZU/0.jpg)](https://www.youtube.com/watch?v=tGgJCrA-MZU "RAI工具箱:用於構建責任型人工智能的開源框架")
> 🎥 點擊上方圖片觀看影片:RAI Toolbox:由 Besmira Nushi、Mehrnoosh Sameki 與 Amit Sharma 分享的開源負責任 AI 框架
> 🎥 點擊上方圖片觀看影片:責任型人工智能工具箱:由Besmira Nushi、Mehrnoosh Sameki和Amit Sharma介紹的用於構建責任型人工智能的開源框架
另外,請參閱:
另外,請閱讀:
- 微軟的 RAI 資源中心:[Responsible AI Resources – Microsoft AI](https://www.microsoft.com/ai/responsible-ai-resources?activetab=pivot1%3aprimaryr4)
- 微軟的責任型人工智能資源中心:[Responsible AI Resources – Microsoft AI](https://www.microsoft.com/ai/responsible-ai-resources?activetab=pivot1%3aprimaryr4)
- 微軟的 FATE 研究團隊:[FATE: Fairness, Accountability, Transparency, and Ethics in AI - Microsoft Research](https://www.microsoft.com/research/theme/fate/)
- 微軟的FATE研究小組:[FATE: 公平性、問責制、透明性與倫理在人工智能中的應用 - 微軟研究院](https://www.microsoft.com/research/theme/fate/)
RAI 工具箱:
RAI工具箱:
- [Responsible AI Toolbox GitHub 存儲庫](https://github.com/microsoft/responsible-ai-toolbox)
- [責任型人工智能工具箱 GitHub 倉庫](https://github.com/microsoft/responsible-ai-toolbox)
閱讀關於 Azure 機器學習確保公平性的工具:
閱讀有關Azure機器學習確保公平性的工具:
- [Azure Machine Learning](https://docs.microsoft.com/azure/machine-learning/concept-fairness-ml?WT.mc_id=academic-77952-leestott)
- [Azure機器學習](https://docs.microsoft.com/azure/machine-learning/concept-fairness-ml?WT.mc_id=academic-77952-leestott)
## 作業
## 任務
[探索 RAI 工具箱](assignment.md)
[探索RAI工具箱](assignment.md)
---

@ -1,121 +1,121 @@
# 使用 Python 和 Scikit-learn 開始迴歸模型
# 使用 Python 和 Scikit-learn 開始回歸模型
![迴歸總結手繪筆記](../../../../translated_images/zh-MO/ml-regression.4e4f70e3b3ed446e.webp)
![回歸模型概要手繪筆記](../../../../translated_images/zh-MO/ml-regression.4e4f70e3b3ed446e.webp)
> 手繪筆記由 [Tomomi Imura](https://www.twitter.com/girlie_mac) 製作
## [課前小測驗](https://ff-quizzes.netlify.app/en/ml/)
> ### [此課程亦有 R 版本!](../../../../2-Regression/1-Tools/solution/R/lesson_1.html)
> ### [本課程亦提供 R 版本!](../../../../2-Regression/1-Tools/solution/R/lesson_1.html)
## 介紹
在這四課中,你將學習如何建立迴歸模型。我們稍後將討論它們的用途。但在開始操作之前,請先確認你已準備好正確的工具!
在這四課中,您將學習如何建立回歸模型。我們稍後會討論其用途。但在您開始之前,請確保您已備妥適用的工具來展開此流程!
本課程你將學習如何:
在本課中,您將學會:
- 設置電腦以進行本地機器學習任務。
- 為本地機器學習任務配置您的電腦。
- 使用 Jupyter 筆記本。
- 使用 Scikit-learn,包括安裝。
- 透過實作探索線性迴歸。
- 透過實作活動探索線性回歸。
## 安裝與配置
## 安裝與設定
[![機器學習初學者 - 安裝您的工具準備建立機器學習模型](https://img.youtube.com/vi/-DfeD2k2Kj0/0.jpg)](https://youtu.be/-DfeD2k2Kj0 "機器學習初學者 - 安裝您的工具準備建立機器學習模型")
[![適合初學者的機器學習 - 準備好您的工具以建構機器學習模型](https://img.youtube.com/vi/-DfeD2k2Kj0/0.jpg)](https://youtu.be/-DfeD2k2Kj0 "適合初學者的機器學習 - 準備好您的工具以建構機器學習模型")
> 🎥 點擊上圖觀看教學影片,示範如何設定電腦以執行機器學習。
> 🎥 點擊上方圖片觀看設定電腦進行機器學習的短片。
1. **安裝 Python**。確保您的電腦已安裝 [Python](https://www.python.org/downloads/)。Python 是許多資料科學及機器學習工作所需的語言。大多數電腦系統已預裝 Python。也有實用的 [Python 編碼套件](https://code.visualstudio.com/learn/educators/installers?WT.mc_id=academic-77952-leestott),可幫助部分用戶簡化設定流程。
1. **安裝 Python**。確保您的電腦已安裝 [Python](https://www.python.org/downloads/)。Python 被廣泛用於資料科學與機器學習工作。大多數作業系統已預裝 Python。部分用戶也可以使用有助安裝的 [Python 程式包](https://code.visualstudio.com/learn/educators/installers?WT.mc_id=academic-77952-leestott)。
然而,不同的 Python 用途可能需要不同版本,因此使用 [虛擬環境](https://docs.python.org/3/library/venv.html) 是很實用的做法。
然而,Python 的某些用法需要特定版本,因此建議在 [虛擬環境](https://docs.python.org/3/library/venv.html) 中工作。
2. **安裝 Visual Studio Code**。確保您的電腦已安裝 Visual Studio Code。請按照這些說明 [安裝 Visual Studio Code](https://code.visualstudio.com/) 以完成基礎安裝。您將在本課程中使用 Visual Studio Code 編寫 Python,建議了解如何 [設定 Visual Studio Code](https://docs.microsoft.com/learn/modules/python-install-vscode?WT.mc_id=academic-77952-leestott) 作為 Python 開發環境。
2. **安裝 Visual Studio Code**。請確保您已在電腦上安裝 Visual Studio Code。請遵循[安裝 Visual Studio Code 指引](https://code.visualstudio.com/)完成基本安裝。此課程將在 Visual Studio Code 中使用 Python,您也可參考如何[設定 Visual Studio Code](https://docs.microsoft.com/learn/modules/python-install-vscode?WT.mc_id=academic-77952-leestott)以便 Python 開發。
> 透過這系列 [學習模組](https://docs.microsoft.com/users/jenlooper-2911/collections/mp1pagggd5qrq7?WT.mc_id=academic-77952-leestott) 熟悉 Python。
> 藉由此[學習模組](https://docs.microsoft.com/users/jenlooper-2911/collections/mp1pagggd5qrq7?WT.mc_id=academic-77952-leestott)練習熟悉 Python。
>
> [![視覺工作室碼中設定 Python](https://img.youtube.com/vi/yyQM70vi7V8/0.jpg)](https://youtu.be/yyQM70vi7V8 "視覺工作室碼中設定 Python")
> [![用 Visual Studio Code 設定 Python](https://img.youtube.com/vi/yyQM70vi7V8/0.jpg)](https://youtu.be/yyQM70vi7V8 "用 Visual Studio Code 設定 Python")
>
> 🎥 點擊上圖觀看教學影片:在 VS Code 使用 Python。
> 🎥 點擊上方圖片觀看在 VS Code 中使用 Python 的教學影片。
3. **安裝 Scikit-learn**,請遵循 [這些指示](https://scikit-learn.org/stable/install.html)。因需使用 Python 3,建議使用虛擬環境。若您在 M1 Mac 上安裝,本頁面提供了特別指引。
3. **安裝 Scikit-learn**,請依照[此處的指引](https://scikit-learn.org/stable/install.html)進行。請確認使用 Python 3,建議搭配虛擬環境。若您在 M1 Mac 安裝,鏈結頁面有特別說明。
1. **安裝 Jupyter Notebook**。您需要 [安裝 Jupyter 套件](https://pypi.org/project/jupyter/)。
1. **安裝 Jupyter Notebook**。您需要[安裝 Jupyter 套件](https://pypi.org/project/jupyter/)。
## 你的機器學習編輯環境
## 您的機器學習開發環境
你將使用 **notebooks** 來開發 Python 程式碼並建立機器學習模型。這類檔案是資料科學家常用工具,副檔名為 `.ipynb`。
您將使用 <strong>筆記本</strong> 來開發 Python 程式碼並建立機器學習模型。這類檔案是資料科學常用工具,副檔名為 `.ipynb`。
筆記本是一個互動式環境,允許開發人員同時撰寫程式碼、加入筆記及撰寫程式說明,這對實驗性或研究導向專案非常有用。
筆記本提供互動式環境,允許開發者同時撰寫程式碼及相關備註和說明,對實驗或研究導向專案非常有幫助。
[![機器學習初學者 - 設定 Jupyter 筆記本開始建立迴歸模型](https://img.youtube.com/vi/7E-jC8FLA2E/0.jpg)](https://youtu.be/7E-jC8FLA2E "機器學習初學者 - 設定 Jupyter 筆記本開始建立迴歸模型")
[![適合初學者的機器學習 - 設定 Jupyter 筆記本開始建立回歸模型](https://img.youtube.com/vi/7E-jC8FLA2E/0.jpg)](https://youtu.be/7E-jC8FLA2E "適合初學者的機器學習 - 設定 Jupyter 筆記本開始建立回歸模型")
> 🎥 點擊上圖觀看示範本練習的短片。
> 🎥 點擊上方圖片觀看本練習的簡短影片。
### 練習 - 操作一個 notebook
### 練習 - 操作筆記本
在此資料夾中,你會找到檔案 _notebook.ipynb_。
您會在此資料夾中找到 _notebook.ipynb_ 檔案。
1. 在 Visual Studio Code 中開啟 _notebook.ipynb_。
會啟動一個 Python 3+ 的 Jupyter 伺服器。你會看到可執行的程式碼區域。可按一個看似播放鍵的圖示,執行該程式碼區塊。
Jupyter 伺服器將啟動並使用 Python 3+。您會發現筆記本中有可 `執行` 的程式碼區塊。您可點擊像播放按鈕的圖示來執行程式碼。
1. 選擇 `md` 圖示,加入一些 markdown 語法和以下文字 **# Welcome to your notebook**。
1. 選擇 `md` 圖示,新增一些 markdown,並加入文字 **# 歡迎使用您的筆記本**。
接著,加入一些 Python 程式碼。
接著,添加一些 Python 程式碼。
1. 在程式碼區塊鍵入 **print('hello notebook')**。
1. 按箭頭執行程式碼。
1. 在程式碼區塊中輸入 **print('hello notebook')**。
1. 點擊箭頭執行程式碼。
你應該會看到輸出如下:
您應該會看到印出的訊息:
```output
hello notebook
```
![VS Code 開啟 notebook 的畫面](../../../../translated_images/zh-MO/notebook.4a3ee31f396b8832.webp)
![在 VS Code 打開的筆記本畫面](../../../../translated_images/zh-MO/notebook.4a3ee31f396b8832.webp)
你可以穿插程式碼與註解,自我記錄 notebook 內容。
您可穿插程式碼與註解,為筆記本自我撰寫文件。
✅ 想想看,網頁開發者的工作環境與資料科學家的環境有何不同。
✅ 想想網頁開發者的工作環境與資料科學家有何不同。
## 使用 Scikit-learn 上手
## 使用 Scikit-learn 起步
現在你的本地環境已設定好 Python,且熟悉 Jupyter 筆記本,接下來讓我們熟悉 Scikit-learn(發音為「sci」,類似「science」)。Scikit-learn 提供了[完整的 API](https://scikit-learn.org/stable/modules/classes.html#api-ref)協助你執行機器學習任務。
現在 Python 已在本地環境設定完成,並熟悉了 Jupyter 筆記本,我們來熟悉 Scikit-learn(唸作 `sci`,像科學 science 的發音)。Scikit-learn 提供[豐富的 API](https://scikit-learn.org/stable/modules/classes.html#api-ref)輔助機器學習工作。
根據其[官方網站](https://scikit-learn.org/stable/getting_started.html)說明:「Scikit-learn 是一個支持監督式與非監督式學習的開源機器學習函式庫。它還提供各種模型擬合、資料前處理、模型選擇與評估等工具,及其他許多實用功能。」
根據其 [官方網站](https://scikit-learn.org/stable/getting_started.html):"Scikit-learn 是一個開源機器學習函式庫,支持監督式與非監督式學習,並提供模型擬合、資料預處理、模型選擇與評估等多種工具。"
在本課程,你將使用 Scikit-learn 與其他工具建立機器學習模型,以完成我們所稱的“傳統機器學習”任務。我們故意避免使用神經網絡和深度學習,這部分會在即將推出的「AI 初學者」課程中更完整說明。
在本課程中,您將使用 Scikit-learn 及其他工具來建立傳統機器學習模型。我們故意避開神經網絡與深度學習,因其將在即將推出的「初學者 AI 課程」中詳述。
Scikit-learn 讓建立模型及評估變得簡單。它主要使用數值資料,並包含多組預先準備好的學習用資料集,也有學生可試用的預建模型。讓我們先探索如何載入預設資料,並用內建的估算器建立首個 Scikit-learn 機器學習模型。
Scikit-learn 使模型建立與評估簡單直接,主要針對數值資料,並包含數個準備好的資料集供學習使用,也附帶可供學生嘗試的預建模型。我們來探索以內建資料與預設估計器,如何用 Scikit-learn 建立第一個機器學習模型。
## 練習 - 你的第一個 Scikit-learn 筆記本
## 練習 - 您的第一個 Scikit-learn 筆記本
> 本教學靈感來自 Scikit-learn 網站上的[線性迴歸範例](https://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py)。
> 本指南靈感來自 Scikit-learn 網站上的[線性回歸示範](https://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py)。
[![機器學習初學者 - 你的第一個 Python 線性迴歸專案](https://img.youtube.com/vi/2xkXL5EUpS0/0.jpg)](https://youtu.be/2xkXL5EUpS0 "機器學習初學者 - 你的第一個 Python 線性迴歸專案")
[![適合初學者的機器學習 - 您的第一個 Python 線性回歸專案](https://img.youtube.com/vi/2xkXL5EUpS0/0.jpg)](https://youtu.be/2xkXL5EUpS0 "適合初學者的機器學習 - 您的第一個 Python 線性回歸專案")
> 🎥 點擊上圖觀看示範本練習的短片。
> 🎥 點擊上方圖片觀看本練習的簡短影片。
在本課程附帶的 _notebook.ipynb_ 檔案中,請按「垃圾桶」圖示清空所有儲存格。
在此課程相關的 _notebook.ipynb_ 檔中,按下「垃圾桶」圖示清除所有儲存格。
本節中,你將使用 Scikit-learn 內建的一組關於糖尿病的迷你資料集學習。假設你想測試一種糖尿病患者的治療方法。機器學習模型有助判斷哪些病患會較適合此治療方案,基於各變數組合。即使是基本迴歸模型,經視覺化後,也能揭示幫助理論性臨床試驗設計的變數資訊。
本節將使用 Scikit-learn 內建的小型糖尿病資料集。假設您想測試糖尿病患者的療法,機器學習模型有助判斷哪些患者基於變數組合會較好反應。即使是最基本的回歸模型,經視覺化後,也可呈現關於有助安排臨床試驗的變數資訊。
✅ 有許多迴歸方法,選擇哪種取決於你想得到什麼答案。若想預測特定年齡的人大約身高,則用線性迴歸,因為你想要預測的是<strong>數值數據</strong>。若要判斷某類料理是不是純素,則是<strong>分類任務</strong>,會用邏輯迴歸。後續你會進一步學習邏輯迴歸。思考一下你能向數據提出哪些問題,以及用哪種方法較適合。
✅ 回歸方法有多種,選用取決於您想要的答案。若您想預測某年齡者的可能身高,會用線性回歸,因為您在尋求一個<strong>數值</strong>。若您想辨別一種料理是否為素食,您正尋求<strong>類別判定</strong>,會使用邏輯回歸;稍後會學到更多。思考您能從資料問些什麼問題,哪種方法較適合。
現在開始動手做吧。
讓我們開始進行這個任務。
### 匯入函式庫
本任務我們將匯入一些函式庫:
本任務將匯入以下函式庫:
- **matplotlib**。這是個實用的[繪圖工具](https://matplotlib.org/),用來產生折線圖。
- **numpy**。[numpy](https://numpy.org/doc/stable/user/whatisnumpy.html) 是 Python 中處理數值資料的重要函式庫。
- **sklearn**。即是 [Scikit-learn](https://scikit-learn.org/stable/user_guide.html) 函式庫。
- **matplotlib**。這是一個實用的[繪圖工具](https://matplotlib.org/),我們會用來繪製線圖。
- **numpy**。[numpy](https://numpy.org/doc/stable/user/whatisnumpy.html) 在 Python 中處理數值資料非常有用。
- **sklearn**。這是 [Scikit-learn](https://scikit-learn.org/stable/user_guide.html) 函式庫。
匯入函式庫以協助你的任務。
匯入這些函式庫協助您的任務。
1. 輸入以下程式碼匯入:
1. 輸入以下程式碼以加入匯入:
```python
import matplotlib.pyplot as plt
@ -123,26 +123,26 @@ Scikit-learn 讓建立模型及評估變得簡單。它主要使用數值資料
from sklearn import datasets, linear_model, model_selection
```
你匯入了 `matplotlib`、`numpy`,以及從 `sklearn` 匯入 `datasets`、`linear_model`、`model_selection`。其中 `model_selection` 用來將資料拆分為訓練集和測試集。
上述程式碼匯入了 `matplotlib`、`numpy`,以及從 `sklearn` 匯入 `datasets`、`linear_model` 和 `model_selection`。`model_selection` 用於將資料分割為訓練與測試集。
### 糖尿病資料集
內建的 [糖尿病資料集](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)含有 442 個糖尿病相關樣本資料,特徵共 10 項,其中若干如下:
內建的[糖尿病資料集](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)包含 442 筆糖尿病相關資料,含 10 個特徵變數,部分如下:
- age:年齡(歲)
- bmi:身體質量指數
- bp:平均血壓
- s1 tc:T 細胞(一種白血球)
✅ 此資料集中包含 'sex' 作為對糖尿病研究重要的特徵變數。許多醫療資料集都包含這類二元分類。思考一下這種分類是否可能導致部分族群被排除在治療之外。
✅ 此資料集包含名為「性別」的特徵變數,對糖尿病研究至關重要。許多醫學資料集包含此類二元分類。想想此類分類如何可能令部分族群無法接受治療。
接下來,載入 X 與 y 資料。
現在,載入 X 和 y 資料。
> 🎓 記住,這是監督式學習,因此需要命名為 'y' 的目標變量。
> 🎓 記住,這是監督式學習,需要標記為 y 的目標。
在新的程式碼儲存格中,呼叫 `load_diabetes()` 載入資料集。輸入參數 `return_X_y=True` 表示 `X` 會是資料矩陣,`y` 則是迴歸目標。
在新程式碼儲存格中,藉由呼叫 `load_diabetes()` 載入糖尿病資料集。參數 `return_X_y=True` 表示 `X` 是資料矩陣,`y` 是回歸目標。
1. 加入印出指令,顯示資料矩陣形狀與第一筆資料:
1. 添加列印指令以顯示資料矩陣形狀及第一筆數據:
```python
X, y = datasets.load_diabetes(return_X_y=True)
@ -150,9 +150,9 @@ Scikit-learn 讓建立模型及評估變得簡單。它主要使用數值資料
print(X[0])
```
你得到的回傳結果是個元組。你將元組的前兩個值分別指定給 `X` 與 `y`。可深入了解[元組](https://wikipedia.org/wiki/Tuple)。
您的回傳結果是一個元組。賦值將元組的前兩個值分別給 `X` 和 `y`。更多資訊參見[元組介紹](https://wikipedia.org/wiki/Tuple)。
可以看到此資料集有 442 筆資料,每筆資料有 10 個元素的陣列:
可見此資料集有 442 筆資料,每筆為包含 10 個元素的陣列:
```text
(442, 10)
@ -160,9 +160,9 @@ Scikit-learn 讓建立模型及評估變得簡單。它主要使用數值資料
-0.04340085 -0.00259226 0.01990842 -0.01764613]
```
✅ 想一想資料與迴歸目標的關係。線性迴歸預測特徵 X 與目標變量 y 的連結。你能否在文件中找到該糖尿病資料集的[目標](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)?給定該目標,此資料集試圖說明什麼?
✅ 思考資料與回歸目標的關係。線性回歸預測特徵 X 與目標變數 y 的關聯。在文件中能找到糖尿病資料集的[目標](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)嗎?以此目標,此資料集展示了什麼?
2. 接著,挑選資料集其中一部分來繪圖,選取第 3 欄資料。使用 `:` 選取所有列,再用索引 (2) 選取第 3 欄。可用 `reshape(n_rows, n_columns)` 將資料改為二維陣列,是繪圖的需求。若其中一參數是 -1,則自動計算相應維度大小。
2. 接著,從資料集中選擇部分資料繪圖,選擇第 3 欄資料。透過 `:` 選擇所有列,使用索引 (2) 選取第 3 欄。使用 `reshape(n_rows, n_columns)` 將資料重塑為 2D 陣列以利繪圖。若參數為 -1,對應維度將自動計算。
```python
X = X[:, 2]
@ -171,28 +171,28 @@ Scikit-learn 讓建立模型及評估變得簡單。它主要使用數值資料
✅ 隨時印出資料確認其形狀。
3. 現在你有資料可繪圖,嘗試讓機器判定該資料中數值的合理分界。這需將資料 (X) 與目標 (y) 依比例拆成測試與訓練集。Scikit-learn 有簡單方法可拆分資料。
3. 現有資料可供繪製,您看看機器能否幫助找出資料的合適劃分。為此,需將資料 (X) 與目標 (y) 分割為測試與訓練集。Scikit-learn 提供簡單方法於指定點分割測試資料。
```python
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.33)
```
4. 準備好後開始訓練模型!載入線性迴歸模型,並用 X 與 y 的訓練集以 `model.fit()` 訓練:
4. 之後,您可訓練模型!載入線性回歸模型,並以 `model.fit()` 透過訓練集 X 和 y 訓練模型:
```python
model = linear_model.LinearRegression()
model.fit(X_train, y_train)
```
✅ `model.fit()` 是許多機器學習函式庫(如 TensorFlow)通用的函式。
✅ `model.fit()` 是許多機器學習函式庫如 TensorFlow 中常見的函式。
5. 接著,用測試資料使用 `predict()` 產生預測。它用來繪製模型數據分組間的線條。
5. 接著,使用測試資料利用 `predict()` 產生預測。此預測用於繪製資料組間的分界線。
```python
y_pred = model.predict(X_test)
```
6. 現在該將資料以圖表呈現。Matplotlib 是此任務中很實用的工具。繪製所有 X 與 y 測試資料的散點圖,再用預測值畫出最適合的分界線。
6. 現在來展示資料的繪圖。Matplotlib 是實用工具。繪製測試集 X 和 y 的散點圖,並根據預測在最合適位置繪出模型資料分群間線條。
```python
plt.scatter(X_test, y_test, color='black')
@ -205,22 +205,21 @@ Scikit-learn 讓建立模型及評估變得簡單。它主要使用數值資料
![顯示糖尿病資料點的散點圖](../../../../translated_images/zh-MO/scatterplot.ad8b356bcbb33be6.webp)
✅ 想想這在做什麼。一條直線穿過眾多小資料點,但實際作用是?您是否能利用這條線預測新資料點在繪圖 y 軸上的位置?嘗試用語言描述此模型的實用意義。
✅ 想一想這裡發生了什麼。一直線穿過許多小點數據,但它到底在做什麼?你能否看出應該如何利用這條線來預測一個未見過的新數據點應該在圖中 y 軸的哪個位置?試著用文字表達這個模型的實際用途。
恭喜,你建立了第一個線性回歸模型,使用它創建了預測,並且將其顯示在圖中!
恭喜,您建立了第一個線性回歸模型,並以其產生預測,最後顯示於圖表中!
---
## 🚀挑戰
繪製來自此數據集的不同變量的圖表。提示:編輯這一行:`X = X[:,2]`。根據此數據集的目標,你能發現糖尿病作為一種疾病的進展有什麼特點?
繪製此資料集中的另一個變數。提示:編輯此行:`X = X[:,2]`。考慮此資料集目標,您能發現糖尿病作為疾病的進展情形?
## [課後小測驗](https://ff-quizzes.netlify.app/en/ml/)
## 複習與自學
在本教程中,你使用的是簡單線性回歸,而非單變量或多元線性回歸。了解這些方法之間的差異,或觀看[這個影片](https://www.coursera.org/lecture/quantifying-relationships-regression-models/linear-vs-nonlinear-categorical-variables-ai2Ef)
在本教學中,您接觸的是簡單線性回歸,而非單變量或多變量線性回歸。稍微閱讀這些方法間的差異,或觀看[此影片](https://www.coursera.org/lecture/quantifying-relationships-regression-models/linear-vs-nonlinear-categorical-variables-ai2Ef)。
閱讀更多關於回歸概念的內容,思考這個技術能回答哪些問題。使用這個[教程](https://docs.microsoft.com/learn/modules/train-evaluate-regression-models?WT.mc_id=academic-77952-leestott)加深你的理解。
詳細了解回歸的概念,並思考這種技術可以解答哪些類型的問題。進行這個 [教程](https://docs.microsoft.com/learn/modules/train-evaluate-regression-models?WT.mc_id=academic-77952-leestott) 以深化你的理解。
## 作業

@ -1,33 +1,35 @@
# 機器學習中的分群模型
# 用於機器學習的分群模型
分群是一種機器學習任務,目的是尋找彼此相似的物件,並將它們分組成稱為「群集」的群體。分群與機器學習中的其他方法不同之處在於,它是自動進行的。事實上,可以說它是監督式學習的相反。
分群是機器學習中的一項任務,旨在尋找彼此相似的物件,並將它們分組成稱為叢集的群體。與機器學習中的其他方法不同的是,分群是自動進行的,事實上,可以說它是監督式學習的相反。
## 區域主題:針對尼日利亞觀眾音樂品味的分群模型 🎧
## 地區主題:為奈及利亞觀眾的音樂品味設計的分群模型 🎧
尼日利亞多元化的觀眾擁有多樣的音樂品味。利用從 Spotify 擷取的數據(靈感來自[這篇文章](https://towardsdatascience.com/country-wise-visual-analysis-of-music-taste-using-spotify-api-seaborn-in-python-77f5b749b421)),讓我們來看看尼日利亞流行的音樂。這個數據集包含了各種歌曲的「舞蹈性」分數、「聲學性」、音量、「語音性」、流行度和能量等數據。探索這些數據中的模式將會非常有趣!
奈及利亞多元化的觀眾擁有多樣的音樂品味。使用從 Spotify 抓取的數據(靈感來自[本文](https://towardsdatascience.com/country-wise-visual-analysis-of-music-taste-using-spotify-api-seaborn-in-python-77f5b749b421)),讓我們來看看在奈及利亞流行的一些音樂。此數據集包含各種歌曲的「舞蹈性」分數、「原聲性」、響度、「語音性」、人氣和能量等數據。發掘此數據中的模式將會很有趣!
![一台唱盤](../../../translated_images/zh-MO/turntable.f2b86b13c53302dc.webp)
![一個唱盤](../../../translated_images/zh-MO/turntable.f2b86b13c53302dc.webp)
> 照片由 <a href="https://unsplash.com/@marcelalaskoski?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Marcela Laskoski</a> 提供,來自 <a href="https://unsplash.com/s/photos/nigerian-music?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
> 照片由 <a href="https://unsplash.com/@marcelalaskoski?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Marcela Laskoski</a> 拍攝,出自 <a href="https://unsplash.com/s/photos/nigerian-music?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
在這系列課程中,您將學習使用分群技術分析數據的新方法。當您的數據集中缺乏標籤時,分群特別有用。如果數據集有標籤,那麼您在之前課程中學到的分類技術可能會更有幫助。但在需要對未標籤數據進行分組的情況下,分群是一種發現模式的絕佳方法。
在這系列課程中,你將發現使用分群技術分析數據的新方法。當數據集缺少標籤時,分群特別有用。如果有標籤,則像你之前課程中學過的分類技術可能更為適合。但在你想要分組無標籤數據的情況下,分群是一種絕佳的模式發現方式。
> 有一些實用的低代碼工具可以幫助您學習如何使用分群模型。試試 [Azure ML](https://docs.microsoft.com/learn/modules/create-clustering-model-azure-machine-learning-designer/?WT.mc_id=academic-77952-leestott) 來完成這項任務。
> 有一些有用的低代碼工具,能幫助你學習如何處理分群模型。嘗試用這個任務的 [Azure ML](https://docs.microsoft.com/learn/modules/create-clustering-model-azure-machine-learning-designer/?WT.mc_id=academic-77952-leestott) 吧
## 課程
1. [分群簡介](1-Visualize/README.md)
2. [K-Means 分群](2-K-Means/README.md)
1. [分群導論](1-Visualize/README.md)
2. [K-均值分群](2-K-Means/README.md)
## 致謝
這些課程由 [Jen Looper](https://www.twitter.com/jenlooper) 精心撰寫,並由 [Rishit Dagli](https://rishit_dagli) 和 [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) 提供了寶貴的審閱意見。
這些課程由 [Jen Looper](https://www.twitter.com/jenlooper) 撰寫🎶,並由 [Rishit Dagli](https://rishit_dagli/) 和 [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) 提供寶貴的評審意見。
[Nigerian Songs](https://www.kaggle.com/sootersaalu/nigerian-songs-spotify) 數據集來自 Kaggle,數據來源於 Spotify。
[奈及利亞歌曲](https://www.kaggle.com/sootersaalu/nigerian-songs-spotify)數據集來自 Kaggle,為從 Spotify 抓取的數據。
在創建這些課程時,以下 K-Means 的實例提供了幫助,包括這個 [iris 探索](https://www.kaggle.com/bburns/iris-exploration-pca-k-means-and-gmm-clustering)、這個[入門筆記本](https://www.kaggle.com/prashant111/k-means-clustering-with-python),以及這個[假設的 NGO 示例](https://www.kaggle.com/ankandash/pca-k-means-clustering-hierarchical-clustering)。
協助撰寫本課程的有用 K-均值範例包括這個 [鳶尾花探索](https://www.kaggle.com/bburns/iris-exploration-pca-k-means-and-gmm-clustering)、這個[入門筆記本](https://www.kaggle.com/prashant111/k-means-clustering-with-python) 以及這個 [假設的非政府組織範例](https://www.kaggle.com/ankandash/pca-k-means-clustering-hierarchical-clustering)。
---
**免責聲明**:
本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們力求準確,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們不對因使用本翻譯而引起的任何誤解或曲解承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -10,14 +10,14 @@
### 🌐 多語言支援
#### 透過 GitHub Action 支援(自動化且隨時更新)
#### 透過 GitHub Action 支援(自動化及持續更新)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](./README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
[阿拉伯文](../ar/README.md) | [孟加拉文](../bn/README.md) | [保加利亞文](../bg/README.md) | [緬甸語](../my/README.md) | [中文(簡體)](../zh-CN/README.md) | [中文(繁體,香港)](../zh-HK/README.md) | [中文(繁體,澳門)](./README.md) | [中文(繁體,台灣)](../zh-TW/README.md) | [克羅地亞文](../hr/README.md) | [捷克文](../cs/README.md) | [丹麥文](../da/README.md) | [荷蘭文](../nl/README.md) | [愛沙尼亞文](../et/README.md) | [芬蘭文](../fi/README.md) | [法文](../fr/README.md) | [德文](../de/README.md) | [希臘文](../el/README.md) | [希伯來文](../he/README.md) | [印地文](../hi/README.md) | [匈牙利文](../hu/README.md) | [印尼文](../id/README.md) | [意大利文](../it/README.md) | [日文](../ja/README.md) | [卡納達文](../kn/README.md) | [高棉文](../km/README.md) | [韓文](../ko/README.md) | [立陶宛文](../lt/README.md) | [馬來文](../ms/README.md) | [馬拉雅拉姆文](../ml/README.md) | [馬拉地文](../mr/README.md) | [尼泊爾文](../ne/README.md) | [尼日利亞皮欽語](../pcm/README.md) | [挪威文](../no/README.md) | [波斯文(法爾西語)](../fa/README.md) | [波蘭文](../pl/README.md) | [葡萄牙文(巴西)](../pt-BR/README.md) | [葡萄牙文(葡萄牙)](../pt-PT/README.md) | [旁遮普文(古魯穆奇文)](../pa/README.md) | [羅馬尼亞文](../ro/README.md) | [俄文](../ru/README.md) | [塞爾維亞文(西里爾字母)](../sr/README.md) | [斯洛伐克文](../sk/README.md) | [斯洛文尼亞文](../sl/README.md) | [西班牙文](../es/README.md) | [斯瓦希里文](../sw/README.md) | [瑞典文](../sv/README.md) | [他加祿文(菲律賓語)](../tl/README.md) | [泰米爾文](../ta/README.md) | [泰盧固文](../te/README.md) | [泰文](../th/README.md) | [土耳其文](../tr/README.md) | [烏克蘭文](../uk/README.md) | [烏爾都文](../ur/README.md) | [越南文](../vi/README.md)
> **想本地複製?**
> **想本地 Clone?**
>
> 此存儲庫包含 50 多種語言翻譯,會大幅增加下載大小。若要在不帶翻譯的情況下複製,請使用稀疏檢出:
> 本倉庫包含50多種語言的翻譯,顯著增加下載大小。若想不包含翻譯內容進行 clone,請使用稀疏檢出(sparse checkout):
>
> **Bash / macOS / Linux:**
> ```bash
@ -26,69 +26,72 @@
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
>
> **CMD(Windows):**
> **CMD(Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> 這會讓您以更快的速度下載完成課程所需的所有內容。
> 這樣你只會下載完成課程所需的內容,速度更快。
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### 加入我們的社群
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
我們正舉辦 Discord AI 學習系列,詳情及加入請見 [Learn with AI Series](https://aka.ms/learnwithai/discord),時間為 2025 年 9 月 18 日至 30 日。您將獲得使用 GitHub Copilot 做數據科學的技巧與秘訣。
我們正在舉辦 Discord AI 學習系列,歡迎於2025年9月18日至30日來了解並加入[Learn with AI Series](https://aka.ms/learnwithai/discord)。你將學到使用 GitHub Copilot 進行資料科學的技巧與秘訣。
![Learn with AI series](../../translated_images/zh-MO/3.9b58fd8d6c373c20.webp)
# 初學者機器學習課程大綱
# 初學者機器學習課程
> 🌍 跟隨世界各地文化,一起探索機器學習 🌍
> 🌍 跟我們一起環遊世界,以世界各地文化探索機器學習 🌍
微軟 Cloud Advocates 團隊很高興提供一套共 12 週、26 課的<strong>機器學習</strong>課程。在這套課程中,您將了解所謂的<strong>經典機器學習</strong>,主要使用 Scikit-learn 作為函式庫,並避開深度學習部分,深度學習則在我們的[AI 初學者課程](https://aka.ms/ai4beginners)中涵蓋。這些課程也可與我們的[初學者數據科學課程](https://aka.ms/ds4beginners)搭配學習!
微軟的雲端推廣員很高興提供為期12週、共26課的<strong>機器學習</strong>課程。在此課程中,你將學習所謂的<strong>經典機器學習</strong>,主要使用 Scikit-learn 函式庫,避免深度學習,後者在我們的[AI for Beginners 課程](https://aka.ms/ai4beginners)中介紹。也可搭配我們的[數據科學初學者課程](https://aka.ms/ds4beginners)一起學習!
跟我們一起環遊世界,將這些經典技術應用到來自全球不同領域的數據。每堂課包含課前和課後小測驗、書面操作說明、解答、作業,及更多。我們以專案為基礎的教學法,讓你邊建構邊學習,這是新技能「記憶更深刻」的有效方法。
跟我們一起環遊世界,應用這些經典技術於來自世界各地的資料。每課包含課前及課後小測驗、完成課程的書面說明、解答、作業等。專案導向的教學方式讓你邊做邊學,是新技能牢固吸收的有效方法。
**✍️ 誠摯感謝作者** Jen Looper、Stephen Howell、Francesca Lazzeri、Tomomi Imura、Cassie Breviu、Dmitry Soshnikov、Chris Noring、Anirban Mukherjee、Ornella Altunyan、Ruth Yakubu 與 Amy Boyd
**✍️ 衷心感謝作者團隊** Jen Looper、Stephen Howell、Francesca Lazzeri、Tomomi Imura、Cassie Breviu、Dmitry Soshnikov、Chris Noring、Anirban Mukherjee、Ornella Altunyan、Ruth Yakubu 與 Amy Boyd
**🎨 也感謝插畫師** Tomomi Imura、Dasani Madipalli 及 Jen Looper
**🎨 感謝插畫者** Tomomi Imura、Dasani Madipalli 和 Jen Looper
**🙏 特別感謝🙏 微軟學生大使作者、審閱者與內容貢獻者**,尤其是 Rishit Dagli、Muhammad Sakib Khan Inan、Rohan Raj、Alexandru Petrescu、Abhishek Jaiswal、Nawrin Tabassum、Ioan Samuila 與 Snigdha Agarwal
**🙏 特別感謝🙏 微軟學生大使作者、審閱者與內容貢獻者**,特別是 Rishit Dagli、Muhammad Sakib Khan Inan、Rohan Raj、Alexandru Petrescu、Abhishek Jaiswal、Nawrin Tabassum、Ioan Samuila 與 Snigdha Agarwal
**🤩 額外感謝微軟學生大使 Eric Wanjau、Jasleen Sondhi 及 Vidushi Gupta 的 R 課程!**
**🤩 額外感謝微軟學生大使 Eric Wanjau、Jasleen Sondhi 和 Vidushi Gupta 協助我們的 R 課程!**
# 開始使用
請按照以下步驟:
請依照下列步驟操作:
1. **Fork 此倉庫**:點擊本頁右上方的「Fork」按鈕。
2. **Clone 此倉庫**:`git clone https://github.com/microsoft/ML-For-Beginners.git`
2. **Clone 倉庫**: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [在我們的 Microsoft Learn 集合中找到本課程的所有額外資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 💡 **快速開始建議:** 想在瀏覽器直接開始,不想在本地設定 Python 環境?使用 [GitHub Codespaces](https://github.com/features/codespaces) 為你自己的 fork 建立雲端開發環境。打開綠色 **Code** 選單,選擇 **Codespaces**,建立新的 codespace;依需要在其中安裝各課程所需的依賴套件。
> 🔧 **需要幫助?** 請查看我們的[故障排除指南](TROUBLESHOOTING.md),解決安裝、設置與運行課程常見問題。
> [本站課程的更多資源請見 Microsoft Learn 彙整](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
**[學生們](https://aka.ms/student-page)**,使用本課程時,請先將整個倉庫 fork 至您自己的 GitHub 帳號,然後獨立或組隊完成練習:
> 🔧 **需要協助?** 查看我們的[疑難排解指南](TROUBLESHOOTING.md),解決安裝、設定與執行課程時常見的問題。
- 從課前小測驗開始。
- 閱讀課程內容並完成活動,隨時暫停思考知識點。
- 嘗試透過理解課程內容創建專案,而非直接執行解答程式碼;當然解答代碼在每個專案導向課程中的 `/solution` 資料夾可用。
- 進行課後小測驗。
- 完成挑戰題。
- 完成作業。
- 完成一組課程後,請到 [討論區](https://github.com/microsoft/ML-For-Beginners/discussions),透過填寫對應的 PAT 評分標準進行「大聲學習」。PAT(Progress Assessment Tool)是您填寫的進度評估工具。也可以對其他人的 PAT 作出回應,大家一起學習。
> 若想進一步學習,我們推薦以下 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) 模塊與學習路徑。
**[學生](https://aka.ms/student-page)** ,使用這課程的方式是 fork 完整倉庫到你的 GitHub 帳號,獨立或小組完成練習:
<strong>教師們</strong>,我們提供了[一些使用課程的建議](for-teachers.md)。
- 先完成課前小測驗。
- 閱讀課程內容並完成活動,每個知識檢測點暫停並思考。
- 嘗試自己完成專案,不要照抄解答程式碼;但解答程式碼會放在每個專案導向課程的 `/solution` 資料夾。
- 完成課後小測驗。
- 挑戰任務。
- 作業。
- 完成一組課程後,請到[討論區](https://github.com/microsoft/ML-For-Beginners/discussions)「大聲學習」(learn out loud),填寫對應的 PAT 評量表。PAT 是進度評估工具,透過填寫可以促進學習。也可以對別人的 PAT 評價,大家一同進步。
> 若要進一步學習,推薦使用這些 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) 模組與學習路徑。
<strong>教師</strong>,我們[提供了一些建議](for-teachers.md)說明如何運用此課程。
---
## 影片導覽
## 影片教學
部分課程有短影片可播放。您可在課程中線上觀看,也可點擊下方圖片,前往 Microsoft Developer YouTube 頻道的[ML 初學者播放清單](https://aka.ms/ml-beginners-videos)。
部分課程提供短片教學。這些影片可在課程中直接觀看,或在[微軟開發者 YouTube 頻道的 ML for Beginners 播放清單](https://aka.ms/ml-beginners-videos)中找到,點擊下方圖片即可。
[![ML for beginners banner](../../translated_images/zh-MO/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
@ -96,152 +99,154 @@
## 團隊介紹
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
[![推廣影片](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
<strong>動圖由</strong> [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) 提供
**GIF 由** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
> 🎥 點擊上方圖片,觀看本專案及其創作者介紹影片!
> 🎥 點擊上方圖片觀看關於本專案及創建團隊的影片!
---
## 教學理念
## 教學法
我們在設計此課程時選擇了兩大教學原則:確保它是動手做的<strong>專案導向</strong>課程,並包含<strong>頻繁的小測驗</strong>。此外,本課程有一致的<strong>主題</strong>作為連貫架構。
本課程設計遵循兩大教學原則:確保為動手實作的<strong>專案導向</strong>與包含<strong>頻繁小測驗</strong>。此外,課程有統一<strong>主題</strong>以增強連貫性。
確保內容和專案緊密結合,能讓學生更投入學習,增加概念掌握率。課前低壓力的小測驗設定學生學習意向,課後複習小測驗則加強記憶。本課程彈性且有趣,可一次修完或分階段學。專案從簡單開始,隨課程進展逐漸提升難度。課程後還有機器學習實際應用的後記,可作為額外學分或討論素材。
透過專案配合內容,讓學生更投入學習並強化概念記憶。課前低風險小測激發學生學習意圖,課後測驗則深化記憶。本課程靈活且有趣,可完整學完或部分學習。專案由淺入深,隨著12週進度逐漸加深。課程也包含機器學習實務的後記,可作為額外學分或討論基礎。
> 請參閱我們的[行為準則](CODE_OF_CONDUCT.md)、[貢獻指南](CONTRIBUTING.md)、[翻譯](../../../../../../../translations)及[故障排除指南](TROUBLESHOOTING.md)。我們歡迎您的建設性反饋!
> 查閱我們的[行為準則](CODE_OF_CONDUCT.md)、[貢獻指南](CONTRIBUTING.md)、[翻譯指南](..)及[疑難排解](TROUBLESHOOTING.md)。歡迎你的建設性回饋!
## 每堂課包含
- 選擇性手繪筆記
- 選擇性補充影片
- 影片導覽(部分課程)
- [課前暖身小測驗](https://ff-quizzes.netlify.app/en/ml/)
- 可選的手繪筆記
- 可選的補充影片
- 影片教學(部分課程)
- [課前熱身小測](https://ff-quizzes.netlify.app/en/ml/)
- 書面課程內容
- 專案導向課程的分步建置指南
- 知識點檢測
- 挑戰題
- 專案導向課程的專案製作步驟指南
- 知識檢測
- 挑戰任務
- 補充閱讀
- 作業
- [課後小測驗](https://ff-quizzes.netlify.app/en/ml/)
> <strong>關於語言的一個說明</strong>:這些課程主要以 Python 編寫,但也有很多課程提供 R 語言版本。要完成一個 R 課程,請前往 `/solution` 資料夾並尋找 R 課程。它們包含了 .rmd 副檔名,代表一個 **R Markdown** 檔案,可以簡單定義為在 `Markdown 文件` 中嵌入了 `代碼區塊`(R 或其他語言)和 `YAML 標頭`(用來指導如何格式化輸出,例如 PDF)。因此,它作為一個範例的資料科學創作框架,允許你將程式碼、程式碼輸出和你的想法結合起來,並用 Markdown 記錄下來。此外,R Markdown 文件可以被渲染成 PDF、HTML 或 Word 等輸出格式。
- [課後小測](https://ff-quizzes.netlify.app/en/ml/)
> <strong>關於測驗的一個說明</strong>:所有測驗都包含在 [Quiz App folder](../../quiz-app) 中,共52個測驗,每個測驗有三個問題。它們從課程中連結,但測驗應用程式可以在本地運行;請依照 `quiz-app` 資料夾中的指示,在本地架設或部署到 Azure。
> <strong>關於語言說明</strong>:這些課程主要使用 Python 撰寫,但很多也提供 R 版本。完成 R 課程請至 `/solution` 資料夾尋找 R 課程檔案,其具備 .rmd 副檔名,是一種 **R Markdown** 文件,整合了 `code chunks`(R 或其他語言程式碼)與 `YAML header`(指導輸出格式如 PDF)於 `Markdown` 文件內。此格式非常適合資料科學著作,能讓你結合程式碼、輸出結果及心得並用 Markdown 撰寫。R Markdown 可輸出 PDF、HTML 或 Word 格式。
| Lesson Number | Topic | Lesson Grouping | Learning Objectives | Linked Lesson | Author |
> <strong>關於小測說明</strong>:52 堂課共設 52 個小測,每個三題,全部集中於[Quiz App 資料夾](../../quiz-app)。小測可連結於課程中,亦可於本地執行,詳見 `quiz-app` 資料夾的指示,支援本地架設或部署至 Azure。
| 課程編號 | 主題 | 課程分組 | 學習目標 | 連結課程 | 作者 |
| :-----------: | :------------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | 機器學習簡介 | [Introduction](1-Introduction/README.md) | 了解機器學習的基本概念 | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | 機器學習的歷史 | [Introduction](1-Introduction/README.md) | 了解這個領域背後的歷史 | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy |
| 03 | 公平性與機器學習 | [Introduction](1-Introduction/README.md) | 建立及應用機器學習模型時,學生應考慮的重要公平性哲學議題是什麼? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | 機器學習技術 | [Introduction](1-Introduction/README.md) | 機器學習研究人員使用了哪些技術來建立機器學習模型? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen |
| 05 | 回歸簡介 | [Regression](2-Regression/README.md) | 使用 Python 和 Scikit-learn 進行回歸模型入門 | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 視覺化和清理數據以準備機器學習 | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 01 | 機器學習簡介 | [Introduction](1-Introduction/README.md) | 學習機器學習背後的基本概念 | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | 機器學習的歷史 | [Introduction](1-Introduction/README.md) | 學習該領域背後的歷史 | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy |
| 03 | 公平性與機器學習 | [Introduction](1-Introduction/README.md) | 在建立與應用機器學習模型時,學生應考慮哪些關於公平性的重要哲學議題? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | 機器學習的技術 | [Introduction](1-Introduction/README.md) | 機器學習研究者使用哪些技術來建立機器學習模型? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen |
| 05 | 回歸簡介 | [Regression](2-Regression/README.md) | 開始使用 Python 和 Scikit-learn 進行回歸模型 | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 視覺化並清理資料以準備機器學習 | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 建立線性和多項式回歸模型 | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen and Dmitry • Eric Wanjau |
| 08 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 建立邏輯回歸模型 | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | 一個網頁應用 🔌 | [Web App](3-Web-App/README.md) | 建立一個使用你訓練過的模型的網頁應用 | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | 分類簡介 | [Classification](4-Classification/README.md) | 清理、準備及視覺化數據;分類入門 | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen and Cassie • Eric Wanjau |
| 11 | 美味的亞洲及印度料理 🍜 | [Classification](4-Classification/README.md) | 分類器入門 | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen and Cassie • Eric Wanjau |
| 09 | 網頁應用 🔌 | [Web App](3-Web-App/README.md) | 建立一個網頁應用來使用你訓練好的模型 | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | 分類簡介 | [Classification](4-Classification/README.md) | 清理、準備並視覺化你的資料;分類導論 | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen and Cassie • Eric Wanjau |
| 11 | 美味的亞洲及印度料理 🍜 | [Classification](4-Classification/README.md) | 分類器導論 | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen and Cassie • Eric Wanjau |
| 12 | 美味的亞洲及印度料理 🍜 | [Classification](4-Classification/README.md) | 更多分類器 | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen and Cassie • Eric Wanjau |
| 13 | 美味的亞洲及印度料理 🍜 | [Classification](4-Classification/README.md) | 利用你的模型建立推薦系統網頁應用 | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | 叢集分析簡介 | [Clustering](5-Clustering/README.md) | 清理、準備及視覺化數據;叢集分析入門 | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | 探索尼日利亞音樂品味 🎧 | [Clustering](5-Clustering/README.md) | 探索 K-均值叢集分析法 | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | 自然語言處理簡介 ☕️ | [Natural language processing](6-NLP/README.md) | 通過建立一個簡單機器人學習自然語言處理基礎 | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | 常見的 NLP 任務 ☕️ | [Natural language processing](6-NLP/README.md) | 深入了解處理語言結構時所需的常見任務 | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | 翻譯與情感分析 ♥️ | [Natural language processing](6-NLP/README.md) | 使用珍·奧斯汀文本進行翻譯和情感分析 | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | 歐洲浪漫飯店 ♥️ | [Natural language processing](6-NLP/README.md) | 使用飯店評論1進行情感分析 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | 歐洲浪漫飯店 ♥️ | [Natural language processing](6-NLP/README.md) | 使用飯店評論2進行情感分析 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | 時間序列預測入門 | [Time series](7-TimeSeries/README.md) | 時間序列預測入門 | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ 世界用電量 ⚡️ - 使用 ARIMA 進行時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用 ARIMA 進行時間序列預測 | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ 世界用電量 ⚡️ - 使用 SVR 進行時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用支持向量回歸進行時間序列預測 | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | 強化學習入門 | [Reinforcement learning](8-Reinforcement/README.md) | Q-Learning 強化學習入門 | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | 幫彼得避開狼!🐺 | [Reinforcement learning](8-Reinforcement/README.md) | 強化學習 Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| Postscript | 真實世界機器學習場景與應用 | [ML in the Wild](9-Real-World/README.md) | 傳統機器學習有趣且具啟發性的真實世界應用 | [Lesson](9-Real-World/1-Applications/README.md) | Team |
| Postscript | 使用 RAI 控制台進行機器學習模型除錯 | [ML in the Wild](9-Real-World/README.md) | 使用 Responsible AI 控制台組件進行機器學習模型除錯 | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
| 13 | 美味的亞洲及印度料理 🍜 | [Classification](4-Classification/README.md) | 使用你的模型建立推薦網頁應用 | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | 聚類簡介 | [Clustering](5-Clustering/README.md) | 清理、準備並視覺化你的資料;聚類導論 | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | 探索奈及利亞音樂喜好 🎧 | [Clustering](5-Clustering/README.md) | 探索 K-Means 聚類方法 | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | 自然語言處理簡介 ☕️ | [Natural language processing](6-NLP/README.md) | 通過建立簡單機械人來學習 NLP 基礎 | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | 常見的 NLP 任務 ☕️ | [Natural language processing](6-NLP/README.md) | 通過理解處理語言結構時所需的常見任務來深化你的 NLP 知識 | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | 翻譯與情感分析 ♥️ | [Natural language processing](6-NLP/README.md) | 使用 Jane Austen 的翻譯及情感分析 | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | 歐洲浪漫飯店 ♥️ | [Natural language processing](6-NLP/README.md) | 使用飯店評論進行情感分析 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | 歐洲浪漫飯店 ♥️ | [Natural language processing](6-NLP/README.md) | 使用飯店評論進行情感分析 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | 時間序列預測簡介 | [Time series](7-TimeSeries/README.md) | 時間序列預測導論 | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ 世界電力使用量 ⚡️ - 使用 ARIMA 的時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用 ARIMA 進行時間序列預測 | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ 世界電力使用量 ⚡️ - 使用 SVR 的時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用支持向量回歸進行時間序列預測 | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | 強化學習簡介 | [Reinforcement learning](8-Reinforcement/README.md) | 使用 Q-Learning 的強化學習導論 | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | 幫彼得避免狼!🐺 | [Reinforcement learning](8-Reinforcement/README.md) | 強化學習 Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| 後記 | 真實世界的機器學習場景與應用 | [ML in the Wild](9-Real-World/README.md) | 傳統機器學習在真實世界中的有趣且發人深省的應用 | [Lesson](9-Real-World/1-Applications/README.md) | Team |
| 後記 | 使用 RAI 儀表板進行機器學習模型調試 | [ML in the Wild](9-Real-World/README.md) | 使用負責任 AI 儀表板組件進行機器學習模型調試 | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [在我們的 Microsoft Learn 收藏裡找到這門課程的所有額外資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [在我們的 Microsoft Learn 收藏中找到本課程所有額外資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## 離線存取
## 離線使用
你可以使用 [Docsify](https://docsify.js.org/#/) 離線執行本文件。分叉此倉庫,在本地機器上 [安裝 Docsify](https://docsify.js.org/#/quickstart),然後在此倉庫的根目錄輸入 `docsify serve`。網站將會在本地主機的 3000 埠埠服務:`localhost:3000`。
你可以使用 [Docsify](https://docsify.js.org/#/) 離線運行本文件。請 Fork 本倉庫,於你的本機安裝 [Docsify](https://docsify.js.org/#/quickstart),然後在本倉庫根目錄輸入 `docsify serve`。網站將會在你的本地端的 3000 埠啟動:`localhost:3000`。
## PDF 文件
## PDF
可在 [這裡](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf) 下載課程大綱的 PDF 文件附帶連結。
請在此處找到包含連結的課程綱要 pdf [here](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf)。
## 🎒 其他課程
## 🎒 其他課程
我們團隊還製作其他課程!歡迎瀏覽:
我們團隊還有製作其他課程!歡迎查看:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j for Beginners](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js for Beginners](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain for Beginners](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain4j 入門](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js 入門](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain 入門](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AZD 入門](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI 入門](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP 入門](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI Agents 入門](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### 生成式 AI 系列
[![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![Generative AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
[![生成式 AI 入門](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![生成式 AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![生成式 AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![生成式 AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### 核心學習
[![ML for Beginners](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![Data Science for Beginners](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![AI for Beginners](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![Cybersecurity for Beginners](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![Web Dev for Beginners](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![IoT for Beginners](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR Development for Beginners](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
[![機器學習入門](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![資料科學入門](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![人工智能入門](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![網絡安全入門](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![網頁開發入門](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![物聯網入門](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR 開發入門](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Copilot 系列
[![Copilot for AI Paired Programming](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![Copilot for C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot Adventure](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
[![AI 結對編程的 Copilot](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![C#/.NET 的 Copilot](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot 冒險](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## 獲取幫助
## 獲得幫助
如果你在學習機器學習或建立 AI 應用程式時遇到困難或有疑問,別擔心——幫助隨時可得。
如果你在學習機器學習或構建人工智能應用時遇到困難或有疑問,別擔心—有幫助資源可用。
你可以加入其他學習者與開發者的討論,提出問題,並與社群分享你的想法。
你可以加入與其他學習者及開發者的討論,提出問題,並與社群分享你的想法。
- 加入社群,與其他人一同提問和學習
- 討論機器學習的概念和專案想法
- 獲得經驗豐富開發者的指導
- 加入社群,向其他人提問並共同學習
- 討論機器學習概念和專案想法
- 獲得有經驗開發者的指導
一個支持性的社群是提升技能與更快解決問題的好方法。
一個支持性的社群是提升技能和更快解決問題的極佳方式。
[Microsoft Foundry Discord Community](https://discord.gg/nTYy5BXMWG)
[Microsoft Foundry Discord 社群](https://discord.gg/nTYy5BXMWG)
如果你發現錯誤、問題,或有建議改善的地方,也可以在本儲存庫中開啟 **Issue** 回報。
如果你遇到錯誤、問題,或有改進建議,也可以在此倉庫中開啟 **Issue** 來報告問題。
如需產品反饋或搜尋現有社群帖子,請訪問開發者論壇:
若要反饋產品或搜尋現有的社群帖子,請造訪開發者論壇:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## 額外學習提示
## 其他學習小貼士
- 每堂課後複習筆記本以加深理解。
- 自己練習實作演算法。
- 使用學到的概念探究真實世界的資料集。
- 每課後複習筆記本以加深理解。
- 自行練習實作算法。
- 利用所學概念探索真實世界數據集。
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
本文件由 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 所翻譯。儘管我們致力於確保準確性,請注意自動翻譯可能包含錯誤或不準確之處。原始語言版本的文件應被視為權威來源。對於重要資訊,建議採用專業人工翻譯。我們不對因使用本翻譯所產生的任何誤解或錯誤詮釋負責。
**免責聲明**:
本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們力求準確,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們不對因使用本翻譯而引起的任何誤解或曲解承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,28 +1,30 @@
## 給教育工作者
## 教育工作者專區
想在您的課堂上使用這份課程嗎?請隨意使用!
您想在您的課堂中使用這份課程嗎?請隨意使用!
事實上,您可以直接在 GitHub 上使用它,透過 GitHub Classroom 來實現。
事實上,您可以直接在 GitHub 本身透過 GitHub Classroom 使用它。
要這麼做,請先 fork 這個 repo。您需要為每一課創建一個 repo,因此需要將每個資料夾提取到一個單獨的 repo 中。這樣,[GitHub Classroom](https://classroom.github.com/classrooms) 就能分別處理每一課。
要做到這點,請先分叉這個倉庫。您需要為每一課建立一個倉庫,因此必須將每個資料夾拆分成獨立的倉庫。這樣,[GitHub Classroom](https://classroom.github.com/classrooms) 才能單獨抓取每一課。
這些[完整的說明](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/)可以幫助您了解如何設置您的課堂。
這些[完整說明](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/)會告訴您如何設定您的教室。
## 按原樣使用這個 repo
## 直接使用目前的倉庫
如果您希望按目前的形式使用這個 repo,而不使用 GitHub Classroom,也完全可以。您需要與您的學生溝通,告訴他們要一起完成哪一課。
如果您想直接使用目前這個倉庫,而不透過 GitHub Classroom,也是可以的。您只需要告知學生要一起完成哪一課。
在線上教學形式(如 Zoom、Teams 或其他工具)中,您可以為測驗設置分組討論室,並指導學生為學習做好準備。然後邀請學生參加測驗,並在特定時間以 'issues' 的形式提交答案。如果您希望學生公開合作完成作業,也可以採用相同的方式。
在線上形式(Zoom、Teams 或其他)中,您可以分組進行小測驗,並輔導學生準備學習。然後邀請學生在特定時間內完成小測驗並將答案以「issue」形式提交。您也可以用同樣方式處理作業,若希望學生公開協作。
如果您更喜歡更私密的形式,可以要求學生逐課 fork 這份課程到他們自己的 GitHub 私人 repo,並授予您訪問權限。這樣,他們可以私下完成測驗和作業,並通過 classroom repo 上的 issues 提交給您。
如果您偏好較私密的形式,請學生分別將課程分課分叉到他們自己的 GitHub 私有倉庫,並授權您存取。然後他們可以私下完成小測驗與作業,並透過您課堂倉庫的 issue 向您提交。
在線課堂有很多種運作方式。請告訴我們哪種方式最適合您!
在線上教室的形式中,有非常多方法可以讓這個方式運作。請告訴我們什麼是最適合您的!
## 請分享您的想法!
## 請給我們您的想法!
我們希望這份課程能夠滿足您和您學生的需求。請提供您的[反饋](https://forms.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR2humCsRZhxNuI79cm6n0hRUQzRVVU9VVlU5UlFLWTRLWlkyQUxORTg5WS4u)。
我們希望讓這份課程對您和您的學生都有用。請給我們[反饋](https://forms.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR2humCsRZhxNuI79cm6n0hRUQzRVVU9VVlU5UlFLWTRLWlkyQUxORTg5WS4u)。
---
**免責聲明**:
本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們力求準確,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議尋求專業人工翻譯。我們不對因使用本翻譯而引起的任何誤解或曲解承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -24,8 +24,8 @@
"language_code": "zh-TW"
},
"1-Introduction/3-fairness/README.md": {
"original_hash": "0f00d72169a0d37eecfd16d71e01700a",
"translation_date": "2026-07-14T08:11:13+00:00",
"original_hash": "0c620ca2c6d2828e9a838ecec5f01265",
"translation_date": "2026-09-15T00:45:07+00:00",
"source_file": "1-Introduction/3-fairness/README.md",
"language_code": "zh-TW"
},
@ -54,8 +54,8 @@
"language_code": "zh-TW"
},
"2-Regression/1-Tools/README.md": {
"original_hash": "0b8635427b582d03ea4ab7089b93e505",
"translation_date": "2026-07-14T08:07:25+00:00",
"original_hash": "1f4f6c95404d528041bcc36784771084",
"translation_date": "2026-09-15T00:47:00+00:00",
"source_file": "2-Regression/1-Tools/README.md",
"language_code": "zh-TW"
},
@ -282,8 +282,8 @@
"language_code": "zh-TW"
},
"5-Clustering/README.md": {
"original_hash": "b28a3a4911584062772c537b653ebbc7",
"translation_date": "2025-09-03T17:02:43+00:00",
"original_hash": "c78940a1b03da1de13bd97527f9e6606",
"translation_date": "2026-09-15T00:43:44+00:00",
"source_file": "5-Clustering/README.md",
"language_code": "zh-TW"
},
@ -456,8 +456,8 @@
"language_code": "zh-TW"
},
"7-TimeSeries/README.md": {
"original_hash": "61342603bad8acadbc6b2e4e3aab3f66",
"translation_date": "2025-09-03T16:46:33+00:00",
"original_hash": "722526664e764a2290e1def74afa5139",
"translation_date": "2026-09-15T00:43:55+00:00",
"source_file": "7-TimeSeries/README.md",
"language_code": "zh-TW"
},
@ -564,8 +564,8 @@
"language_code": "zh-TW"
},
"README.md": {
"original_hash": "3e3a6c7e68e0afe7e2276ac046e4d7a0",
"translation_date": "2026-04-20T16:18:29+00:00",
"original_hash": "8bba8faed876aa7bbc92b759a350b1d8",
"translation_date": "2026-09-15T00:40:19+00:00",
"source_file": "README.md",
"language_code": "zh-TW"
},
@ -592,11 +592,11 @@
"original_hash": "fba3b94d88bfb9b81369b869a1e9a20f",
"source_file": "sketchnotes/LICENSE.md",
"language_code": "zh-TW",
"failure_date": "2026-07-14T08:06:19+00:00",
"failure_date": "2026-09-15T00:43:31+00:00",
"status": "failed",
"error_type": "TranslationIncompleteError",
"error_message": "Markdown translation remained incomplete for chunk 1.1.1 of 'LICENSE.md', and the chunk could not be split further.",
"translator_version": "0.20.0",
"translator_version": "0.20.1",
"failure_policy_version": 1
}
},
@ -607,8 +607,8 @@
"language_code": "zh-TW"
},
"for-teachers.md": {
"original_hash": "b37de02054fa6c0438ede6fabe1fdfb8",
"translation_date": "2025-09-03T16:16:00+00:00",
"original_hash": "4b5b4e11bf182a803261b55a19d3ee70",
"translation_date": "2026-09-15T00:38:19+00:00",
"source_file": "for-teachers.md",
"language_code": "zh-TW"
},

@ -1,163 +1,162 @@
# 建立負責任 AI 的機器學習解決方案
# 使用負責任的 AI 建構機器學習解決方案
![機器學習中負責任 AI 的摘要手繪筆記](../../../../translated_images/zh-TW/ml-fairness.ef296ebec6afc98a.webp)
> 手繪筆記作者:[Tomomi Imura](https://www.twitter.com/girlie_mac)
![以速寫筆記說明機器學習中負責任 AI 的摘要](../../../../translated_images/zh-TW/ml-fairness.ef296ebec6afc98a.webp)
> 速寫筆記作者:[Tomomi Imura](https://www.twitter.com/girlie_mac)
## [課前測驗](https://ff-quizzes.netlify.app/en/ml/)
## 介紹
## 簡介
在本課程中,您將開始了解機器學習如何並且正在影響我們的日常生活。即使現在,系統和模型也參與日常決策任務,如醫療診斷、貸款核准或詐欺偵測。因此,這些模型有效運作以提供可被信賴的結果是很重要的。就如任何軟體應用,AI 系統也可能未達預期或產生不理想的結果。這就是為什麼了解並解釋 AI 模型的行為是必要的原因。
在本課程中,您將開始了解機器學習如何影響並正影響我們的日常生活。即使在現在,系統和模型也已涉入日常的決策任務,如醫療診斷、貸款審核或偵測詐欺等。因此,這些模型必須有效運作以提供值得信賴的結果。正如任何軟體應用程式一樣,AI 系統也會有失誤或產生不理想的結果。因此,能夠理解和解釋 AI 模型的行為是非常重要的。
想像當您用來建立這些模型的數據缺少某些族群,如種族、性別、政治觀點、宗教,或是不成比例地代表這些族群,會發生什麼?如果模型的輸出被解讀為偏袒某些族群會怎麼樣?應用的後果是什麼?另外,當模型產生不良結果並對人們有害時會怎麼樣?誰應對 AI 系統的行為負責?這些是我們在本課程中將探索的一些問題。
想像一下,您用來建構這些模型的資料如果缺乏某些族群的代表性,例如種族、性別、政治觀點、宗教信仰,或是不成比例地代表這些族群,會有什麼後果?如果模型的輸出被解讀為傾向某些族群,這對應用程式有何影響?此外,當模型產生不良結果,並對人們造成傷害時,誰該對 AI 系統的行為負責?這些都是我們在本課程中將探討的問題。
在本課程中,您將:
- 提升您對機器學習中公平性重要性及相關傷害的意識。
- 熟悉探索異常值和不尋常情況以確保可靠性與安全性的做法。
- 理解設計包容系統以賦能所有人的必要性。
- 探索保護數據及個人隱私安全的重要性。
- 了解採用透明(玻璃盒)方法解釋 AI 模型行為的重要性。
- 注意問責制對於建立對 AI 系統信任的重要性。
- 增強對機器學習中公平性及公平性相關傷害重要性的認知。
- 熟悉探索異常值和不同尋常情境以確保可靠性和安全性的做法。
- 了解設計包容性系統以賦能所有人的必要性。
- 探討保護資料及人員隱私和安全的重要性。
- 了解以透明盒子(glass box)方法解釋 AI 模型行為的重要性。
- 注意到問責制對於建立對 AI 系統信任的關鍵性。
## 預備知識
## 先備知識
作為先修,請完成《負責任 AI 原則》學習路徑,並觀看以下相關主題影片:
作為先備課程,請先完成「負責任的 AI 原則」學習路徑並觀看下方關於該主題的影片:
透過此[學習路徑](https://docs.microsoft.com/learn/modules/responsible-ai-principles/?WT.mc_id=academic-77952-leestott)深入了解負責任 AI
透過此 [學習路徑](https://docs.microsoft.com/learn/modules/responsible-ai-principles/?WT.mc_id=academic-77952-leestott) 進一步了解負責任的 AI
[![微軟負責任 AI 方法](https://img.youtube.com/vi/dnC8-uUZXSc/0.jpg)](https://youtu.be/dnC8-uUZXSc "微軟負責任 AI 方法")
[![Microsoft 負責任的 AI 方法](https://img.youtube.com/vi/dnC8-uUZXSc/0.jpg)](https://youtu.be/dnC8-uUZXSc "Microsoft 負責任的 AI 方法")
> 🎥 點擊上方圖片觀看影片:微軟負責任 AI 方法
> 🎥 點擊上方圖片觀看影片:Microsoft 的負責任 AI 方法
## 公平性
AI 系統應公平對待每個人,避免以不同方式影響相似群體。例如,當 AI 系統提供醫療治療建議、貸款申請或就業指引時,應針對具有相似症狀、財務狀況或專業資格的每個人給予相同的建議。我們每個人都攜帶著影響決策與行動的固有偏見。這些偏見可能明顯存在於用於訓練 AI 系統的數據中。有時這種操縱是無意的,而且通常難以自覺意識到何時在數據中引入了偏見。
AI 系統應同等待遇所有人,避免對相似群體產生不同影響。例如,當 AI 系統提供醫療治療建議、貸款申請或職業建議時,應對相似症狀、財務狀況或專業資格的人給予相同建議。作為人類,我們皆帶有遺傳而來的偏見,影響我們的決策和行動。這些偏見在用於訓練 AI 系統的資料中可能呈現出來。有時這些操控是無意的。往往很難有意識地知道何時將偏見引入資料中。
**「不公平」** 指對某群體造成負面影響或「傷害」,例如按種族、性別、年齡或殘障狀況等分類。主要的公平性相關傷害可分為:
**「不公平」** 涵蓋一群人遭遇的負面影響或「傷害」,該群體可根據種族、性別、年齡或殘障狀況等分類。主要的公平性相關傷害可分為:
- <strong>分配不均</strong>,如性別或種族偏袒其中一方。
- <strong>服務品質</strong>。若只針對特定情境訓練數據,而現實更為複雜,將導致服務表現低劣。比如,一款洗手液分配器無法識別深膚色人員。[參考](https://gizmodo.com/why-cant-this-soap-dispenser-identify-dark-skin-1797931773)
- <strong>貶損</strong>。不公平地批評和標籤某人或某事。例如,有影像標記技術曾臭名昭著錯誤將深色皮膚者標記為猩猩。
- <strong>過度或不足代表</strong>。某群體在某職業中看似不存在,而任何維持這種現象的服務或功能都會造成傷害。
- <strong>刻板印象</strong>。將既定屬性與特定群體連結。例如,英土語言翻譯系統可能因具有性別刻板關聯詞而出錯。
- <strong>資源分配</strong>,例如一種性別或族群被偏袒其它族群。
- <strong>服務品質</strong>。若只訓練特定情境的資料,但現實更複雜,導致服務表現不佳。例如,一台洗手乳自動感應器無法偵測深膚色的人。[參考資料](https://gizmodo.com/why-cant-this-soap-dispenser-identify-dark-skin-1797931773)
- <strong>貶損</strong>。不公平地批評或標記某事物或某人。例如,一套圖像標記技術竟錯誤將深膚色人士誤標為「大猩猩」。
- <strong>過度或不足代表</strong>。某些群體在特定職業中不被看見,而任何持續促成此現象的服務或功能都會造成傷害。
- <strong>刻板印象</strong>。將特定群體與預設特質做連結。例如,英語和土耳其語翻譯中,由於詞彙帶有性別刻板印象,造成翻譯不精準。
![翻譯成土耳其語](../../../../translated_images/zh-TW/gender-bias-translate-en-tr.f185fd8822c2d437.webp)
> 翻譯成土耳其語
![土耳其語翻譯](../../../../translated_images/zh-TW/gender-bias-translate-en-tr.f185fd8822c2d437.webp)
> 土耳其語翻譯
![再翻譯回英文](../../../../translated_images/zh-TW/gender-bias-translate-tr-en.4eee7e3cecb8c70e.webp)
> 再翻譯回英文
![回譯成英語](../../../../translated_images/zh-TW/gender-bias-translate-tr-en.4eee7e3cecb8c70e.webp)
> 回譯成英語
在設計和測試 AI 系統時,我們需確保 AI 公平,不受偏見或歧視決策控制,而人類亦被禁止做此類決策。要保證 AI 和機器學習的公平仍是複雜的社會技術挑戰。
在設計和測試 AI 系統時,我們需要確保 AI 公平,避免程式化產生偏見或歧視性決策,而這也是人類禁止做出的決策。確保 AI 與機器學習的公平性仍是一項複雜的社會技術挑戰。
### 可靠性與安全性
為建立信任,AI 系統需在正常及意外情況下保持可靠、安全和一致。了解 AI 在各種情境下(尤其是異常狀況)的行為很重要。建構 AI 解決方案時,必須大量聚焦如何處理 AI 可能遇到的各種狀況。例如,自駕車必須將人身安全列為最高優先。結果,自駕車所用 AI 需考慮所有可能面臨的情況,如夜晚、雷暴或暴風雪、小孩突然跑過馬路、寵物、道路施工等。AI 系統在寬廣情況下的可靠與安全處理能力,反映了資料科學家或 AI 開發者在系統設計與測試階段的預見程度。
為了建立信任,AI 系統需要在正常和異常情況下保持可靠、安全和一致性。了解 AI 系統在各種情境,特別是異常情況下的行為是重要的。建構 AI 解決方案時,必須大幅關注如何處理 AI 可能面臨的多樣環境。例如,自駕車必須將人身安全放首位,因此推動該車輛的 AI 需要考慮諸如夜晚、雷雨、暴風雪、孩子跑到街上、寵物出現、路上施工等各種可能情景。一個 AI 系統能多好地可靠且安全地處理這些複雜條件,反映了資料科學家或 AI 開發者在系統設計或測試時所做的預期考量程度。
> [🎥 點擊這裡觀看影片:](https://www.microsoft.com/videoplayer/embed/RE4vvIl)
> [🎥 點擊這裡觀看影片:AI 的可靠性與安全性](https://www.microsoft.com/videoplayer/embed/RE4vvIl)
### 包容性
AI 系統設計應涵蓋並賦能每個人。設計和實施 AI 系統時,資料科學家和 AI 開發者需發掘並消除可能無意排斥某些人的障礙。例如,全球約有 10 億身心障礙者。隨著 AI 進步,他們能更輕鬆地獲得資訊和機會。藉由消除障礙,促成創新,開發體驗更佳、惠及所有人的 AI 產品。
AI 系統應設計為讓每個人都能參與並受到賦能。資料科學家和 AI 開發者在設計和實施 AI 系統時,會識別並處理可能無意排除人的障礙。例如,全球有 10 億殘障人士,隨著 AI 的進展,他們能更容易地取得日常所需的各種信息和機會。藉由消除這些障礙,有助於創新與開發帶給所有人更佳體驗的 AI 產品。
> [🎥 點擊這裡觀看影片:AI 的包容性](https://www.microsoft.com/videoplayer/embed/RE4vl9v)
### 安全與隱私
AI 系統需要安全且尊重個人隱私。民眾較不信任可能危害隱私、資訊或生命安全的系統。訓練機器學習模型時,我們依賴數據得出最佳結果,因此必須考慮數據來源與完整性。例如,數據是由用戶提交還是公開可用?在使用數據時,建立能保護機密信息且抵抗攻擊的 AI 系統至關重要。隨著 AI 越來越普及,保護隱私與重要個人及企業資訊變得愈加關鍵且複雜。AI 特別需要密切關注隱私和資料安全議題,因為 AI 系統獲取數據是做出準確且有根據判斷的基礎。
AI 系統必須安全且尊重個人隱私。人們對可能危及其隱私、資訊或生命的系統信任度較低。訓練機器學習模型時,我們依賴資料以獲得最佳結果,因此必須考慮資料來源及其完整性。例如,資料是用戶提交的還是公開取得的?此外,在處理資料時,開發保護機密資訊並能抵禦攻擊的 AI 系統至關重要。隨著 AI 越來越普及,保護個人和商業重要資訊的隱私和安全變得更為關鍵且複雜。隱私與資料安全問題對 AI 尤為重要,因為 AI 系統需要存取資料才能對人們做出準確且有見識的預測和決策。
> [🎥 點擊這裡觀看影片:AI 的安全性](https://www.microsoft.com/videoplayer/embed/RE4voJF)
- 整個產業在隱私與安全方面已有顯著進展,很大程度受 GDPR(一般資料保護規範)等法規推動。
- 但對 AI 系統而言,必須承認在提升系統個人化與效能與保障隱私間的緊張關係。
- 正如連網電腦誕生初期,我們也觀察到 AI 相關安全問題大幅增加。
- 同時,AI 也被用來強化安全。例如,大多數現代防毒掃描器如今以 AI 啟發式法則驅動。
- 我們必須確保數據科學流程與最新隱私及安全實踐和諧合作。
- 作為產業,我們在隱私與安全領域取得了重大進展,這在很大程度上受惠於像 GDPR(通用資料保護規範)等規範。
- 然而針對 AI 系統,我們必須承認在需要更多個人資料以讓系統更個人化及有效的需求與隱私保護間存在張力。
- 就像帶來網際網路的連網電腦誕生一樣,我們也看到與 AI 相關的安全問題正大幅增加。
- 同時,我們也看到 AI 用於提升安全性。例如,現代大部分的防毒掃描器都是由 AI 啟發式技術驅動的。
- 我們需確保資料科學過程與最新的隱私與安全實務和諧融合。
### 透明度
AI 系統應該是可理解的。透明度的關鍵在於解釋 AI 系統及其組件的行為。要改善對 AI 系統的理解,持份者需明白系統如何及為何運作,以便識別潛在的性能問題、安全與隱私疑慮、偏見、排斥行為或非預期結果。我們也認為 AI 使用者應坦誠說明何時、為何以及如何部署 AI 系統,以及他們所用系統的限制。例如,若銀行使用 AI 支援其消費者貸款決策,重要的是檢視結果並了解哪些數據影響系統推薦。政府開始針對各行業管控 AI,故資料科學家和組織需說明 AI 系統是否符合法規,特別是當出現不良結果時。
AI 系統應可被理解。透明度的關鍵部分是解釋 AI 系統及其組件的行為。提升對 AI 系統的理解需要相關利益關係人了解它們如何及為何運作,以便識別潛在的效能問題、安全及隱私顧慮、偏見、排除性作法或非預期結果。我們同時相信,使用 AI 系統的人應坦誠說明他們何時、為何及如何選擇部署這些系統,以及他們所使用系統的限制。例如,如果銀行使用 AI 系統支援其消費者貸款決策,重要的是檢視結果並了解哪些資料影響系統的建議。政府正開始針對各產業規範 AI,資料科學家和組織必須說明 AI 系統是否符合法規要求,特別是當出現不良結果時。
> [🎥 點擊這裡觀看影片:AI 的透明度](https://www.microsoft.com/videoplayer/embed/RE4voJF)
- 由於 AI 系統十分複雜,理解其工作原理及解釋結果均不易。
- 這種理解不足影響系統的管理、運作和文件編制。
- 更重要的是,影響依據系統產出結果做決策的品質。
- 由於 AI 系統非常複雜,難以理解其運作方式及詮釋結果。
- 這種缺乏理解影響了這些系統的管理、運作及文件記錄方式。
- 更重要的是,這種缺乏理解影響了基於這些系統結果所做決策的品質。
### 問責制
### 問責性
設計與部署 AI 系統的人必須對系統運作負責。問責制在使用敏感技術如臉部辨識時尤其重要。近期,臉部辨識技術需求成長,尤其來自執法機構,他們看到此技術在尋找失蹤兒童等用途的潛力。然而,這些技術也可能被政府用於威脅公民基本自由,例如持續監視特定個人。因此,資料科學家與組織需對其 AI 系統對個人或社會的影響負責。
AI 系統的設計與部署者必須對系統的運作負責。問責制在面對如臉部辨識等敏感技術使用時尤為重要。近期臉部辨識技術需求增加,特別是執法機關看到其在尋找失蹤兒童等方面的潛力。然而,這些技術也可能被政府用來威脅公民的基本自由,例如允許對特定個體進行持續監控。因此,資料科學家及組織需對其 AI 系統對個人或社會的影響負責。
[![領先 AI 研究者警告臉部辨識引發大規模監控](../../../../translated_images/zh-TW/accountability.41d8c0f4b85b6231.webp)](https://www.youtube.com/watch?v=Wldt8P5V6D0 "微軟負責任 AI 方法")
[![頂尖 AI 研究者警告臉部辨識導致全面監控](../../../../translated_images/zh-TW/accountability.41d8c0f4b85b6231.webp)](https://www.youtube.com/watch?v=Wldt8P5V6D0 "Microsoft 的負責任 AI 方法")
> 🎥 點擊上方圖片觀看影片:警告臉部辨識引起大規模監控
> 🎥 點擊上方圖片觀看影片:關於臉部辨識造成的全面監控警告
最終,對於我們這一代—第一代將 AI 引入社會的人來說,最大的問題之一是如何確保電腦向人類負責,以及設計電腦的人對其他人負責。
最終,對我們這一代人來說,作為首個將 AI 帶入社會的一代,最大的一個問題是:如何確保電腦永遠對人負責,以及如何確保設計電腦的人對所有人負責。
## 影響評估
在訓練機器學習模型之前,進行影響評估很重要,以了解 AI 系統的目的、預期用途、部署地點及使用者。這有助於評估者或測試者知道評估系統時需考慮的因素,從而識別潛在風險與預期結果。
在訓練機器學習模型之前,進行影響評估非常重要,以了解 AI 系統的目的、預期用途、部署位置,以及誰會與系統互動。此評估有助於審查者或測試者在評估系統時,了解應考慮哪些風險和預期後果。
進行影響評估時的重點領域包括:
進行影響評估時的焦點領域包括:
* <strong>對個人的不良影響</strong>。了解任何限制或要求、不被支持的使用方式或已知性能限制,對避免系統被用於可能傷害個人的方式至關重要。
* <strong>數據需求</strong>。理解系統如何及在哪裡使用數據,讓評審能探討需顧慮的數據要求(如 GDPR 或 HIPAA 規定),並檢視數據來源與數量是否充足以訓練模型。
* <strong>影響摘要</strong>。收集可能因使用系統而產生的傷害清單。在 ML 生命週期中,不斷檢視是否已緩解或處理所識別問題。
* <strong>適用目標</strong>,對六大核心原則的評估。檢查是否達成各原則目標,並找出不足之處。
* <strong>對個人的不良影響</strong>。了解任何限制或要求、不受支持的使用或任何已知限制阻礙系統效能,對防止系統造成對個人的傷害至關重要。
* <strong>資料需求</strong>。了解系統如何及在哪裡使用資料,使審查人員能探究需注意的資料要求(例如 GDPR 或 HIPAA 資料規範)。此外,檢查資料來源或數量是否足以訓練。
* <strong>影響摘要</strong>。彙整使用系統可能產生的潛在傷害清單。在整個 ML 生命週期中,審查是否緩解或處理已識別的問題。
* <strong>適用目標</strong>。評估六大核心原則中每個原則的目標是否達成,並檢視是否存在缺口。
## 負責任 AI 的除錯
## 使用負責任 AI 進行除錯
類似除錯軟體應用,除錯 AI 系統是找出並解決系統問題的必要過程。多種因素可能導致模型表現不如預期或不負責任。大多數傳統模型性能指標是模型表現的量化彙整,無法充分分析模型如何違反負責任 AI 原則。此外,機器學習模型是黑盒,難以理解其決策依據或在出錯時提供解釋。本課程後面將學習如何使用負責任 AI 儀表板來協助除錯 AI 系統。該儀表板為資料科學家與 AI 開發者提供整體工具以執行:
如同除錯軟體應用程式,除錯 AI 系統是識別和解決系統問題的必要過程。有許多因素會影響模型未達預期或不負責任地運作。大多數傳統模型效能指標是模型效能的量化彙總,不足以分析模型如何違反負責任 AI 原則。此外,機器學習模型是黑盒,難以理解驅動其結果的原因,或在出錯時提供解釋。本課程後續將學習如何使用負責任 AI 儀表板協助除錯 AI 系統。該儀表板提供資料科學家和 AI 開發者一個全方位工具,執行:
* <strong>錯誤分析</strong>。識別影響系統公平性或可靠性的模型誤差分布。
* <strong>模型概覽</strong>。發現模型於不同資料群組間的性能差異。
* <strong>數據分析</strong>。了解數據分布,識別可能導致公平性、包容性與可靠性問題的偏誤。
* <strong>模型可解釋性</strong>。理解影響模型預測的因素,有助解釋模型行為,對透明度與問責性至關重要。
* <strong>錯誤分析</strong>。識別可能影響系統公平性或可靠性的模型錯誤分布。
* <strong>模型概覽</strong>。發現資料群組間模型效能的差異。
* <strong>資料分析</strong>。了解資料分布並識別可能導致公平性、包容性和可靠性問題的潛在偏見。
* <strong>模型解釋能力</strong>。理解影響或左右模型預測的因素,有助於解釋模型行為,這對透明度和問責制非常重要。
## 🚀 挑戰
為防止初期即引入傷害,我們應該:
為避免傷害的產生,我們應該:
- 在系統開發團隊中具備多元背景與觀點
- 投資反映社會多元性的數據集
- 在機器學習生命週期中發展更佳方法以偵測並修正負責任 AI 問題
- 集結擁有多元背景與觀點的人員共同研發系統
- 投資於反映社會多元性的資料集
- 在整個機器學習生命週期中,發展更佳方法來偵測並修正不負責任的 AI
思考實際情況中模型不可信的例子,從模型建立與使用中可看出哪些問題?我們還應考慮什麼?
請思考在真實場景中,模型在建置和使用上表現不可信的例子,還有什麼我們應該考慮的?
## [課後測驗](https://ff-quizzes.netlify.app/en/ml/)
## 複習與自學
在本課程中,您已經學習了機器學習中公平與不公平概念的一些基礎知識。
在本課程中,您已學習有關機器學習中公平性與不公平性的基本概念。
觀看此工作坊以深入探討相關主題:
請觀看此工作坊以更深入了解相關主題:
- 追求負責任的 AI:將原則付諸實踐,由 Besmira Nushi、Mehrnoosh Sameki 和 Amit Sharma 主講
- 由 Besmira Nushi、Mehrnoosh Sameki 和 Amit Sharma 主講的「追求負責任 AI:從原則到實踐」
[![Responsible AI Toolbox: An open-source framework for building responsible AI](https://img.youtube.com/vi/tGgJCrA-MZU/0.jpg)](https://www.youtube.com/watch?v=tGgJCrA-MZU "RAI Toolbox: An open-source framework for building responsible AI")
[![負責任的 AI 工具箱:構建負責任 AI 的開源框架](https://img.youtube.com/vi/tGgJCrA-MZU/0.jpg)](https://www.youtube.com/watch?v=tGgJCrA-MZU "RAI Toolbox:構建負責任 AI 的開源框架")
> 🎥 點擊上方圖片觀看影片:RAI Toolbox:由 Besmira Nushi、Mehrnoosh Sameki 和 Amit Sharma 主講的負責任 AI 建構開源框架
> 🎥 點擊上方圖片觀看影片:RAI Toolbox:由 Besmira Nushi、Mehrnoosh Sameki 與 Amit Sharma 介紹的負責任 AI 開源框架
另外,閱讀:
另請參閱:
- 微軟的 RAI 資源中心:[Responsible AI Resources – Microsoft AI](https://www.microsoft.com/ai/responsible-ai-resources?activetab=pivot1%3aprimaryr4)
- 微軟的 RAI 資源中心:[負責任 AI 資源 – Microsoft AI](https://www.microsoft.com/ai/responsible-ai-resources?activetab=pivot1%3aprimaryr4)
- 微軟的 FATE 研究團隊:[FATE: Fairness, Accountability, Transparency, and Ethics in AI - Microsoft Research](https://www.microsoft.com/research/theme/fate/)
- 微軟的 FATE 研究團隊:[FATE:AI 的公平、問責、透明與倫理 - Microsoft 研究](https://www.microsoft.com/research/theme/fate/)
RAI Toolbox:
RAI 工具箱:
- [Responsible AI Toolbox GitHub 儲存庫](https://github.com/microsoft/responsible-ai-toolbox)
- [負責任 AI 工具箱 GitHub 儲存庫](https://github.com/microsoft/responsible-ai-toolbox)
閱讀關於 Azure Machine Learning 確保公平性的工具:
閱讀有關 Azure 機器學習確保公平性的工具:
- [Azure Machine Learning](https://docs.microsoft.com/azure/machine-learning/concept-fairness-ml?WT.mc_id=academic-77952-leestott)
- [Azure 機器學習](https://docs.microsoft.com/azure/machine-learning/concept-fairness-ml?WT.mc_id=academic-77952-leestott)
## 作業
## 任務
[探索 RAI Toolbox](assignment.md)
[探索 RAI 工具箱](assignment.md)
---

@ -1,121 +1,121 @@
# 使用 Python 和 Scikit-learn 開始建立回歸模型
# 使用 Python 與 Scikit-learn 建立迴歸模型入門
![回歸模型的筆記總覽](../../../../translated_images/zh-TW/ml-regression.4e4f70e3b3ed446e.webp)
![迴歸模型摘要筆記](../../../../translated_images/zh-TW/ml-regression.4e4f70e3b3ed446e.webp)
> 筆記作者 [Tomomi Imura](https://www.twitter.com/girlie_mac)
> 筆記作者:[Tomomi Imura](https://www.twitter.com/girlie_mac)
## [課前測驗](https://ff-quizzes.netlify.app/en/ml/)
> ### [本課程亦提供 R 語言版本!](../../../../2-Regression/1-Tools/solution/R/lesson_1.html)
> ### [本課程亦提供 R 版本!](../../../../2-Regression/1-Tools/solution/R/lesson_1.html)
## 介紹
在這四課中,你將學會如何建立回歸模型。我們稍後會談談它們的用途。但在操作之前,請確保你已準備好所有正確的工具來開始此過程!
這四堂課將帶你學習如何建立迴歸模型,稍後會討論其用途。但在開始之前,請先確認你已準備好正確的工具!
在本課程中,你將學會如何:
本課程你將學習:
- 為本機的機器學習任務設定電腦環境。
- 配置你的電腦以執行本地機器學習任務。
- 使用 Jupyter 筆記本。
- 使用 Scikit-learn,包含安裝步驟。
- 透過實作練習了解線性回歸。
- 使用 Scikit-learn,包括安裝步驟。
- 藉由實作了解線性迴歸。
## 安裝與設定
[![初學者機器學習 - 設定工具準備建構機器學習模型](https://img.youtube.com/vi/-DfeD2k2Kj0/0.jpg)](https://youtu.be/-DfeD2k2Kj0 "初學者機器學習 - 設定工具準備建構機器學習模型")
[![機器學習新手——準備好環境以建立機器學習模型](https://img.youtube.com/vi/-DfeD2k2Kj0/0.jpg)](https://youtu.be/-DfeD2k2Kj0 "機器學習新手——準備好環境以建立機器學習模型")
> 🎥 點擊上方圖片觀看快速教學影片,教你如何設定電腦環境進行機器學習。
> 🎥 點擊上方圖片觀看設定電腦環境的短片。
1. **安裝 Python**。請確保你的電腦已有安裝[Python](https://www.python.org/downloads/)。你將使用 Python 來進行許多資料科學和機器學習任務。大多數電腦系統已內建 Python。也有實用的[Python 程式碼套件](https://code.visualstudio.com/learn/educators/installers?WT.mc_id=academic-77952-leestott)可用於簡化設定步驟。
1. **安裝 Python**。請確定你的電腦已安裝 [Python](https://www.python.org/downloads/)。你將在許多資料科學與機器學習任務中使用 Python。大多電腦系統內建 Python。也有實用的 [Python 編碼套件](https://code.visualstudio.com/learn/educators/installers?WT.mc_id=academic-77952-leestott) 可協助部分用戶快速安裝。
不過有些 Python 程式碼需要某一版本,有些則需要其他版本,因此使用[虛擬環境](https://docs.python.org/3/library/venv.html)會很有幫助。
不同用途的 Python 可能需要不同版本,因此使用 [虛擬環境](https://docs.python.org/3/library/venv.html) 非常有幫助。
2. **安裝 Visual Studio Code**。確保你已在電腦上安裝了 Visual Studio Code。請依據下列指引[安裝 Visual Studio Code](https://code.visualstudio.com/)。在本課程中你將使用 Visual Studio Code 來開發 Python 程式,因此建議你熟悉如何為 Python 開發[設定 Visual Studio Code](https://docs.microsoft.com/learn/modules/python-install-vscode?WT.mc_id=academic-77952-leestott)。
2. **安裝 Visual Studio Code**。請確定你的電腦已安裝 Visual Studio Code。依照這裡的指示 [安裝 Visual Studio Code](https://code.visualstudio.com/) 作基本安裝。課程中將於 Visual Studio Code 內使用 Python,建議熟悉如何 [設定 Visual Studio Code](https://docs.microsoft.com/learn/modules/python-install-vscode?WT.mc_id=academic-77952-leestott) 以便 Python 開發。
> 透過一系列[學習模組](https://docs.microsoft.com/users/jenlooper-2911/collections/mp1pagggd5qrq7?WT.mc_id=academic-77952-leestott)熟悉 Python。
> 透過這系列的 [學習模組](https://docs.microsoft.com/users/jenlooper-2911/collections/mp1pagggd5qrq7?WT.mc_id=academic-77952-leestott) 熟悉 Python。
>
> [![在 Visual Studio Code 中設定 Python](https://img.youtube.com/vi/yyQM70vi7V8/0.jpg)](https://youtu.be/yyQM70vi7V8 "在 Visual Studio Code 中設定 Python")
> [![使用 Visual Studio Code 安裝 Python](https://img.youtube.com/vi/yyQM70vi7V8/0.jpg)](https://youtu.be/yyQM70vi7V8 "使用 Visual Studio Code 安裝 Python")
>
> 🎥 點擊上方圖片觀看如何在 VS Code 中使用 Python 的教學影片。
> 🎥 點擊上方圖片觀看在 VS Code 內使用 Python 的影片。
3. **安裝 Scikit-learn**,請依據[此處說明](https://scikit-learn.org/stable/install.html)操作。由於需要確保使用 Python 3,建議使用虛擬環境。如你是在 M1 Mac 上安裝該庫,請留意該頁面上的特別指示。
3. **安裝 Scikit-learn**,請依照 [此處指示](https://scikit-learn.org/stable/install.html) 操作。因需使用 Python 3,建議使用虛擬環境。如於 M1 Mac 安裝,頁面中有特殊指引。
4. **安裝 Jupyter Notebook**。你需要[安裝 Jupyter 套件](https://pypi.org/project/jupyter/)。
1. **安裝 Jupyter Notebook**。你需要安裝 [Jupyter 套件](https://pypi.org/project/jupyter/)。
## 你的機器學習撰寫環境
## 你的機器學習開發環境
你將使用 **筆記本(notebook)** 來撰寫 Python 程式碼並建立機器學習模型。這類檔案是資料科學家常用的工具,檔案副檔名為 `.ipynb`。
你將使用 **筆記本(notebooks)** 來撰寫 Python 程式碼並建立機器學習模型。這種檔案常見於資料科學家工具,副檔名為 `.ipynb`。
筆記本是一個互動式環境,允許開發者同時撰寫程式碼、加入註記與文件,對於實驗性或研究導向的專案非常有幫助。
筆記本提供互動環境,允許開發者同時撰寫程式碼、加筆記與文件,對實驗或研究專案非常有用。
[![初學者機器學習 - 設定 Jupyter 筆記本開始建構回歸模型](https://img.youtube.com/vi/7E-jC8FLA2E/0.jpg)](https://youtu.be/7E-jC8FLA2E "初學者機器學習 - 設定 Jupyter 筆記本開始建構回歸模型")
[![機器學習新手——設定 Jupyter 筆記本以開始建立迴歸模型](https://img.youtube.com/vi/7E-jC8FLA2E/0.jpg)](https://youtu.be/7E-jC8FLA2E "機器學習新手——設定 Jupyter 筆記本以開始建立迴歸模型")
> 🎥 點擊上方圖片觀看本練習快速教學影片。
> 🎥 點擊上方圖片觀看完成此練習的短片。
### 練習 - 使用筆記本
在此資料夾中,你會找到 _notebook.ipynb_ 檔案。
1. 在 Visual Studio Code 中打開 _notebook.ipynb_。
1. 在 Visual Studio Code 中開啟 _notebook.ipynb_。
Jupyter 伺服器會啟動,使用 Python 3+。你會看到筆記本中有可執行的程式碼區塊。點擊類似播放按鈕的圖示,即可執行該區塊。
Jupyter 伺服器隨即啟動並運行 Python 3+。你會看到筆記本中可 `run` 的程式碼區塊。按右側播放按鈕執行該段程式碼。
1. 選取 `md` 圖示並加入 markdown,並輸入以下文字 **# Welcome to your notebook**。
1. 選擇 `md` 圖示並加入一些 markdown,輸入文字 **# Welcome to your notebook**。
接著,加入一些 Python 程式碼。
1. 在程式碼區塊中輸入 **print('hello notebook')**。
1. 點擊箭頭執行程式碼。
1. 按下播放箭頭執行程式。
你應該會看到輸出:
你會看到輸出的結果:
```output
hello notebook
```
![VS Code 開啟筆記本](../../../../translated_images/zh-TW/notebook.4a3ee31f396b8832.webp)
![VS Code 開啟筆記本畫面](../../../../translated_images/zh-TW/notebook.4a3ee31f396b8832.webp)
你可以在程式碼中加入註解,以自我紀錄筆記本內容。
你可在程式碼中插入註解,自我記錄筆記本內容。
✅ 思考一下網頁開發者的工作環境和資料科學家的工作環境有何不同。
✅ 思考一下,網頁開發者的工作環境與資料科學家的工作環境有何不同?
## 啟用 Scikit-learn
## 使用 Scikit-learn 順利啟動
既然已在本機設置好 Python,且熟悉 Jupyter 筆記本,現在讓我們熟悉 Scikit-learn(發音為 sci,類似 science)。Scikit-learn 提供了[豐富的 API](https://scikit-learn.org/stable/modules/classes.html#api-ref)幫助你執行機器學習任務。
現在你的本地環境已設置好 Python,並熟悉 Jupyter 筆記本,接著讓我們熟悉 Scikit-learn(讀作 「sci」,如同 science)。Scikit-learn 提供 [完整的 API](https://scikit-learn.org/stable/modules/classes.html#api-ref) 協助你執行機器學習任務。
根據官方[網站](https://scikit-learn.org/stable/getting_started.html)說明:「Scikit-learn 是一個支援監督式與非監督式學習的開源機器學習函式庫。它還提供了模型擬合、資料前處理、模型選擇與評估以及其他多種工具。」
根據他們的 [網站](https://scikit-learn.org/stable/getting_started.html) 描述,「Scikit-learn 是一個支援監督式與非監督式學習的開源機器學習函式庫,提供模型擬合、資料前處理、模型選擇與評估等多種工具及許多實用功能。」
在本課程中,將會使用 Scikit-learn 與其他工具來建立我們所謂的「傳統機器學習」模型。我們刻意避免神經網路與深度學習,因為這些內容我們會在即將推出的「AI 初學者」課程中深入講解。
在本課程中,你將利用 Scikit-learn 與其它工具來建立我們所稱的「傳統機器學習」模型。我們刻意避免使用神經網路與深度學習,這面向將在未來的「AI 初學者」課程中深入介紹。
Scikit-learn 使建立模型與評估變得簡單。它主要針對數值資料,包含多個內建數據集作為學習工具,也提供預建模型供學生嘗試。現在讓我們先探索如何載入預先封裝的資料,並使用內建估計器來建立 Scikit-learn 的第一個機器學習模型。
Scikit-learn 讓建立與評估模型變得簡單。它主要針對數值資料,並包含多組內建數據供學習使用,也提供預建模型供學生嘗試。讓我們一起探索如何載入預打包資料並使用內建估算器,藉此用 Scikit-learn 建立你的第一個機器學習模型並使用基本資料。
## 練習 - 你的第一個 Scikit-learn 筆記本
> 本教學靈感來源於 Scikit-learn 官網的[線性回歸範例](https://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py)。
> 本教學靈感來自 Scikit-learn 網站上的 [線性迴歸範例](https://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py)。
[![初學者機器學習 - 你的第一個 Python 線性回歸專案](https://img.youtube.com/vi/2xkXL5EUpS0/0.jpg)](https://youtu.be/2xkXL5EUpS0 "初學者機器學習 - 你的第一個 Python 線性回歸專案")
[![機器學習新手——你的第一個 Python 線性迴歸專案](https://img.youtube.com/vi/2xkXL5EUpS0/0.jpg)](https://youtu.be/2xkXL5EUpS0 "機器學習新手——你的第一個 Python 線性迴歸專案")
> 🎥 點擊上方圖片觀看本練習的快速教學影片。
> 🎥 點擊上方圖片觀看完成此練習的短片。
在本課程配套的 _notebook.ipynb_ 檔案中,按下「垃圾桶」圖示清空所有儲存格。
在本課程所附的 _notebook.ipynb_ 檔案中,按下「垃圾桶」圖示清空所有儲存格。
本節將使用一個內建於 Scikit-learn 的小型糖尿病資料集作為學習素材。假設你想測試一種糖尿病病患的治療方式。機器學習模型或許能協助你根據變數組合,判斷哪些病患對治療反應較佳。即使是非常基礎的回歸模型,透過視覺化,也能顯示出哪些變數有助於設計理論性臨床試驗。
在此階段,你會使用 Scikit-learn 內建的小型糖尿病數據集作為學習範例。假設你想測試一項糖尿病治療方案。機器學習模型或可幫助判斷有哪些病患基於各項變數組合,反應會較佳。即使是非常基礎的迴歸模型,視覺化後亦能顯示某些變數訊息,有助你規劃理論性臨床試驗。
✅ 有很多種類型的回歸方法,選擇哪種取決於你想得到的答案。若你想預測某年齡對應可能身高,會使用線性回歸,因為你希望得到的是<strong>數值</strong>。若你想判別某種料理是否為純素食,則是在尋求<strong>分類</strong>,會使用邏輯斯回歸。邏輯斯回歸稍後會介紹。想一想你能問數據哪些問題,以及這些方法中哪一種更合適。
✅ 迴歸方法種類繁多,選擇哪種取決於你想要的答案。例如,若你想依年齡預測某人可能的身高,因為你需要的是 <strong>數值</strong>,就會用線性迴歸。若你想判別某料理類型是否為純素,則屬於 <strong>類別分配</strong>,會用邏輯迴歸。後面你會學到邏輯迴歸。想一想可向資料提出的問題及較適合的迴歸類型。
那麼我們開始吧。
讓我們開始這個任務吧。
### 載入函式庫
這個任務會用到以下函式庫:
本任務中我們將載入以下函式庫:
- **matplotlib**。這是一個實用的[繪圖工具](https://matplotlib.org/),我們將用來創建折線圖。
- **numpy**。[numpy](https://numpy.org/doc/stable/user/whatisnumpy.html) 是 Python 中處理數值資料的好幫手。
- **sklearn**。這是[Scikit-learn](https://scikit-learn.org/stable/user_guide.html) 函式庫。
- **matplotlib**,一個實用的 [繪圖工具](https://matplotlib.org/),用來產生線圖。
- **numpy**,[numpy](https://numpy.org/doc/stable/user/whatisnumpy.html) 是處理 Python 中數值資料的實用函式庫。
- **sklearn**,也就是 [Scikit-learn](https://scikit-learn.org/stable/user_guide.html) 函式庫。
載入函式庫以協助完成任務。
載入函式庫協助完成你的任務。
1. 輸入以下程式碼來加入函式庫:
1. 輸入以下程式碼新增 import:
```python
import matplotlib.pyplot as plt
@ -123,26 +123,26 @@ Scikit-learn 使建立模型與評估變得簡單。它主要針對數值資料
from sklearn import datasets, linear_model, model_selection
```
上述程式碼匯入了 `matplotlib`、`numpy`,並從 `sklearn` 中匯入 `datasets`、`linear_model` 和 `model_selection`。`model_selection` 用於將資料分為訓練和測試集。
上述程式碼載入了 `matplotlib`、`numpy`,並從 `sklearn` 載入 `datasets`、`linear_model` 及 `model_selection`。其中,`model_selection` 用來將資料切分成訓練集與測試集。
### 糖尿病資料集
### 糖尿病數據集
內建的[糖尿病資料集](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)包含 442 筆與糖尿病相關的樣本資料,帶有 10 個特徵變數,部分包括:
內建的 [糖尿病數據集](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)含有 442 筆有關糖尿病的資料樣本,共有 10 個特徵變數,其中包括:
- age:年齡(歲)
- bmi:身體質量指數(Body Mass Index)
- bmi:身體質量指數
- bp:平均血壓
- s1 tc:T 細胞(一種白血球)
✅ 此資料集將「性別」列為重要的特徵變數之一。許多醫學資料集都包含這種二元分類。請思考此類分類如何可能使某些族群在治療上被排除。
✅ 此數據集包含『性別』特徵,此為糖尿病研究的重要分類。許多醫療數據集都含此類二元分類。思考一下這類分類可能導致哪些族群被排除於治療之外。
接下來,載入 X 與 y 資料。
現在,載入 X 與 y 的資料。
> 🎓 記住,這是監督式學習,我們需要命名的目標變數 'y'。
> 🎓 記住,這是監督式學習,我們需要一個命名為 'y' 的目標變數。
在新程式碼區塊中,透過呼叫 `load_diabetes()` 載入糖尿病資料集。參數 `return_X_y=True` 表示 `X` 是資料矩陣,`y` 是回歸目標。
在新程式碼儲存格中,呼叫 `load_diabetes()` 載入糖尿病數據集。輸入參數 `return_X_y=True` 表示 `X` 會是一個資料矩陣,`y` 則是迴歸目標。
1. 加入列印指令,顯示資料矩陣的形狀及其第一筆元素:
1. 新增 print 命令輸出資料矩陣形狀與首項:
```python
X, y = datasets.load_diabetes(return_X_y=True)
@ -150,9 +150,9 @@ Scikit-learn 使建立模型與評估變得簡單。它主要針對數值資料
print(X[0])
```
你回傳得到的是一個元組。你把這元組前兩個元素分別指派給 `X` 和 `y`。瞭解更多[元組](https://wikipedia.org/wiki/Tuple)。
你取得的回傳值為一個元組,程式是將元組中的前兩個值分別指派給 `X` 和 `y`。更多資料可參考 [關於元組](https://wikipedia.org/wiki/Tuple)。
你會看到此資料中有 442 筆資料,每筆有 10 個元素的陣列:
你會看到資料包含 442 筆、每筆有 10 個元素的陣列:
```text
(442, 10)
@ -160,39 +160,39 @@ Scikit-learn 使建立模型與評估變得簡單。它主要針對數值資料
-0.04340085 -0.00259226 0.01990842 -0.01764613]
```
✅ 思考一下資料與回歸目標之間的關係。線性回歸旨在預測特徵 X 與目標變數 y 間的關係。你能在文件中找到糖尿病資料集的[目標](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)嗎?此資料集的目標展示了什麼?
✅ 思考資料與迴歸目標間的關聯。線性迴歸預測 X 特徵與目標變數 y 間的關係。可在文件中找到糖尿病數據集的 [目標](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset)?目標為何?數據集展示了什麼?
2. 接著,選擇資料集中的一部分繪圖,即取資料集的第 3 欄。你可以用 `:` 選擇所有列,然後以索引(2)選擇第 3 欄。你也可以用 `reshape(n_rows, n_columns)` 將資料重塑成 2D 陣列以便繪圖。如果其中一個參數是 -1,該維度會自動計算。
2. 接著,從數據集中擇一部分作繪圖,選出第 3 欄。透過 `:` 選出所有列,使用索引 (2) 取得第三欄資料。你也可以用 `reshape(n_rows, n_columns)` 將資料重塑為二維陣列,繪圖時需要。當參數設為 -1,維度將自動計算。
```python
X = X[:, 2]
X = X.reshape((-1,1))
```
✅ 隨時印出資料以確認其形狀。
✅ 隨時印出資料檢查其形狀。
3. 現在你有資料準備繪圖,可以試著讓機器判斷資料中的合理分割點。為此,你需將資料(X)與目標(y)拆分為測試與訓練套件。Scikit-learn 提供了簡便的方法來分割測試資料。
3. 資料已準備好繪圖後,可以讓機器判斷資料間合理的區分點。為此,將資料(X)和目標(y)同時分為訓練集與測試集。Scikit-learn 提供簡單方法,能在指定位置分割測試資料。
```python
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.33)
```
4. 接著準備訓練模型!載入線性回歸模型,並用你的 X、y 訓練集使用 `model.fit()` 進行訓練:
4. 現在準備訓練模型!載入線性迴歸模型,使用 `model.fit()` 用 X 與 y 的訓練資料訓練模型:
```python
model = linear_model.LinearRegression()
model.fit(X_train, y_train)
```
✅ `model.fit()` 是你會在很多 ML 函式庫中看到的函數,例如 TensorFlow。
✅ `model.fit()` 是許多機器學習函式庫,如 TensorFlow 中常見的函數。
5. 接著,用測試資料建立預測,使用 `predict()` 函數。此預測會用於在資料群之間畫出分隔線。
5. 接著,使用測試資料呼叫 `predict()` 函數預測,將用以繪製資料群的分界線。
```python
y_pred = model.predict(X_test)
```
6. 現在該用圖形展示資料了。Matplotlib 是完成此任務很有用的工具。使用散佈圖表現所有 X 與 y 測試資料,並利用預測來畫出模型間分群最合適的分割線。
6. 現在該在圖中呈現資料了。Matplotlib 是個非常實用的工具。繪製所有 X 與 y 測試資料的散佈圖,並利用預測結果繪製一條分界線,劃分模型資料群。
```python
plt.scatter(X_test, y_test, color='black')
@ -203,28 +203,27 @@ Scikit-learn 使建立模型與評估變得簡單。它主要針對數值資料
plt.show()
```
![一個展示糖尿病資料散佈點的圖形](../../../../translated_images/zh-TW/scatterplot.ad8b356bcbb33be6.webp)
![以糖尿病資料點繪製的散佈圖](../../../../translated_images/zh-TW/scatterplot.ad8b356bcbb33be6.webp)
✅ 思考此圖所呈現的意義。一直線穿越許多小點,但它究竟在做什麼?你能理解這條線的用途,能用來預測新資料點在 y 軸上的對應位置?試著用自己的話描述此模型的實際用途。
✅ 想一想這裡發生了什麼。一條直線穿過了許多小點的資料,但它到底在做什麼?你能看出應該如何使用這條線來預測一個新的、未見過的資料點在圖表的 y 軸上的相對位置嗎?試著用文字描述這個模型的實際用途。
恭喜,你建立了你的第一個線性迴歸模型,使用它做出預測,並將結果顯示在圖表上!
恭喜,你成功建立你的第一個線性迴歸模型,並用它做出預測,最後用圖形顯示結果!
---
## 🚀挑戰
## 🚀 挑戰
繪製該資料集中不同的變數。提示:編輯這一行:`X = X[:,2]`。考慮這個資料集的目標,你能發現糖尿病作為一種疾病的進展狀況嗎?
從此數據集中繪製不同的變數。提示:修改此行 `X = X[:,2]`。根據該資料集的目標,你能發現糖尿病作為疾病的進展情況嗎?
## [課後測驗](https://ff-quizzes.netlify.app/en/ml/)
## 複習與自學
在本教學中,你操作的是簡單線性迴歸,而不是單變數或多變數線性迴歸。閱讀一些關於這些方法差異的資料,或者看看這則 [影片](https://www.coursera.org/lecture/quantifying-relationships-regression-models/linear-vs-nonlinear-categorical-variables-ai2Ef)
教學中你使用了簡單線性迴歸,而非單變量或多元線性迴歸。可閱讀它們間差異,或觀賞 [此影片](https://www.coursera.org/lecture/quantifying-relationships-regression-models/linear-vs-nonlinear-categorical-variables-ai2Ef)
多閱讀關於迴歸概念的內容,並思考這種技術可以回答哪些問題。完成這個 [教學](https://docs.microsoft.com/learn/modules/train-evaluate-regression-models?WT.mc_id=academic-77952-leestott) 來加深你的理解。
進一步了解迴歸的概念,並思考這種技術能回答什麼樣的問題。請參加這個 [教學](https://docs.microsoft.com/learn/modules/train-evaluate-regression-models?WT.mc_id=academic-77952-leestott) 以加深你的理解。
## 作業
[另一個資料集](assignment.md)
[不同的資料集](assignment.md)
---

@ -1,33 +1,35 @@
# 機器學習中的分群模型
# 用於機器學習的群集模型
分群是一種機器學習任務,旨在尋找彼此相似的物件並將它們分組成稱為「群集」的群體。分群與機器學習中的其他方法不同之處在於,它是自動進行的,事實上,可以說它是監督式學習的反面。
群集是一種機器學習任務,它旨在尋找彼此相似的物件並將它們分組為稱為群集的群組。群集與機器學習中的其他方法不同之處在於一切自動發生,事實上,可以說它是監督式學習的相反。
## 區域主題:針對尼日利亞觀眾音樂品味的分群模型 🎧
## 地區主題:針對奈及利亞觀眾音樂品味的群集模型 🎧
尼日利亞的多元化觀眾擁有多樣化的音樂品味。使用從 Spotify 擷取的數據(靈感來自[這篇文章](https://towardsdatascience.com/country-wise-visual-analysis-of-music-taste-using-spotify-api-seaborn-in-python-77f5b749b421)),讓我們來看看一些在尼日利亞流行的音樂。這個數據集包含了各種歌曲的「舞蹈性」分數、「聲學性」、音量、「語音性」、流行度和能量等數據。探索這些數據中的模式將會非常有趣!
奈及利亞多元的觀眾擁有多元的音樂品味。利用從 Spotify 擷取的資料(靈感來自[this article](https://towardsdatascience.com/country-wise-visual-analysis-of-music-taste-using-spotify-api-seaborn-in-python-77f5b749b421)),讓我們看看在奈及利亞流行的一些音樂。此資料集包含關於各首歌曲的「舞蹈性」分數、「聲學性」、響度、「語音性」、流行度和能量的數據。發掘這些數據中的模式將會很有趣!
![唱盤](../../../translated_images/zh-TW/turntable.f2b86b13c53302dc.webp)
![一個唱盤](../../../translated_images/zh-TW/turntable.f2b86b13c53302dc.webp)
> 照片由 <a href="https://unsplash.com/@marcelalaskoski?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Marcela Laskoski</a> 提供,來自 <a href="https://unsplash.com/s/photos/nigerian-music?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
> 照片由 <a href="https://unsplash.com/@marcelalaskoski?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Marcela Laskoski</a> 拍攝,來自 <a href="https://unsplash.com/s/photos/nigerian-music?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
在這系列課程中,您將學習使用分群技術分析數據的新方法。當您的數據集缺乏標籤時,分群特別有用。如果數據集有標籤,那麼您在之前課程中學到的分類技術可能會更有用。但在需要對未標記數據進行分組的情況下,分群是一種發現模式的好方法。
在這系列課程中,你將發現利用群集技術分析數據的新方法。群集特別適用於資料集中缺少標籤的情況。如果有標籤,則如同你在先前課程中學到的分類技術可能會更有用。但在尋找將無標籤資料分組的情況下,群集是一種發現模式的極佳方法。
> 有一些有用的低代碼工具可以幫助您學習如何使用分群模型。試試 [Azure ML](https://docs.microsoft.com/learn/modules/create-clustering-model-azure-machine-learning-designer/?WT.mc_id=academic-77952-leestott) 來完成這項任務。
> 有許多實用的低程式碼工具可以幫助你學習如何使用群集模型。試試這個任務用的[Azure ML](https://docs.microsoft.com/learn/modules/create-clustering-model-azure-machine-learning-designer/?WT.mc_id=academic-77952-leestott)
## 課程
1. [分群簡介](1-Visualize/README.md)
2. [K-Means 分群](2-K-Means/README.md)
1. [群集介紹](1-Visualize/README.md)
2. [K-均值群集](2-K-Means/README.md)
## 致謝
## 參考資料
這些課程由 [Jen Looper](https://www.twitter.com/jenlooper) 精心撰寫,並由 [Rishit Dagli](https://rishit_dagli) 和 [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) 提供了有益的審核。
這些課程是由 🎶 [Jen Looper](https://www.twitter.com/jenlooper) 撰寫,並由 [Rishit Dagli](https://rishit_dagli/) 和 [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) 提供寶貴的評論。
[Nigerian Songs](https://www.kaggle.com/sootersaalu/nigerian-songs-spotify) 數據集來自 Kaggle,並從 Spotify 擷取。
[奈及利亞歌曲](https://www.kaggle.com/sootersaalu/nigerian-songs-spotify) 資料集取自 Kaggle,資料是從 Spotify 擷取的。
有助於創建這些課程的有用 K-Means 示例包括這個[鳶尾花探索](https://www.kaggle.com/bburns/iris-exploration-pca-k-means-and-gmm-clustering)、這個[入門筆記本](https://www.kaggle.com/prashant111/k-means-clustering-with-python),以及這個[假設的 NGO 示例](https://www.kaggle.com/ankandash/pca-k-means-clustering-hierarchical-clustering)。
協助本課程製作的有用 K-均值範例包括這個[鳶尾花探索](https://www.kaggle.com/bburns/iris-exploration-pca-k-means-and-gmm-clustering)、這個[入門筆記本](https://www.kaggle.com/prashant111/k-means-clustering-with-python)以及這個[假想 NGO 案例](https://www.kaggle.com/ankandash/pca-k-means-clustering-hierarchical-clustering)。
---
**免責聲明**:
本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
此文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們努力追求準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於關鍵資訊,建議採用專業人工翻譯。我們不對因使用此翻譯所產生的任何誤解或誤譯承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,28 +1,30 @@
# 時間序列預測介紹
# 時間序列預測簡介
什麼是時間序列預測?它是通過分析過去的趨勢來預測未來事件。
什麼是時間序列預測?它是透過分析過去的趨勢來預測未來事件。
## 地區主題:全球電力使用 ✨
## 區域主題:全球電力使用✨
在這兩節課中,您將了解時間序列預測,這是一個相對較少被人熟知但在工業和商業應用等領域中極具價值的機器學習領域。雖然神經網絡可以用來提升這些模型的效用,但我們將在經典機器學習的背景下研究它們,因為這些模型可以根據過去的表現來幫助預測未來。
在這兩堂課中,您將會接觸到時間序列預測,這是機器學習中較不為人知的領域,然而對於產業和商業應用等多個領域都有極大的價值。雖然神經網路可以用來增強這些模型的效用,但我們將在經典機器學習的脈絡中學習它們,因為模型能基於過去的表現來預測未來的結果。
我們的地區重點是全球的電力使用,這是一個有趣的數據集,可以用來學習如何根據過去的負載模式預測未來的電力使用。您可以看到這種預測在商業環境中是多麼有幫助。
我們的區域焦點是世界電力使用,這是一組有趣的數據集,可以用來學習如何根據過去負載模式來預測未來電力使用量。您可以看到這種類型的預測在商業環境中有多麼有幫助。
![電力網](../../../translated_images/zh-TW/electric-grid.0c21d5214db09ffa.webp)
![electric grid](../../../translated_images/zh-TW/electric-grid.0c21d5214db09ffa.webp)
照片由 [Peddi Sai hrithik](https://unsplash.com/@shutter_log?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) 拍攝,展示了拉賈斯坦邦道路上的電力塔,來自 [Unsplash](https://unsplash.com/s/photos/electric-india?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
電塔路上的照片由 [Peddi Sai hrithik](https://unsplash.com/@shutter_log?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) 在 Rajasthan 拍攝,來自 [Unsplash](https://unsplash.com/s/photos/electric-india?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
## 課程
## 課程內容
1. [時間序列預測介紹](1-Introduction/README.md)
2. [構建 ARIMA 時間序列模型](2-ARIMA/README.md)
3. [構建支持向量回歸器進行時間序列預測](3-SVR/README.md)
1. [時間序列預測簡介](1-Introduction/README.md)
2. [建立 ARIMA 時間序列模型](2-ARIMA/README.md)
3. [建立用於時間序列預測的支持向量回歸器](3-SVR/README.md)
## 致謝
## 版權聲明
"時間序列預測介紹" 由 [Francesca Lazzeri](https://twitter.com/frlazzeri) 和 [Jen Looper](https://twitter.com/jenlooper) ⚡️ 撰寫。這些筆記本最初出現在 [Azure "Deep Learning For Time Series" repo](https://github.com/Azure/DeepLearningForTimeSeriesForecasting),由 Francesca Lazzeri 原創撰寫。SVR 課程由 [Anirban Mukherjee](https://github.com/AnirbanMukherjeeXD) 撰寫。
“時間序列預測簡介”由 [Francesca Lazzeri](https://twitter.com/frlazzeri) 和 [Jen Looper](https://twitter.com/jenlooper) 共同撰寫 ⚡️。筆記本最初在 [Azure「時間序列深度學習」資源庫](https://github.com/Azure/DeepLearningForTimeSeriesForecasting) 上發布,由 Francesca Lazzeri 原創撰寫。SVR課程由 [Anirban Mukherjee](https://github.com/AnirbanMukherjeeXD) 撰寫。
---
**免責聲明**:
本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
此文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們努力追求準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於關鍵資訊,建議採用專業人工翻譯。我們不對因使用此翻譯所產生的任何誤解或誤譯承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,25 +1,25 @@
[![GitHub license](https://img.shields.io/github/license/microsoft/ML-For-Beginners.svg)](https://github.com/microsoft/ML-For-Beginners/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub 授權](https://img.shields.io/github/license/microsoft/ML-For-Beginners.svg)](https://github.com/microsoft/ML-For-Beginners/blob/master/LICENSE)
[![GitHub 貢獻者](https://img.shields.io/github/contributors/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/graphs/contributors/)
[![GitHub 問題](https://img.shields.io/github/issues/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/issues/)
[![GitHub 拉取請求](https://img.shields.io/github/issues-pr/microsoft/ML-For-Beginners.svg)](https://GitHub.com/microsoft/ML-For-Beginners/pulls/)
[![歡迎 PR](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GitHub watchers](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/)
[![GitHub forks](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/ML-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/ML-For-Beginners/stargazers/)
[![GitHub 觀察者](https://img.shields.io/github/watchers/microsoft/ML-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/ML-For-Beginners/watchers/)
[![GitHub 分支](https://img.shields.io/github/forks/microsoft/ML-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/ML-For-Beginners/network/)
[![GitHub 星星](https://img.shields.io/github/stars/microsoft/ML-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/ML-For-Beginners/stargazers/)
### 🌐 多語言支援
#### 透過 GitHub Action 支援(自動化且永遠保持最新)
#### 透過 GitHub Action 支援(自動且持續更新)
<!-- CO-OP TRANSLATOR LANGUAGES TABLE START -->
[阿拉伯語](../ar/README.md) | [孟加拉語](../bn/README.md) | [保加利亞語](../bg/README.md) | [緬甸語 (Myanmar)](../my/README.md) | [中文(簡體)](../zh-CN/README.md) | [中文(繁體,香港)](../zh-HK/README.md) | [中文(繁體,澳門)](../zh-MO/README.md) | [中文(繁體,臺灣)](./README.md) | [克羅埃西亞語](../hr/README.md) | [捷克語](../cs/README.md) | [丹麥語](../da/README.md) | [荷蘭語](../nl/README.md) | [愛沙尼亞語](../et/README.md) | [芬蘭語](../fi/README.md) | [法語](../fr/README.md) | [德語](../de/README.md) | [希臘語](../el/README.md) | [希伯來語](../he/README.md) | [印地語](../hi/README.md) | [匈牙利語](../hu/README.md) | [印尼語](../id/README.md) | [義大利語](../it/README.md) | [日語](../ja/README.md) | [坎納達語](../kn/README.md) | [高棉語](../km/README.md) | [韓語](../ko/README.md) | [立陶宛語](../lt/README.md) | [馬來語](../ms/README.md) | [馬拉雅拉姆語](../ml/README.md) | [馬拉地語](../mr/README.md) | [尼泊爾語](../ne/README.md) | [奈及利亞洋泾浜英語](../pcm/README.md) | [挪威語](../no/README.md) | [波斯語 (Farsi)](../fa/README.md) | [波蘭語](../pl/README.md) | [葡萄牙語 (巴西)](../pt-BR/README.md) | [葡萄牙語 (葡萄牙)](../pt-PT/README.md) | [旁遮普語 (Gurmukhi)](../pa/README.md) | [羅馬尼亞語](../ro/README.md) | [俄語](../ru/README.md) | [塞爾維亞語 (西里爾字母)](../sr/README.md) | [斯洛伐克語](../sk/README.md) | [斯洛文尼亞語](../sl/README.md) | [西班牙語](../es/README.md) | [斯瓦希里語](../sw/README.md) | [瑞典語](../sv/README.md) | [他加祿語 (菲律賓語)](../tl/README.md) | [泰米爾語](../ta/README.md) | [泰盧固語](../te/README.md) | [泰語](../th/README.md) | [土耳其語](../tr/README.md) | [烏克蘭語](../uk/README.md) | [烏爾都語](../ur/README.md) | [越南語](../vi/README.md)
[阿拉伯語](../ar/README.md) | [孟加拉語](../bn/README.md) | [保加利亞語](../bg/README.md) | [緬甸語(緬甸)](../my/README.md) | [中文(簡體)](../zh-CN/README.md) | [中文(繁體,香港)](../zh-HK/README.md) | [中文(繁體,澳門)](../zh-MO/README.md) | [中文(繁體,臺灣)](./README.md) | [克羅埃西亞語](../hr/README.md) | [捷克語](../cs/README.md) | [丹麥語](../da/README.md) | [荷蘭語](../nl/README.md) | [愛沙尼亞語](../et/README.md) | [芬蘭語](../fi/README.md) | [法語](../fr/README.md) | [德語](../de/README.md) | [希臘語](../el/README.md) | [希伯來語](../he/README.md) | [印地語](../hi/README.md) | [匈牙利語](../hu/README.md) | [印尼語](../id/README.md) | [義大利語](../it/README.md) | [日語](../ja/README.md) | [卡納達語](../kn/README.md) | [高棉語](../km/README.md) | [韓語](../ko/README.md) | [立陶宛語](../lt/README.md) | [馬來語](../ms/README.md) | [馬拉雅拉姆語](../ml/README.md) | [馬拉地語](../mr/README.md) | [尼泊爾語](../ne/README.md) | [奈及利亞洋泾浜英語](../pcm/README.md) | [挪威語](../no/README.md) | [波斯語(法爾西語)](../fa/README.md) | [波蘭語](../pl/README.md) | [葡萄牙語(巴西)](../pt-BR/README.md) | [葡萄牙語(葡萄牙)](../pt-PT/README.md) | [旁遮普語(古魯穆奇文)](../pa/README.md) | [羅馬尼亞語](../ro/README.md) | [俄語](../ru/README.md) | [塞爾維亞語(西里爾字母)](../sr/README.md) | [斯洛伐克語](../sk/README.md) | [斯洛文尼亞語](../sl/README.md) | [西班牙語](../es/README.md) | [斯瓦希里語](../sw/README.md) | [瑞典語](../sv/README.md) | [他加祿語(菲律賓語)](../tl/README.md) | [泰米爾語](../ta/README.md) | [泰盧固語](../te/README.md) | [泰語](../th/README.md) | [土耳其語](../tr/README.md) | [烏克蘭語](../uk/README.md) | [烏爾都語](../ur/README.md) | [越南語](../vi/README.md)
> **偏好本機複製?**
> **偏好本地克隆?**
>
> 本儲存庫包含超過 50 種語言的翻譯,會大幅增加下載大小。若想在無翻譯的情況下進行複製,請使用稀疏簽出:
> 這個倉庫包含 50 多種語言的翻譯,會大幅增加下載大小。若想要不帶翻譯檔案克隆,請使用 sparse checkout:
>
> **Bash / macOS / Linux:**
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/ML-For-Beginners.git
> cd ML-For-Beginners
@ -33,164 +33,168 @@
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> 這將讓您以更快的速度下載,並取得完成課程所需的一切。
> 這樣您可以更快下載,且完整取得完成課程所需的一切內容。
<!-- CO-OP TRANSLATOR LANGUAGES TABLE END -->
#### 加入我們的社群
[![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG)
我們有一個持續進行的 Discord AI 學習系列,詳細資訊與加入請見 [Learn with AI Series](https://aka.ms/learnwithai/discord),活動時間為 2025 年 9 月 18 日至 30 日。您將獲得使用 GitHub Copilot 進行資料科學的技巧與祕訣。
我們有持續進行 Discord 的 AI 學習系列,詳情及加入資訊請見 [與 AI 一起學習系列](https://aka.ms/learnwithai/discord),時間為 2025 年 9 月 18 至 30 日。在此你將獲得如何使用 GitHub Copilot 於資料科學的技巧和秘訣。
![Learn with AI series](../../translated_images/zh-TW/3.9b58fd8d6c373c20.webp)
![與 AI 一起學習系列](../../translated_images/zh-TW/3.9b58fd8d6c373c20.webp)
# 給初學者的機器學習課程
# 初學者機器學習課程大綱
> 🌍 隨著我們透過世界各地的文化探索機器學習,環遊世界一圈吧 🌍
> 🌍 透過世界各地的文化,環遊世界探索機器學習 🌍
微軟的雲端倡導者很高興提供一個為期 12 週、共 26 課的完整課程,專注於 <strong>機器學習</strong>。在本課程中,您將學習通常被稱作 <strong>經典機器學習</strong> 的內容,主要使用 Scikit-learn 作為函式庫,並避免深度學習,深度學習內容可在我們的 [AI 初學者課程](https://aka.ms/ai4beginners) 中找到。這些課程也可與我們的 ['資料科學初學者課程'](https://aka.ms/ds4beginners) 搭配使用!
微軟的 Cloud Advocates 團隊很高興能提供一個為期 12 週、共 26 課的 <strong>機器學習</strong> 課程大綱。在這個課程中,你將學習俗稱為 <strong>經典機器學習</strong> 的內容,主要使用 Scikit-learn 函式庫,且不包含深度學習;深度學習部分可參見我們的 [初學者 AI 課程大綱](https://aka.ms/ai4beginners)。同時也建議搭配我們的 ['初學者資料科學課程大綱'](https://aka.ms/ds4beginners) 一起學習!
與我們一起環遊世界,將這些經典技術應用於來自世界各地的資料。每課包括課前與課後測驗、書面教學說明、解答、作業等。我們的專案導向教學法讓您在實作中學習,是培養新技能的有效方法。
跟著我們遊歷世界各地,將這些經典技術應用於來自許多地區的資料。每個課程包含課前和課後小測驗、完整的書面教學、解答、作業等。我們透過專案導向教學法讓你邊學邊做,這是幫助新技能深植的重要方法。
**✍️ 衷心感謝作者** Jen Looper、Stephen Howell、Francesca Lazzeri、Tomomi Imura、Cassie Breviu、Dmitry Soshnikov、Chris Noring、Anirban Mukherjee、Ornella Altunyan、Ruth Yakubu 及 Amy Boyd
**✍️ 衷心感謝我們的作者們** Jen Looper、Stephen Howell、Francesca Lazzeri、Tomomi Imura、Cassie Breviu、Dmitry Soshnikov、Chris Noring、Anirban Mukherjee、Ornella Altunyan、Ruth Yakubu 和 Amy Boyd
**🎨 同時感謝插畫師** Tomomi Imura、Dasani Madipalli 及 Jen Looper
**🎨 也感謝我們的插畫師** Tomomi Imura、Dasani Madipalli、Jen Looper
**🙏 特別感謝 Microsoft 學生大使作者、審閱者與內容貢獻者**,尤其是 Rishit Dagli、Muhammad Sakib Khan Inan、Rohan Raj、Alexandru Petrescu、Abhishek Jaiswal、Nawrin Tabassum、Ioan Samuila 與 Snigdha Agarwal
**🙏 特別感謝我們的微軟學生大使作者、審稿人與內容貢獻者**,特別是 Rishit Dagli、Muhammad Sakib Khan Inan、Rohan Raj、Alexandru Petrescu、Abhishek Jaiswal、Nawrin Tabassum、Ioan Samuila 和 Snigdha Agarwal
**🤩 額外感謝 Microsoft 學生大使 Eric Wanjau、Jasleen Sondhi 及 Vidushi Gupta 為我們帶來的 R 課程!**
**🤩 另外非常感謝微軟學生大使 Eric Wanjau、Jasleen Sondhi 和 Vidushi Gupta 對我們的 R 課程的支持!**
# 開始使用
請依照以下步驟操作:
1. **Fork 本儲存庫**:點擊本頁右上角的「Fork」按鈕。
2. <strong>複製儲存庫</strong>:`git clone https://github.com/microsoft/ML-For-Beginners.git`
按照以下步驟:
1. **派生(Fork)本倉庫**:點擊本頁右上角的 “Fork” 按鈕。
2. <strong>克隆本倉庫</strong>: `git clone https://github.com/microsoft/ML-For-Beginners.git`
> [於我們的 Microsoft Learn 集合中尋找此課程的所有額外資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> 💡 **快速啟動提示:** 想直接用瀏覽器上手,不用在本機安裝 Python 嗎?使用 [GitHub Codespaces](https://github.com/features/codespaces) 建立一個雲端開發環境。點擊綠色 **Code** 選單,選擇 **Codespaces** 並建立一個 codespace;必要時在其中安裝每堂課所需的依賴套件。
> 🔧 **需要協助?** 請查看我們的 [故障排除指南](TROUBLESHOOTING.md),獲得安裝、設定及執行課程時通用問題的解決方案。
> [在我們的 Microsoft Learn 集合中,查找本課程的所有其他資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
**[學生](https://aka.ms/student-page)**,欲使用此課程,請將整個儲存庫 Fork 至您自己的 GitHub 帳號,並自行或與團體完成練習:
> 🔧 **需要幫助?** 請查看 [疑難排解指南](TROUBLESHOOTING.md),了解安裝、設定及執行課程時的常見問題解決方法。
- 先完成課前測驗。
- 閱讀課程內容並完成活動,每個知識檢核時停下反思。
- 嘗試透過理解課程內容自行建立專案,而非僅執行解答程式碼;不過在各專案導向課程的 `/solution` 資料夾中會提供解答。
- 進行課後測驗。
**[學生專區](https://aka.ms/student-page)**,使用此課程大綱時,請將整個倉庫 fork 到你自己的 GitHub 帳號中,並自行或與小組完成練習:
- 從課前小測驗開始。
- 閱讀課文並完成活動,途中停下來思考每個知識檢查點。
- 嘗試根據課程內容自己完成專案,而非直接執行解答程式碼;不過每個以專案為導向的課程中在 `/solution` 資料夾有提供相關程式碼。
- 進行課後小測驗。
- 完成挑戰題。
- 完成作業。
- 完成一組課程後,請訪問 [討論區](https://github.com/microsoft/ML-For-Beginners/discussions),並透過填寫相對應的 PAT 評分表「大聲學習(learn out loud)」。PAT 是「進度評估工具」,您可透過填寫它來促進自己的學習。您也可以對其他人的 PAT 表示回應,讓我們一起學習。
- 完成一組課程後,請至 [討論區](https://github.com/microsoft/ML-For-Beginners/discussions) 使用相對應的 PAT 評量表“發聲學習”。PAT 是一種進度評量工具,透過填寫可促進學習。你也可以回應其他人的 PAT,一起進步。
> 若想更深入學習,我們建議跟隨這些 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) 模組及學習路徑。
> 進一步學習,建議追蹤這些 [Microsoft Learn](https://docs.microsoft.com/en-us/users/jenlooper-2911/collections/k7o7tg1gp306q4?WT.mc_id=academic-77952-leestott) 模組與學習路徑。
<strong>教師</strong>,我們有 [包含一些建議](for-teachers.md) 如何使用此課程。
<strong>教師專區</strong>,我們提供了一些[使用本課程大綱的建議](for-teachers.md)。
---
## 影片導覽
## 影音教學導覽
部分課程有提供短影片說明。您可以在課程中內嵌觀賞,或於 [Microsoft Developer YouTube 頻道的 ML for Beginners 播放清單](https://aka.ms/ml-beginners-videos) 中觀看,點選下方圖片可前往。
部分課程提供短片形式的教學影片。你可以在課程中直接觀看,或前往 [微軟開發者 YouTube 頻道的初學者機器學習播放清單](https://aka.ms/ml-beginners-videos),點擊下面的圖片進入。
[![ML for beginners banner](../../translated_images/zh-TW/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
[![初學者機器學習橫幅](../../translated_images/zh-TW/ml-for-beginners-video-banner.63f694a100034bc6.webp)](https://aka.ms/ml-beginners-videos)
---
## 團隊介紹
## 團隊成員介紹
[![Promo video](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
[![宣傳影片](../../images/ml.gif)](https://youtu.be/Tj1XWrDSYJU)
<strong>動圖製作者</strong> [Mohit Jaisal](https://linkedin.com/in/mohitjaisal)
<strong>動態圖示由</strong> [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) 製作
> 🎥 點擊上方圖片觀看介紹本計畫與其創作者的影片!
> 🎥 點擊上方圖片觀看關於本專案及創作者的影片!
---
## 教學法
我們在建立這套課程時選擇了兩個教學原則:確保它是動手實作的 <strong>專案導向</strong>,並且包涵 <strong>頻繁的測驗</strong>。另外,本課程也有一個共通的 <strong>主題</strong>,以增加連貫性。
我們在設計本課程時選擇了兩大教學原則:確保是動手做的 <strong>專案導向教學</strong>,及包含 <strong>頻繁的小測驗</strong>。此外,本課程有統一 <strong>主題</strong>,使課程內容更有連貫性。
透過確保內容與專案對齊,讓學習流程更吸引學生且增強概念的記憶。此外,課前的低壓力測驗有助設定學生的學習目標,而課後測驗則促進知識的鞏固。此課程設計靈活且有趣,可完整學習或分段進行。專案從簡單開始,隨 12 週週期末漸趨複雜。課程還包含有關機器學習在現實世界應用的後記,能作為額外學分或討論基礎。
透過把內容與專案結合,提升學生的參與感與概念的留存率。低風險的小測驗位於課前,設定學習目標,而第二次測驗位於課後,加強記憶。此課程設計靈活有趣,可全修或部分參與。專案從簡單開始,隨著 12 週課程逐步複雜。本課程還包含關於機器學習實際應用的後記,可作為額外學分或討論基礎。
> 請查看我們的 [行為準則](CODE_OF_CONDUCT.md)、[貢獻指南](CONTRIBUTING.md)、[翻譯](..) 及 [故障排除](TROUBLESHOOTING.md) 指引。我們歡迎您的建設性回饋!
> 查看我們的 [行為準則](CODE_OF_CONDUCT.md)、[貢獻指南](CONTRIBUTING.md)、[翻譯指南](..) 與[疑難排解](TROUBLESHOOTING.md)。歡迎提供建設性意見!
## 每堂課包含
- 選用的筆記草圖
- 選用的手繪筆記
- 選用的補充影片
- 影片導覽(部分課程)
- [課前暖身測驗](https://ff-quizzes.netlify.app/en/ml/)
- 影片導覽(部分課程提供)
- [課前暖身小測驗](https://ff-quizzes.netlify.app/en/ml/)
- 書面課程內容
- 專案導向課程中,建構專案的逐步指導
- 知識檢核
- 以專案為導向的課程提供專案建置逐步指導
- 知識檢查
- 挑戰題
- 補充閱讀
- 作業
- [課後測驗](https://ff-quizzes.netlify.app/en/ml/)
> <strong>關於語言的說明</strong>:這些課程主要使用 Python 撰寫,但也有許多課程提供 R 語言版本。若要完成 R 課程,請至 `/solution` 資料夾中尋找 R 課程。它們包含 .rmd 副檔名,代表<strong>R Markdown</strong>檔案,這種檔案簡單定義為將 `程式碼區塊`(R 或其他語言)與 `YAML 標頭`(用來指導如何格式化輸出,如 PDF)嵌入於 `Markdown 文件` 中。因而,這是資料科學中代表性的撰寫框架,因為它允許你將程式碼、其輸出及想法結合並用 Markdown 撰寫。此外,R Markdown 文件可以輸出為 PDF、HTML 或 Word 等格式。
> <strong>關於測驗的說明</strong>:所有測驗皆收錄於 [Quiz App folder](../../quiz-app) 中,共有 52 個測驗,每個測驗三題。它們從課程中連結,也可以在本機上運行測驗應用;請依照 `quiz-app` 資料夾中的指示進行本機託管或部署至 Azure。
| Lesson Number | 主題 | 課程群組 | 學習目標 | 相關課程 | 作者 |
| :-----------: | :------------------------------------------------------------: | :------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | 機器學習簡介 | [Introduction](1-Introduction/README.md) | 學習機器學習的基本概念 | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | 機器學習的歷史 | [Introduction](1-Introduction/README.md) | 學習此領域背後的歷史 | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy |
| 03 | 公平性與機器學習 | [Introduction](1-Introduction/README.md) | 在建立及應用 ML 模型時,學生應考慮的公平相關重要哲學議題 | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | 機器學習技術 | [Introduction](1-Introduction/README.md) | ML 研究人員用來建立 ML 模型的技術有哪些? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen |
| 05 | 回歸介紹 | [Regression](2-Regression/README.md) | 使用 Python 和 Scikit-learn 入門回歸模型 | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 在準備 ML 時,視覺化與清理資料 | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 建立線性與多項式回歸模型 | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen and Dmitry • Eric Wanjau |
| 08 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 建立邏輯回歸模型 | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | Web 應用 🔌 | [Web App](3-Web-App/README.md) | 建立一個可以使用訓練模型的網頁應用 | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | 分類介紹 | [Classification](4-Classification/README.md) | 清理、準備並視覺化資料;分類入門 | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen and Cassie • Eric Wanjau |
| 11 | 美味的亞洲與印度料理 🍜 | [Classification](4-Classification/README.md) | 分類器介紹 | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen and Cassie • Eric Wanjau |
| 12 | 美味的亞洲與印度料理 🍜 | [Classification](4-Classification/README.md) | 更多的分類器 | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen and Cassie • Eric Wanjau |
| 13 | 美味的亞洲與印度料理 🍜 | [Classification](4-Classification/README.md) | 使用模型構建推薦系統的網頁應用 | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | 分群介紹 | [Clustering](5-Clustering/README.md) | 清理、準備並視覺化資料;分群入門 | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | 探索奈及利亞音樂喜好 🎧 | [Clustering](5-Clustering/README.md) | 探索 K-均值分群法 | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | 自然語言處理簡介 ☕️ | [Natural language processing](6-NLP/README.md) | 透過建立簡單機器人學習 NLP 基礎 | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | 常見的 NLP 任務 ☕️ | [Natural language processing](6-NLP/README.md) | 透過理解處理語言結構時所需的常見任務,加深 NLP 知識 | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | 翻譯與情感分析 ♥️ | [Natural language processing](6-NLP/README.md) | 以 Jane Austen 文學做翻譯與情感分析 | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | 歐洲浪漫飯店 ♥️ | [Natural language processing](6-NLP/README.md) | 使用飯店評論進行情感分析 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | 歐洲浪漫飯店 ♥️ | [Natural language processing](6-NLP/README.md) | 使用飯店評論進行情感分析 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
- [課後小測驗](https://ff-quizzes.netlify.app/en/ml/)
> <strong>語言說明</strong>:這些課程主要使用 Python 撰寫,但許多也有 R 版本。欲完成 R 課程,請前往 `/solution` 資料夾尋找 R 課程,檔案副檔名為 .rmd,代表 **R Markdown** 檔案,簡單說是將 `程式碼區塊`(包括 R 或其他語言)和 `YAML 標頭`(用以格式化輸出如 PDF)嵌入 `Markdown 文件`。因此它是一個典範的資料科學撰寫架構,允許你結合程式碼、輸出與筆記文字。R Markdown 文件也能輸出為 PDF、HTML 或 Word 等格式。
> <strong>小測驗說明</strong>:所有小測驗集中在 [Quiz App 資料夾](../../quiz-app),共 52 個小測驗,每個包含三題。小測驗從課程中連結,但也可以本地執行;依照 `quiz-app` 資料夾的說明,在本地架設或部署到 Azure。
| 課程編號 | 主題 | 課程分組 | 學習目標 | 連結課程 | 作者 |
| :-----------: | :------------------------------------------------------------: | :-------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------: |
| 01 | 機器學習簡介 | [Introduction](1-Introduction/README.md) | 學習機器學習背後的基本概念 | [Lesson](1-Introduction/1-intro-to-ML/README.md) | Muhammad |
| 02 | 機器學習的歷史 | [Introduction](1-Introduction/README.md) | 了解這個領域背後的歷史 | [Lesson](1-Introduction/2-history-of-ML/README.md) | Jen and Amy |
| 03 | 公平性與機器學習 | [Introduction](1-Introduction/README.md) | 學生在建立與應用機器學習模型時應考慮的重要公平性哲學問題是什麼? | [Lesson](1-Introduction/3-fairness/README.md) | Tomomi |
| 04 | 機器學習技術 | [Introduction](1-Introduction/README.md) | 機器學習研究人員使用哪些技術來建立機器學習模型? | [Lesson](1-Introduction/4-techniques-of-ML/README.md) | Chris and Jen |
| 05 | 迴歸簡介 | [Regression](2-Regression/README.md) | 開始使用 Python 和 Scikit-learn 建立迴歸模型 | [Python](2-Regression/1-Tools/README.md) • [R](../../2-Regression/1-Tools/solution/R/lesson_1.html) | Jen • Eric Wanjau |
| 06 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 視覺化與清理資料以準備機器學習 | [Python](2-Regression/2-Data/README.md) • [R](../../2-Regression/2-Data/solution/R/lesson_2.html) | Jen • Eric Wanjau |
| 07 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 建立線性與多項式迴歸模型 | [Python](2-Regression/3-Linear/README.md) • [R](../../2-Regression/3-Linear/solution/R/lesson_3.html) | Jen and Dmitry • Eric Wanjau |
| 08 | 北美南瓜價格 🎃 | [Regression](2-Regression/README.md) | 建立邏輯迴歸模型 | [Python](2-Regression/4-Logistic/README.md) • [R](../../2-Regression/4-Logistic/solution/R/lesson_4.html) | Jen • Eric Wanjau |
| 09 | 網頁應用 🔌 | [Web App](3-Web-App/README.md) | 建立一個網頁應用來使用你訓練好的模型 | [Python](3-Web-App/1-Web-App/README.md) | Jen |
| 10 | 分類簡介 | [Classification](4-Classification/README.md) | 清理、準備並視覺化你的資料;分類簡介 | [Python](4-Classification/1-Introduction/README.md) • [R](../../4-Classification/1-Introduction/solution/R/lesson_10.html) | Jen and Cassie • Eric Wanjau |
| 11 | 美味的亞洲與印度料理 🍜 | [Classification](4-Classification/README.md) | 分類器簡介 | [Python](4-Classification/2-Classifiers-1/README.md) • [R](../../4-Classification/2-Classifiers-1/solution/R/lesson_11.html) | Jen and Cassie • Eric Wanjau |
| 12 | 美味的亞洲與印度料理 🍜 | [Classification](4-Classification/README.md) | 更多分類器 | [Python](4-Classification/3-Classifiers-2/README.md) • [R](../../4-Classification/3-Classifiers-2/solution/R/lesson_12.html) | Jen and Cassie • Eric Wanjau |
| 13 | 美味的亞洲與印度料理 🍜 | [Classification](4-Classification/README.md) | 使用你的模型建造推薦網頁應用 | [Python](4-Classification/4-Applied/README.md) | Jen |
| 14 | 分群簡介 | [Clustering](5-Clustering/README.md) | 清理、準備並視覺化你的資料;分群簡介 | [Python](5-Clustering/1-Visualize/README.md) • [R](../../5-Clustering/1-Visualize/solution/R/lesson_14.html) | Jen • Eric Wanjau |
| 15 | 探索奈及利亞的音樂喜好 🎧 | [Clustering](5-Clustering/README.md) | 探索 K-均值分群法 | [Python](5-Clustering/2-K-Means/README.md) • [R](../../5-Clustering/2-K-Means/solution/R/lesson_15.html) | Jen • Eric Wanjau |
| 16 | 自然語言處理簡介 ☕️ | [Natural language processing](6-NLP/README.md) | 透過建立一個簡單的機器人來學習自然語言處理基礎 | [Python](6-NLP/1-Introduction-to-NLP/README.md) | Stephen |
| 17 | 常見的自然語言處理任務 ☕️ | [Natural language processing](6-NLP/README.md) | 透過理解處理語言結構時需要的常見任務來深化你的自然語言處理知識 | [Python](6-NLP/2-Tasks/README.md) | Stephen |
| 18 | 翻譯與情感分析 ♥️ | [Natural language processing](6-NLP/README.md) | 以珍‧奧斯汀作品進行情感分析與翻譯 | [Python](6-NLP/3-Translation-Sentiment/README.md) | Stephen |
| 19 | 歐洲浪漫飯店 ♥️ | [Natural language processing](6-NLP/README.md) | 以飯店評論進行情感分析 1 | [Python](6-NLP/4-Hotel-Reviews-1/README.md) | Stephen |
| 20 | 歐洲浪漫飯店 ♥️ | [Natural language processing](6-NLP/README.md) | 以飯店評論進行情感分析 2 | [Python](6-NLP/5-Hotel-Reviews-2/README.md) | Stephen |
| 21 | 時間序列預測介紹 | [Time series](7-TimeSeries/README.md) | 時間序列預測介紹 | [Python](7-TimeSeries/1-Introduction/README.md) | Francesca |
| 22 | ⚡️ 全球用電量 ⚡️ - 使用 ARIMA 做時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用 ARIMA 進行時間序列預測 | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ 全球用電量 ⚡️ - 使用 SVR 做時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用支持向量回歸 (SVR) 進行時間序列預測 | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | 強化學習介紹 | [Reinforcement learning](8-Reinforcement/README.md) | 強化學習 Q-Learning 介紹 | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | 幫助 Peter 避開狼!🐺 | [Reinforcement learning](8-Reinforcement/README.md) | 強化學習 Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| 後記 | 實際世界中的機器學習情境與應用 | [ML in the Wild](9-Real-World/README.md) | 傳統機器學習有趣且具啟發性的真實世界應用 | [Lesson](9-Real-World/1-Applications/README.md) | Team |
| 後記 | 使用 RAI dashboard 進行機器學習模型偵錯 | [ML in the Wild](9-Real-World/README.md) | 使用負責任 AI 儀表板元件進行機器學習模型偵錯 | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
| 22 | ⚡️ 世界電力使用 ⚡️ - 使用 ARIMA 的時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用 ARIMA 進行時間序列預測 | [Python](7-TimeSeries/2-ARIMA/README.md) | Francesca |
| 23 | ⚡️ 世界電力使用 ⚡️ - 使用 SVR 的時間序列預測 | [Time series](7-TimeSeries/README.md) | 使用支持向量回歸(SVR)進行時間序列預測 | [Python](7-TimeSeries/3-SVR/README.md) | Anirban |
| 24 | 強化學習介紹 | [Reinforcement learning](8-Reinforcement/README.md) | 使用 Q-Learning 介紹強化學習 | [Python](8-Reinforcement/1-QLearning/README.md) | Dmitry |
| 25 | 幫彼得避開狼!🐺 | [Reinforcement learning](8-Reinforcement/README.md) | 強化學習 Gym | [Python](8-Reinforcement/2-Gym/README.md) | Dmitry |
| 後記 | 真實世界的機器學習場景與應用 | [ML in the Wild](9-Real-World/README.md) | 具有趣味性且具啟發性的經典機器學習真實世界應用 | [Lesson](9-Real-World/1-Applications/README.md) | Team |
| 後記 | 使用 RAI dashboard 進行機器學習模型偵錯 | [ML in the Wild](9-Real-World/README.md) | 使用負責任 AI 儀表板元件進行機器學習模型偵錯 | [Lesson](9-Real-World/2-Debugging-ML-Models/README.md) | Ruth Yakubu |
> [在我們的 Microsoft Learn 集合中找到本課程的所有其他資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
> [在我們的 Microsoft Learn 集合中找到本課程的所有附加資源](https://learn.microsoft.com/en-us/collections/qrqzamz1nn2wx3?WT.mc_id=academic-77952-bethanycheum)
## 離線使用
## 離線存取
你可以使用 [Docsify](https://docsify.js.org/#/) 離線執行此文件。將本存放庫分叉,於本機安裝 [Docsify](https://docsify.js.org/#/quickstart),然後在本存放庫根目錄輸入 `docsify serve`。網站會在本機的 3000 埠執行:`localhost:3000`。
你可以使用 [Docsify](https://docsify.js.org/#/) 離線運行此文件。分叉此倉庫,[在本地機器安裝 Docsify](https://docsify.js.org/#/quickstart),然後在此倉庫的根目錄中輸入 `docsify serve`。網站將在本地主機的 3000 端口啟動:`localhost:3000`。
## PDF 檔案
## PDF 文件
請至此處下載一份帶有連結的課程綱要 PDF [here](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf)。
在這裡找到附帶連結的課程大綱 pdf 文件 [here](https://microsoft.github.io/ML-For-Beginners/pdf/readme.pdf)。
## 🎒 其他課程
## 🎒 其他課程
我們團隊還製作其他課程!請查看:
我們團隊還製作其他課程!請參閱:
<!-- CO-OP TRANSLATOR OTHER COURSES START -->
### LangChain
[![LangChain4j 入門](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js 入門](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain 入門](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain4j 初學者](https://img.shields.io/badge/LangChain4j%20for%20Beginners-22C55E?style=for-the-badge&&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchain4j-for-beginners)
[![LangChain.js 初學者](https://img.shields.io/badge/LangChain.js%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[![LangChain 初學者](https://img.shields.io/badge/LangChain%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=0553D6)](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[![AZD 入門](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI 入門](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![初學者 MCP](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![初學者 AI 代理](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
### Azure / Edge / MCP / 智能代理
[![AZD 初學者](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[![Edge AI 初學者](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![MCP 初學者](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[![AI 智能代理初學者](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### 生成式 AI 系列
[![初學者生成式 AI](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
### 生成式人工智慧系列
[![生成式 AI 初學者](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[![生成式 AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[![生成式 AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[![生成式 AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
@ -198,51 +202,51 @@
---
### 核心學習
[![初學者機器學習](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![初學者資料科學](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![初學者人工智慧](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![初學者網路安全](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![初學者網頁開發](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![初學者物聯網](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![初學者 XR 開發](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
[![機器學習初學者](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[![資料科學初學者](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[![人工智慧初學者](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[![網路安全初學者](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[![網頁開發初學者](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[![物聯網初學者](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[![XR 開發初學者](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Copilot 系列
[![AI 配對程式設計的 Copilot](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![C#/.NET 的 Copilot](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![Copilot 冒險](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
### 搭檔助理系列
[![AI 配對程式搭檔助理](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[![C#/.NET 搭檔助理](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[![搭檔助理冒險](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
<!-- CO-OP TRANSLATOR OTHER COURSES END -->
## 尋求幫助
## 尋求協助
如果你在學習機器學習或建立 AI 應用程式時遇到困難或有問題,別擔心 — 可以獲得協助。
若在學習機器學習或建立 AI 應用程式時遇到困難或有問題,不用擔心 — 有協助管道。
你可以加入其他學習者與開發者的討論,提出問題,並與社群分享你的想法。
你可以加入其他學習者和開發者的討論、提出問題,並與社群分享你的想法。
- 加入社群,一起提問與學習
- 討論機器學習概念與專案想法
- 加入社群,提出問題並與他人一同學習
- 討論機器學習概念及專案想法
- 獲得經驗豐富開發者的指導
有支持的社群是提升技能和更快解決問題的絕佳方式。
支援性的社群是提升技能和更快解決問題的絕佳途徑。
[Microsoft Foundry Discord 社群](https://discord.gg/nTYy5BXMWG)
如果你遇到錯誤、問題,或有改進建議,也可以在此存放庫開啟 **Issue** 回報問題。
若遇到錯誤、異常或有改進建議,你也可以在此倉庫開啟 <strong>問題</strong> 報告。
如需產品反饋或查找現有社群貼文,請造訪開發者論壇:
若要提供產品回饋或搜尋現有社群文章,請造訪開發者論壇:
[![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum)
## 其他學習建議
## 額外學習建議
- 課後回顧筆記本以加深理解。
- 每課後回顧筆記本以加深理解。
- 練習自行實作演算法。
- 運用所學概念探索真實世界資料集。
- 利用學到的概念探索真實世界資料集。
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
本文件係使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原文文件及其母語版本應視為具權威性的內容來源。對於重要資訊,建議尋求專業人工翻譯。我們不對因使用本翻譯所產生的任何誤解或誤譯承擔責任。
**免責聲明**:
此文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們努力追求準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於關鍵資訊,建議採用專業人工翻譯。我們不對因使用此翻譯所產生的任何誤解或誤譯承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,28 +1,30 @@
## 給教育工作者
您是否希望在課堂上使用這份課程?請隨意使用!
想在您的課堂上使用這份課程嗎?請隨意使用!
事實上,您可以直接在 GitHub 上使用它,透過 GitHub Classroom 來進行。
事實上,您可以直接在 GitHub 中透過 GitHub Classroom 使用它。
要做到這一點,請先 fork 此 repo。您需要為每個課程創建一個 repo,因此需要將每個資料夾提取到一個單獨的 repo 中。這樣,[GitHub Classroom](https://classroom.github.com/classrooms) 就能分別處理每個課程。
為此,請 fork 這個 repo。您需要為每堂課建立一個 repo,因此您需要將每個資料夾分別拆出為獨立的 repo。這樣,[GitHub Classroom](https://classroom.github.com/classrooms) 才能分別抓取每堂課。
這些[完整的指導說明](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/)可以幫助您了解如何設置您的課堂。
這些 [完整說明](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/) 將幫助您了解如何設定教室。
## 直接使用此 repo
## 直接使用現有的 repo
如果您希望直接使用目前的 repo,而不使用 GitHub Classroom,也可以這樣做。您需要與您的學生溝通,告訴他們一起學習哪一課。
如果您想直接使用這個 repo 而不使用 GitHub Classroom,也可以。您需要與學生溝通,告訴他們該一起進行哪一堂課。
在線上教學形式(例如 Zoom、Teams 或其他平台)中,您可以為測驗設置分組討論室,並指導學生做好學習準備。然後邀請學生參加測驗,並在指定時間以 "issues" 的形式提交答案。如果您希望學生在公開環境中合作完成作業,也可以採取相同的方式。
在線上形式(Zoom、Teams 或其他)中,您可以為測驗成立小組討論室,並指導學生協助他們準備學習。然後邀請學生在某個時段完成測驗並以「議題」方式提交答案。如果您希望學生公開協作完成作業,也可以用相同方式處理。
如果您更喜歡較為私密的形式,可以要求您的學生逐課 fork 此課程到他們自己的 GitHub 私人 repo,並授予您訪問權限。然後他們可以私下完成測驗和作業,並通過 classroom repo 的 issues 提交給您。
如果偏好較私密的形式,請學生將課程項目一堂堂 fork 到他們自己的 GitHub 私有 repo 中,並給您存取權。這樣一來,他們可以私下完成測驗和作業,並透過您教室 repo 中的議題提交給您。
在線課堂有許多不同的運作方式。請告訴我們哪種方式最適合您!
在線上教室中有許多方法都可以讓此流程運作。請告訴我們哪種方式最適合您!
## 請提供您的意見!
## 請給我們您的想法!
我們希望這份課程能夠滿足您和您學生的需求。請提供您的[反饋](https://forms.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR2humCsRZhxNuI79cm6n0hRUQzRVVU9VVlU5UlFLWTRLWlkyQUxORTg5WS4u)。
我們希望讓這份課程對您和您的學生都有用。請給我們[回饋](https://forms.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR2humCsRZhxNuI79cm6n0hRUQzRVVU9VVlU5UlFLWTRLWlkyQUxORTg5WS4u)。
---
**免責聲明**:
本文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責聲明**:
此文件已使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。雖然我們努力追求準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於關鍵資訊,建議採用專業人工翻譯。我們不對因使用此翻譯所產生的任何誤解或誤譯承擔責任。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save