# 筆記內容介紹與原則 整理這一系列文章,主要是為了加強我自己對 ML 的理解。雖然有點花時間,但是覺得用自己的話重新把東西講一遍,常常能夠發現一些原本自以為懂,但其實概念模糊的地方。 建立在這樣的出發點,內容大部分是我每讀完一段後大致的課本原話翻譯(有時候可能省略部分例子或是一些額外的描述),有些是我了解大概的意思,加上回想過去所學後整理出的理解,除此之外,也有網路上到處看看後做的整理。 > 關於網路資源,如果只有一兩句話就不會特別註明,但如果有參考較多的地方會在最下方「參考資料」處留下連結。 總之是綜合各方面的東西做出來的筆記,因此可能有誤,歡迎指出~ --- 另外,在撰寫這一系列筆記的一學期過後,我修了台大林軒田老師的機器學習,發現所有這些筆記裡最有幫助的部分應該只有機率,其他老實說用不太上(或過於簡單)XDD 總之,對這門課有興趣的話,可以參考我的 GitHub repo [NTU-ML-2024](https://github.com/pipi-bear/NTU-ML-2024),裡面有這學期 7+1 次作業(包含作業零)的題目和我的答案。當然我的答案也有很多錯誤的地方,這學期實在太忙了,有時候寫不太出來事情又很多就直接擺爛 QQ 關於錯誤的地方,或是如何使用那些資料的詳細資訊,可以參考 README,就不在這裡多說了~ ## 晶晶體的部分 另外,其實很多時候英文最能夠好好把一件事講得很清楚(如英文的原始定義),但是在想保留英文精簡的部分,又想要閱讀時可以中文快速掃過的情況下,我的筆記就是大量的晶晶體中英交雜著寫。 基本原則就是專有名詞保留英文、常用的或翻成中文很奇怪的也會使用英文。 ## 關於數學證明 至於數學的部分,ML 的課本幾乎是完全沒證明任何定理,但是出自個人興趣和偏執(?)基本上所有東西我都會想辦法證明、推導整個計算過程,證某個定理時如果用到其他定理,也會順便證一證,如果沒有寫在一起的話一定就是在另個小節我證過了(如果我記得在哪,就會標註可參考哪篇筆記),真的覺得太難或我真的懶得證的時候也會寫我懶得證了或我不會 XD 不過這些證明不會也不影響原本 ML 內容的理解,沒興趣也可以跳過~ 另外,要證明的定理通常出自下方「資料來源」的第二本機率課本,因此證明過程最後我都會再對照課本檢查,很多時候我沒辦法真的自己證,所以也就是照著課本的方法理解後再自己寫一次而已,在這樣的情況下應該是不太會有錯,除了課本有時候省略像是一些微積分的步驟是我自己寫的,那麼如果是這部分還錯⋯⋯,可以提醒我 :cry: # 資料來源 ## 課本用書 課本主要我是用下方幾本: 1. Ethem Alpaydin, *Introduction to Machine Learning* (2014) > 一開始我選擇的主要課本,因此所有筆記的每個章節都是和這本對應。但當我讀到後來發現它還是寫的有點簡略,尤其是數學的部分,所以關於數學的部分,我主要以下方第二本課本來輔助參考。 2. Hogg, Tanis, Zimmerman, *Probability and Statistical Inference*, 9th ed(2015) > 大部分以「補充:」作為開頭的筆記都出自這本書,它簡單易懂、排版清晰,步驟不太會省略的太多,像學微積分時用的那種課本,推薦入門使用! 3. Sheldon Ross, *A first course in Probability*, 9th ed(2013) > 雖然第二本寫得很簡單清楚,但是一些比較進階的內容或是證明就被省略了,所以有時我會參考這本。這本讀起來比較像數學系的用書,如果習慣要嚴謹定義、證明可參考這本。 4. Christopher Bishop, *Pattern Recognition and Machine Learning* (2016) 5. *Introduction to Statistical Learning (Python)* > 即 ISLP,下載連結[點我](https://www.statlearning.com)。 >> 連結中有兩種版本,R 和 Python,我是用 Python 的版本 :) 6. A. Aldo Faisal, Cheng Soon Ong, Marc Peter Deisenroth, *Mathematics for Machine Learning* > 本書[介紹頁面](https://mml-book.github.io),內有 pdf 下載連結,也有附詳解的額外題目可下載。 ## 常用網站 - [Introduction to Probability, Statistics and Random Processes](https://www.probabilitycourse.com) > 這個網站為一本 open access textbook,章節編排清晰、版面清楚,還包含簡單明瞭的圖和例子,甚至有習題和詳解!作為每個主題的基礎介紹根本太過完美!非常推薦! - [Engineering Statistics Handbook](https://www.itl.nist.gov/div898/handbook/index.htm) > 提供簡單的介紹和例子,可以搜尋關鍵字簡單看看介紹,在每個主題的頁面,如果內容有包含其他主題的頁面也能直接點連結,是簡單清楚的參考資料。 - github 上 [Dennis Sun 大大的筆記](https://dlsun.github.io/probability/) > 是一個既完整又超精美的 Probability 筆記,排版超級舒服,過程詳細,很多特性提供證明! ## 引用其他篇筆記 很多時候我會使用一些定理,或是用一些沒有寫在同一篇筆記的內容,如果我記得我寫在哪,我會標注說在哪篇筆記找得到,從左側章節欄位找出該篇筆記即可。 - 一開始我以為讓筆記加上連結一定會強制開新分頁,就沒有直接將連結加上,後來我才發現加入連結可以直接跳轉過去,不用開新分頁,才開始附上連結。 $\rightarrow$ 可能會有部分引用筆記是沒有連結的情形(而且很多)。在我找時間修正以前,我想直接從左方欄位找也不會太麻煩,可以依照章節編號找,如果是 $A.$ 開頭,則可在最後的 Appendix 各個部分找到。 # 章節編排 ## 一般章節 前面數字開頭的章節內容皆來自第一本課本(ML),基本上每一節都可以和課本對照著看(章節名稱、編號都相同),除了每一章最後可能沒講什麼的 notes 和 exercises,以及前面介紹性質的幾個小節,其他預計都會一節一節整理放上去。 ## Appendix :::danger 後面 $A$ 開頭的章節主要為 ML 課本的 Appendix,建議先看! ::: 內容是在補充一些機率與統計的背景知識,我自己覺得看過後對正文的理解會有更深的認識,不過如果對這方面很理解也可以省略。 不過因為 ML 的課本寫得實在是很簡略,很多時候其實是一些定理的內容,都沒有解釋就簡單帶過過省略,一些定義也沒有定義清楚。 我原本想說或許用不到那麼多,打算就這麼看過去就好,最後受不了覺得太影響理解,就找了台大資工 Probability 課程指定用書,也就是 Hogg 那本來念。這本書寫得非常好!非常簡單清楚,不會省略過多的步驟,很適合和我一樣對統計的理解只到國高中期望值、標準差⋯⋯的零基礎人士。 :+1: - 如果是原本 ML 的 appendix 章節裡有用到少數這本書的內容,我會把用到的頁碼標注在一樣最下方「參考資料」處。 - 如果關於某個概念需要大量的 probability 背景才能夠好好理解,而這個背景知識篇幅又太多,我會寫在由「補充:」作為開頭的幾的小節。 > 這幾個小節的標題可能對應到課本某個小節的標題,也有可能是我自己下的(有可能我只用到課本某個小節的一部分,因此就不會用課本的標題來做我筆記的標題。) > > 但是無論如何,我還是會在「參考資料」註明對照起來是在課本的哪個部份,以方便對照著閱讀。 除此之外,其實維基百科還是蠻好用的,在對某個概念模糊時我會先去看它的 wiki 頁面,大致看過介紹,有時候那裡會寫一些這個名詞的意義,比起直接看數學式,先看過意義更能夠 relate to 數學的部分。 > 如果有用到 wiki 的概念,我一樣會附上連結。 # Notation 我會盡量維持整個筆記顏色、各種表示方式的一致性,但是可能偶爾還是會沒注意到或打錯,可以提醒我修改或忽略 >< ## 符號表示 ==$x$==:向量 > - 本文中向量的表示方式同課本省略箭號,如 $\vec x$ 以 $x$ 表示 > - 如果要表示向量裡的 elements,我習慣標示出轉置,寫成行向量的形式,有可能有地方忘記標,但反正有標沒標都是指同樣的東西 XD >> 如 $x = [x_1,x_2,...,x_n]^T$ ==$E$==:event > event 我沿用 ML 課本以 $E$ 表示,但 probability 課本用 $A$,有時可能混著用,如果有誤植可以提醒我! ==$X$==:training sample ## 顏色 - <font color = "snake">專有名詞</font>或<font color = "snake">定義</font>我會用藍色 - <font color = "green">定理</font>或<font color = "green">數學相關</font>會用綠色 - <font color = "red">易搞混的錯誤觀念</font>會用紅色 ## 螢光筆底色 - 第一次用到的符號通常在最開始定義的時候會用黃色螢光筆標記,如 ==$P(x)$== :::success - 一整段的++定理++,或++數學性質++會用綠色螢光筆。 ::: :::info - 一整段的++定義++,或一些++說明++會用藍色螢光筆。 ::: :::warning - ++要注意的地方++或++重點概念++會用黃色螢光筆。 ::: ## 圖片說明 如果有附圖,圖又有要說明的地方,我會在圖++下方++用淺灰色引述的方式說明。 > 像這樣~