開發(fā)機器學習算法比以往更加容易。有許多高級庫如TensorFlow,,PyTorch或scikit-learn可以建立,,并且由于許多才華橫溢的開發(fā)人員的巨大努力,它們確實易于使用,,只需要對基礎算法有一點點的熟悉,。但是,這是以深刻理解為代價的。沒有適當?shù)睦碚摶A,,很快就會被復雜的技術細節(jié)所淹沒,。 我的目的是證明當我們擁有適當?shù)囊暯菚r,如何用真正簡單自然的想法來解釋機器學習中看似模糊的和即席的方法,。 為此,,我們的數(shù)學工具將是概率理論和統(tǒng)計學,這是預測模型的基礎,。 使用概率理論不僅是一項學術活動,,它實際上還可以提供對機器學習原理的非常深刻的見解,從而為您提供了改進現(xiàn)有技術的工具,。 在開始學習機器學習的理論基礎之前,,讓我們來看一個玩具問題! 擬合模型假設我們有兩個相互關聯(lián)的數(shù)值,,例如x和y。 例如,,x是房地產(chǎn)的平方英尺,,y是給定城市在市場上的價格。 我們的目標是從x預測y,。 用數(shù)學術語來說,,我們可以說我們正在尋找一個函數(shù)f(x)使得
我們的示例數(shù)據(jù)集如下所示。 假設我們的數(shù)據(jù)集由數(shù)據(jù)點和觀測值組成 由于數(shù)據(jù)嘈雜,,因此不可能將線性模型擬合到我們的數(shù)據(jù)中 持有,。 取而代之的是,我們測量特定模型對數(shù)據(jù)的擬合程度,,并嘗試根據(jù)該度量找到最佳擬合,。 通常,這是通過計算每個點的預測誤差,,然后平均逐點誤差來完成的,。 誤差越小,我們的模型越好,。 衡量這一點的最簡單方法是對預測值與基本事實之間的差異求平方,。 這稱為均方誤差,其定義為 最佳擬合是指均方誤差取其最小值,或者用數(shù)學術語表示,, 對于我們的具體數(shù)據(jù)集,,如下所示。 A fitted regression model 對于我們的目的,,如何最小化它并不是特別重要,。 對我們而言重要的是如何解釋模型以及傳達什么樣的信息。 簡單地看一下,,就可以知道有很多遺漏的東西,。 當然,數(shù)據(jù)顯然遵循線性趨勢,,但是甚至可以用我們的模型來描述嗎,? 函數(shù)是確定性的:插入x,即可得到預測f(x),。 但是,,數(shù)據(jù)似乎顯示出一些噪聲,顯然我們的線性模型無法正確捕獲這些噪聲,。 我們還能在哪里看,? 一個明顯的答案是尋找一個更復雜的函數(shù),例如一個更高次的多項式,。 用數(shù)學術語來說,,我們正在尋找一個由 希望可以更精確地描述數(shù)據(jù)。 不幸的是,,這種情況并非如此,。 Fitting a polynomial of degree 30 to our training data 當我們嘗試強行使用它并過分提高模型的表達能力時,我們會發(fā)現(xiàn),,從某種意義上講,,情況甚至更糟:我們的關切沒有得到解決,并且引入了其他問題,,例如模型在我們領域之外的瘋狂行為 ,。 我們必須在其他方向?qū)ふ医鉀Q方案。 代替尋找單個值作為預測,,我們應該針對一個模型來解釋某些結果的可能性,! 這樣,我們可以做出更明智的決策,,例如計算風險,。 概率論的語言假設我有一個硬幣,投擲硬幣時有1/2的正面出現(xiàn)概率和1/2的背面出現(xiàn)概率,。 如果我拋硬幣100次,,我會得到多少個頭,? 快速回答50可能很吸引人,但事實并非如此簡單,。 可以看到,,您可以從0到100任意數(shù)量的磁頭,但是這些磁頭的可能性不相等,。 在一個實驗中,,您可能會得到34,在接下來的實驗中,,您可能會得到52,,依此類推。正頭的概率為1/2,,這意味著如果您無限地擲硬幣,,則正頭與所有拋擲的比例將越來越接近1 / 2。 讓我們以扔硬幣n次為例,! 假設X表示頭數(shù),。 X是一個隨機變量,我們不知道確切的值,,只是未知的它會取給定值的概率,。 X為k的概率由P(X = k)表示,該值始終為0到1之間的數(shù)字,。此外,由于我們知道可以得到0,、1,、2等,直到n個頭,, 這些概率總計為1,,即 每個實驗都可以用H-s和T-s的n個長序列來描述。 為了計算給定k的確切概率,,我們需要計算n次拋擲中可以有多少種方法,。 從數(shù)學上講,這等效于從一組n個元素中選擇k個元素的子集,,這可以在 方法,。 此外,每個配置具有(1/2)^ n個概率,。 (例如,,考慮n =3。配置HTH的概率為1/8,,因為每個特定的拋擲本身具有1/2概率,,并且拋擲是獨立的,。)因此,將其放在一起 這些數(shù)字加在一起稱為實驗的概率分布,。 (正在拋n個硬幣并觀察其中的頭數(shù),。) 總而言之,概率分布包含有關實驗結果的所有信息,。 上一節(jié)中的模型僅給我們一個數(shù)字,,但是,我們應該尋找概率分布,,而不是做出完全明智的決定,。 一般伯努利分布和二項分布上面的兩個例子可以概括。 首先,,假設我們?nèi)恿艘粋€不公平的硬幣,,即,正面和反面的概率不相等的硬幣,。 假設正面的概率為p,,并表示X的正面數(shù)與以前一樣。 (可以為零或一,。) 稱為參數(shù)為p的伯努利分布,,或簡稱為伯努利(p)。 按照這種思路,,如果我們拋棄這個不公平的硬幣n次,, 這就是參數(shù)n和p或簡稱b(n,p)的二項式分布,。 請注意,,伯努利分布只是n = 1的二項式分布。 連續(xù)概率分布在前面的拋硬幣示例中,,概率分布由所有可行k的數(shù)字P(X = k)完整描述,。 這個特定的隨機變量只能采用整數(shù)作為其值,其中有許多是整數(shù),。 這種隨機變量稱為離散變量,。 但是,在前面的案例中,,我們估計房地產(chǎn)價格會如何呢,? 通常,隨機變量還可以假設所有實數(shù)作為其值,。 在這種情況下,,它們被稱為連續(xù)的。 說X可以是介于0到1之間且具有相等概率的任意隨機數(shù),。 它的概率分布是多少,? 憑直覺,,我們可以看到 對于[0,1]中的任何固定x,。 那么,,我們將如何描述這種分布? 我們使用所謂的概率密度函數(shù)(簡稱PDF)來描述X落入某個范圍的概率,,例如a≤x≤b,。 概率本身可以通過測量a和b之間的PDF曲線下的面積來計算。 在選擇一個介于零和一之間的隨機數(shù)的情況下,, 用于密度函數(shù),。 請注意,密度函數(shù)圖下的總面積始終為1,,因為它表示所有結果的概率,。 正態(tài)分布連續(xù)分布非常重要,就是所謂的正態(tài)分布,。 (或者用高斯命名),。即使您可能還不知道這是正態(tài)分布,也確實在某個時候遇到過,。 我們說X的正態(tài)分布為均值μ和方差σ2方差,,如果其密度函數(shù)為 這在現(xiàn)實生活中經(jīng)常出現(xiàn),例如人的身高傾向于顯示這種分布,。 我們在旅途中將會遇到很多次,。 平均值描述了鐘形曲線的中心。 從符號上來說,,N(μ,,σ2)的PDF通常表示為N(x |μ,σ2),。 我們將在以后使用,。 條件概率
假設您想下注,。您的朋友擲骰子,如果結果小于或等于3,,則您贏了,。否則,您將損失相同的金額,。顯而易見,,默認情況下,,您獲勝的概率為1/2。但是,,您的朋友在擲骰子后告訴您結果是偶數(shù),。那你現(xiàn)在贏的機會呢?直覺上,,您現(xiàn)在的機會更低,,因為您只能以2獲勝,如果是4或6,,則將輸?shù)?。因此,有關該實驗的其他信息已改變了潛在的概率分布,。 這個概念可以用數(shù)學形式化為條件概率,。 假設您有兩個事件,A和B,。在我們的具體示例中,,A是拋出的結果小于或等于3,而B是拋出的結果是偶數(shù),。 給定B發(fā)生的給定A的概率稱為給定B的條件概率,。用P(A | B)表示,可以計算為 在我們的情況下,,P(A和B)= 1/6,,而P(B)= 1/2,所以我們獲勝的機會是P(A | B)= 1/3,。 機器學習的統(tǒng)計基礎要了解條件概率如何適合我們的機器學習視角,,我們需要采取另一種概念上的跳躍。 讓我們再次回顧一下擲硬幣的例子,! 但是,,這次硬幣不公平,因此正面出現(xiàn)的可能性不是1/2,。 假設 對于[0,,1]中的一些p。 漁獲物是,,我們不知道它的確切價值,,我們必須從數(shù)據(jù)中猜測。 換句話說,,我們要估計其概率分布,。 p是拋硬幣實驗中的參數(shù),。 (請注意,這里有兩種分布:一種描述拋硬幣的結果,,第二種描述我們對給定硬幣正面朝上的概率的信念。) 假設我們手中有特定的硬幣,然后將它拋向空中十次,得到結果 也就是三尾七頭。 用概率的語言,,E描述事件'十分之七'。 所以,,我們真正想要的是 之所以稱為后驗,,是因為它描述了我們觀察到一些數(shù)據(jù)后對硬幣的信念。 請注意,,這是一個連續(xù)的概率分布,,因為p可以假設介于0和1之間的任何值。 我們將如何計算呢,? 條件概率的基本屬性在這里可以解決,。 如果A和B是一般事件,則 換句話說,,以B為條件的A的概率可以用以A為條件的B的概率表示,。這被稱為貝葉斯定理,它對于概率密度函數(shù)也成立,。 這對我們有什么幫助,? 現(xiàn)在我們有 這對我們來說很棒! 這里有三個組成部分,。 i)P(E | p),,稱為似然度。 它很容易計算,,我們在上一節(jié)中已經(jīng)做到了,。 在目前的情況下,我們有七個頭 這意味著它們彼此成比例,,即直到乘法常數(shù),。 這個常數(shù)對我們來說并不重要,原因?qū)⒃诤竺娼忉尅?/p>
這已經(jīng)為我們所熟悉,。 iii)由于函數(shù)P(p | E)下的面積始終為1,,因此不需要計算P(E)。 (在大多數(shù)情況下,,計算P(E)甚至在計算上都是難解的,。)由于這個確切的原因,,我們實際上并不關心似然函數(shù)中的乘法常數(shù)。 從這些數(shù)據(jù)中,,我們可以輕松地得出p的概率分布的良好估計,,該概率描述了一次拋硬幣會導致正面拋擲的概率。 Posterior distribution for p after tossing the coin ten times, obtaining seven heads and three tails 最大似然估計即使我們具有概率分布,,但通常也可以提供一個具體的數(shù)字作為我們的估計值,。 在這種情況下,我們希望有一個參數(shù)來估計我們的硬幣掉頭的概率,。 盡管貝葉斯路線易于拋硬幣,,但可能無法進行分析計算。 可能會問一個問題:鑒于我們觀察到的結果,,最有可能采用哪個參數(shù),? 如果您考慮一下,這由似然函數(shù)來描述 其中E描述了事件HHTHTHHHHT,。 我們通過將觀察到的事件的概率相乘來計算得出,。 一般來說,如果我們有觀察 結果 為方便起見,,以矢量形式編寫,,似然函數(shù)定義為 這是變量θ的函數(shù)。 θ表示概率分布的所有參數(shù),,因此它甚至可以是標量或向量變量,。 在我們重復的拋硬幣示例中,Y表示第i次拋硬幣實驗,,y表示結果,。 在這里,y表示頭部為1,,尾部為0,。 還請記住,通常,,Y可以是離散的,,但也可以是連續(xù)的。 直觀地(這是我們經(jīng)常使用的短語:)),,似然函數(shù)假定其最大值的特定θ值將是我們參數(shù)估計的合理選擇,。 此方法簡稱為最大似然估計或MLE。 用數(shù)學術語來說 在上面有七個頭和三個尾的具體示例中,,該值為0.7,。 盡管MLE不如完整的貝葉斯治療那樣理想,但通常是合理的。 注意,,當先驗分布均勻時,,MLE等效于通過最大化后驗分布來估計參數(shù) 后者簡稱為最大后驗估計或MAP。 掌握了所有這些數(shù)學工具之后,,我們就可以回顧原始的回歸示例,! 重新回歸回顧一下,我們有觀察 我們想根據(jù)x-es來預測y-s 以前,,我們在尋找函數(shù)f(x)= ax + b 相當接近地面真理,。 這次,從概率的角度來看,! 現(xiàn)在我們有了數(shù)據(jù)點 來自發(fā)行版 對于每個數(shù)據(jù)點,,我們都有地面實況觀察 來自發(fā)行版 可以合理假設所有Y-s都可以建模為正態(tài)分布N(μ(x),σ(x)2),。 為簡單起見,,我們可以假設方差是常數(shù),并且μ(x)= ax + b是線性函數(shù),。 也就是說,,我們正在尋找適合的模型 根據(jù)我們的所有觀察,似然函數(shù)可以寫成 我們要最大化此功能,。 這似乎很困難,,但是有一個標準的數(shù)學技巧:最大化一個函數(shù)與最大化其對數(shù)相同。 (只要對數(shù)正確定義,,就像這里一樣,。)因此,我們有 我們在這里看到隧道盡頭的光,。 可以省略第一項(因為它是一個常數(shù)),,而最小化功能與最大化其負數(shù)相同。 從而,, 如果看起來很熟悉,,這絕不是偶然的:右側是均方誤差! 這表示以以下形式擬合模型的最大似然估計 是我們之前做的線性回歸的一般情況,。 但是,,有一個主要區(qū)別:概率模型的解釋遠不只是簡單的線性函數(shù)。 這只是冰山一角,,有很多方法可以推廣這種簡單的概率模型,,從而獲得與我們的數(shù)據(jù)更為通用的擬合。 一種明顯的方法是將σ作為參數(shù),,并刪除常數(shù)假設,。 分類在結束之前,,我們將詳細研究分類,這是機器學習中的另一類主要問題,。 在這里,我們有一個稍微不同的問題,。 我們的訓練數(shù)據(jù)又來了 這次,,y-s是標簽而不是實數(shù)。 因此,,Y是離散的概率分布,。 我們之前的線性回歸模型無法正確捕獲此問題。 此外,,盡管在將標簽編碼為整數(shù)時可以使用均方誤差,,但這實際上沒有任何意義。 為了說明起見,,讓我們考慮一維簡單的二進制分類問題,,該問題具有兩個類別,分別用0和1編碼,。 如果您熟悉這些類型的問題,,則您可能知道通常的解決方案是使表格的功能適合 哪里 是眾所周知的S型函數(shù)。 該模型稱為邏輯回歸,。 啟發(fā)式地,,擬合線性函數(shù),以使其對于屬于第一類的x-es假定正值,,而對于相反的類假設其值為負值,。 然后,S形將這些實數(shù)轉換為概率,。 ax + b越高,,其S形值越接近1,類似地,,ax + b越低,,其S形值越接近0。因此,,f(x)有效地模擬了x屬于1類的概率,。 。 為了擬合該模型,,最小化了所謂的交叉熵損失,,其定義為 這個損失函數(shù)是什么意思? 在最開始的回歸示例中,,均方誤差在直觀上很明顯,。 交叉熵不是這種情況。 您是否曾經(jīng)想過為什么以這種方式定義交叉熵損失? 僅看這個公式,,幾乎是不可能的,。 如果我們從前面幾節(jié)中獲得的觀點來看分類問題,則可以通過對每個x擬合伯努利分布來解決該二元分類問題,,也就是說,,我們使用 對于似然函數(shù),我們有 在像以前一樣取對數(shù)之后,,我們得到 這是交叉熵損失的負面影響,! 突然之間,這個充滿對數(shù)的神秘公式有了一個清晰的解釋,。 最小化交叉熵損失只是使用伯努利分布對我們的數(shù)據(jù)建模,,并采用最大似然估計。 摘要當使用機器學習算法來解決諸如分類和回歸之類的問題時,,我們通常以口頭語言提出問題,,例如'明天該股票的價格是多少?',,'這是負面還是正面的評論,?'等等。 在這里,,我的目的是表明這些算法中的許多實際上正在做的更多:它們提供了對潛在問題的深刻統(tǒng)計理解,。 他們有能力提供比簡單的預測更多的信息,而不是簡單地估計明天的股價,。 我們已經(jīng)看到,,機器學習的基本對象(例如線性回歸,具有邏輯回歸的二元分類,,均方誤差和交叉熵損失)都來自統(tǒng)計環(huán)境中非常自然的思想,。 這只是冰山一角。 盡管我們只看到了最基本的模型,,但即使是最先進的深度神經(jīng)網(wǎng)絡也都建立在這些基礎之上,。 如果您了解了這些基礎知識,那么您現(xiàn)在距離掌握機器學習又邁了一大步,。 (本文翻譯自Tivadar Danka的文章《The statistical foundations of machine learning》,,參考: |
|
來自: taotao_2016 > 《概率》