發表文章

機器學習筆記(五) - 高維體積計算、Gamma 函數與 Beta 函數、高斯積分

圖片
高維體積計算 在一個 \(n\) 維空間 \(\mathrm{R}^n\) 中,若欲求 \(k\ (k\le n)\) 個線性獨立向量 \(\{\vec{a_1}, \vec{a_2}, \cdots, \vec{a_k}\}\) 所構成的平行多面體 (注意此說法為在三維下的說法,在二維中其實就是個三角形,而高維中則是比較抽象的概念),令 \(A = \begin{bmatrix} \vec{a_1}& \vec{a_2}& \cdots \vec{a_k}\end{bmatrix}\): \[\text{則此 \(k\) 個向量所構成的體積}\ V = \sqrt{\text{det}(A^TA)}\] 證明如下:                 在計算三角形面積時,最簡單的方法是 (底 x 高);而在計算體積時,一般會使用 (長 x 寬 x 高) 來計算;而推廣至高維的時候,可以理解為 \(k\) 個正交的向量長度相乘,利用 Gram-Schmidt 正交化 (Gram-Schmidt orthogonalization) 的方法可求出一組正交化基底: \begin{array}{ll} \vec{b_1} = \vec{a_1}& &\vec{a_1} = \vec{b_1} \\ \vec{b_2} = \vec{a_2} - \frac{\vec{a_2}\cdot\vec{b_1}}{\vec{b_1}\cdot\vec{b_1}}\vec{b_1}& \Rightarrow& \vec{a_2} = \vec{b_2} + \frac{\vec{a_2}\cdot\vec{b_1}}{\vec{b_1}\cdot\vec{b_1}}\vec{b_1} \\ \qquad\vdots& & \qquad\vdots \\ \vec{b_k} = \vec{a_k} - \sum_{i = 1}^{k-1}\frac{\vec{a_k}\cdot\vec{b_i}}{\vec{b_i}\cdot\vec{b_i}}\vec{b_i}& & \vec{a_k} = \vec{b_k} + \sum_{i = 1}^{k-1}\frac{\vec{a_k}\cdot\ve

機器學習筆記(四) - 頻率學派與貝葉斯學派、共軛分布、貝葉斯估計

頻率學派(Frequentist) 與貝葉斯學派(Bayesian) 頻率學派與貝葉斯學派都是用來估計未知參數(機率)的方法,兩者最大的不同點是: 頻率學派主張的是一種評價範式。它沒有先驗,更加的客觀。貝葉斯學派主張的是一種模型方法,通過建立未知參數的模型,在沒有觀測到樣本之前,一切參數都是不確定的。使用觀測的樣本值來估計參數,得到的參數帶入模型使當前模型最佳的擬合觀測到的數據。 頻率學派(Frequentist) 頻率學派一般採用的是 最大似然估計(Maximum likelihood estimation, MLE),在給定資料 \(\mathcal{D}\) 以及機率分布模型,我們想找出在此特定模型下的參數,使得資料 \(\mathcal{D}\) 發生的可能性最大。定義 似然函數(likelihood function): \[\mathcal {L}(\theta \mid \mathcal{D})=P(\mathcal{D}\mid \theta)\] 其中 \(\theta\) 為模型所需的參數。可以看到似然函數的變數為 \(\theta\),而非一隨機變量。如果套用貝式定理: \[P(\theta\mid\mathcal{D})=\frac{P(\theta)P(\mathcal{D}\mid \theta)}{P(\mathcal{D})}\] 以貝葉斯學派觀點來說明的話, MLE 對先驗分布做了均勻分布的假設 (\(P(\theta)\) 為定值),因此若要最大化 \(P(\theta\mid\mathcal{D})\),等價於最大化 \(P(\mathcal{D}\mid \theta)\),換句話說,均勻部分的先驗並不影響我們最大化的結果,也可以說是不考慮先驗。頻率學派不考慮先驗的原因是因為其認為客觀先驗不存在,要得到準確的機率只能靠增大數據量來逼近。以數學可以表示如下: \[\widehat{\theta}_{MLE} = \arg\max_{\theta}f(x\mid\theta)\] 其中 \(x\) 為獨立同分佈的採樣,\(\theta\) 為模型參數,\(f\) 為我們所使用的模型。 貝葉斯學派(Bayesian) 貝葉斯學派其中一個估計方式為 最大後驗估計(Maximum a posteriori, MA

機器學習筆記(三) - 資訊熵

圖片
資訊熵(Shannon entropy) 在資訊理論中,熵是指接收的每條消息中包含的資訊的平均量,為不確定性的量度,越隨機的信源熵越大,又被稱為資訊熵、信源熵、平均資訊本體。依據 Boltzmann's H-theorem,Shannon 把隨機變量 \(X\) 的熵值 \(H\)(希臘字母Eta)定義如下,其值域為 \(\{x_1, \cdots, x_n\}\): \[\mathrm {H}(X)=\mathrm {E}[\ \mathrm {I} (X)\ ]=\mathrm {E} [-\ln(\mathrm {P} (X))]\] 其中,\(\mathrm {P}\) 為 \(X\) 的機率質量函數(probability mass function),\(\mathrm {E}\) 為期望函數,而 \(\mathrm{I}(X)\) 是 \(X\) 的資訊量(又稱為資訊本體)。 \(\mathrm{I}(X)\) 本身是個隨機變數。當取自有限的樣本時,熵的公式可以表示為: \[\mathrm {H} (X)=\sum _{i}{\mathrm {P} (x_{i})\,\mathrm {I} (x_{i})}=-\sum _{i}{\mathrm {P} (x_{i})\,\log_b\mathrm {P} (x_{i})}\] 在這裡 \(b\) 是對數所使用的底,當 \(b = 2\),熵的單位是 bit;當 \(b = e\),熵的單位是 nat;而當 \(b = 10\),熵的單位是 Hart。 若存在 \(p_i = 0\) 時,對應的被加數值將會是 \(0\),這與極限一致。 \begin{align}\lim _{p\to 0^+}p\log p &=\lim _{q\to \infty}\frac{1}{q}\log{\frac{1}{q}}\\ &=\lim _{q\to \infty}\frac{-\log q}{q}\\&=\lim _{q\to \infty}\frac{-1}{q}\qquad\qquad\qquad\qquad\text{(by L'Hospital's rule)}\\&=0 \end{align} 最大熵(Maximum entropy) 熵

機器學習筆記(二) - 機率 、貝氏定理

機率(probability) 機率是人類基於不確定性的描述,對於已經發生或確定的事情,我們一般會說機率為 1;對於不太可能發生的事,我們會說發生機率接近於 0 ,以上這段描述說明了機率的上界與下界。接下來以投擲硬幣為例,列出在機率會用到的相關名詞定義: 試驗(trail):投擲一次硬幣。 試驗結果(outcome):投擲硬幣的結果(正面 <H>、反面 <T>)。 樣本空間(sample space):所有試驗結果所產生的集合 \(\mathrm{U} =\{\ H,\ T \ \}\) 。 事件(event):符合設定條件的樣本空間子集合。 隨機變數(random variable):將樣本空間的元素對應到實數的對應函數。 機率密度函數(probability density function, PDF):\((x, y):y=\mathrm{P}(X=x)\),其中 \(X\) 為一連續型隨機變數(continuous random variable)。 機率質量函數(probability mass function, PMF):\((x, y):y=\mathrm{P}(X=x)\),其中 \(X\) 為一離散型隨機變數(discrete random variable)。 累積分布函數(cumulative distribution function, CDF):\(F_X(x) = \mathrm{P}\{X \leq x\}.\)。 蒙特霍問題(Monty Hall problem) 蒙特霍問題又稱三門問題,是一個源自博弈論的數學遊戲問題,大致出自美國的電視遊戲節目Let's Make a Deal,問題的名字來自該節目的主持人蒙蒂·霍爾,該問題的修正描述如下: 參賽者在三扇門中挑選一扇。他並不知道內裏有甚麼。 主持人知道每扇門後面有什麼。 主持人必須開啓剩下的其中一扇門,並且必須提供換門的機會。 主持人永遠都會挑一扇有山羊的門。 如果參賽者挑了一扇有山羊的門,主持人必須挑另一扇有山羊的門。 如果參賽者挑了一扇有汽車的門,主持人隨機(機率均勻分布)在另外兩扇門中挑一扇有山羊的門。 參賽者會被問是否保持他的原來選擇,還是轉而選擇剩下的那一道門。 節錄自 維基百科 要解決

機器學習筆記(一) - LSE 、牛頓法

圖片
前言 機器學習是從 模型識別(pattern recognition) 以及 計算學習原理(computational learning theory) 所衍生出來的學科,其主要目標為藉由提供的資料來達到特定的目的。目前已廣泛應用於資料探勘、電腦視覺、自然語言處理、生物特徵識別、搜尋引擎、醫學診斷、檢測信用卡欺詐、證券市場分析、DNA序列測序、語音和手寫識別、戰略遊戲和機器人等領域。依照有無資料標籤(Label)可以分為 監督式學習(Supervised Learning)以及 非監督式學習(Unsupervised Learning)。 監督式學習(Supervised Learning): 在訓練的過程中告訴機器答案、也就是「有標籤」的資料,比如給機器各看了 1000 張蘋果和橘子的照片後、詢問機器新的一張照片中是蘋果還是橘子。 非監督式學習(Unsupervised Learning): 訓練資料沒有標準答案、不需要事先以人力輸入標籤,故機器在學習時並不知道其分類結果是否正確。訓練時僅須對機器提供輸入範例,它會自動從這些範例中找出潛在的規則。 簡單來說,若輸入資料有標籤,即為監督式學習;資料沒標籤,讓機器自行摸索出資料規律的則為非監督式學習,如 集群(Clustering)演算法。 非監督式學習本身沒有 標籤(Label)的特點,使其難以得到如監督式一樣近乎完美的結果。就像兩個學生一起準備考試,一個人做的練習題都有答案(有標籤)、另一個人的練習題則都沒有答案,想當然爾正式考試時,第一個學生容易考的比第二個人好。另外一個問題在於不知道 特徵(Feature)的重要性,在資料量較少的情況下,可能無法歸納出對預期結果佔有較大權重的 特徵(Feature)。 監督式學習(Supervised Learning) 一般在學習機器學習時,會先從 監督式學習(Supervised Learning)開始。給定資料對 \((x, y)\),\(x\)為輸入資料、\(y\)為預期結果,我們可以假設 \(y=f(x)\),亦即 \(y\) 和 \(x\) 是有相關性的,此假設也可以推廣: \begin{array}{ll} 假設輸入\ m\ 個特徵(Feature),分別為\ x_{1}\ ,\ x_{2}\ ,\ x_{3}\ ,\ \cdots\