機器學習中的數學意義

2021-01-08 雷鋒網

字幕組雙語原文:機器學習中的數學意義

英語原文:Digit Significance in Machine Learning

翻譯:雷鋒字幕組(聽風1996)

機器學習中的用於聲稱性能的指標標準很少被討論。由於在這個問題上似乎沒有一個明確的、廣泛的共識,因此我認為提供我一直在倡導並儘可能遵循的標準可能會很有趣。它源於這個簡單的前提,這是我的科學老師從中學開始就灌輸給我的:

科學報告的一般規則是,您寫下的每個數字都應為「 真」的,因為「 真」的定義是什麼。    

讓我們來研究一下這對測試性能等統計量意味著什麼。當你在科學出版物中寫下以下陳述時:

測試準確率為52.34%。你所表達的是,據你所知,你的模型在從測試分布中提取的未見數據上成功的概率在0.52335和0.52345之間。

這是一個非常強有力的聲明。  

考慮你的測試集是從正確的測試分布中抽取的N個樣本IID組成的。成功率可以表示為一個二項式變量,其平均概率p由樣本平均值估計:p ≅ s / N

其標準差為:σ=√p(1-p)。

其中當p=0.5時,其上限為0.5。

在正態近似下,估計量的標準差為:δ=σ/√N。

這個精度估計上的誤差δ 是這樣的,在最壞的情況下,有約50%的精度

換句話說,為了保證上述報告中例子52.34%的準確率,你的測試集的大小至少應該在30M樣本的數量級上!這種粗略的分析很容易轉化為除了準確率以外的任何可計算的數量,儘管不能轉化為像似然率或困惑度這樣的連續數字。

下面是一些常見的機器學習數據集的說明。

在ImageNet上可以合理地報告多少位數的精度?準確率在80%左右,測試集是15萬張圖片:

√(0.8*0.2/150000) = 0.103%

這意味著你幾乎可以報告XX.X%的數字,而實際上每個人都是這樣做的。

MNIST呢,準確率在99%:

√(0.99*0.01/10000) = 0.099%

噗,也報個XX.X%就OK了!

然而,最值得注意的是,在大多數情況下,性能數據並不是單獨呈現的,而是用來比較同一測試集上的多種方法。在這種情況下,實驗之間的抽樣方差會被抵消,即使在樣本量較小的情況下,它們之間的準確度差異也可能在統計學上很顯著。估計圖方差的一個簡單方法是執行bootstrap重採樣。更嚴格、通常更嚴格的檢驗包括進行配對差異檢驗或更普遍的方差分析。 

報告超出其內在精度的數字可能很具有極大的吸引力,因為在與基線進行比較的情況下,或者當人們認為測試集是一成不變的情況下,同時也不是從測試分布中抽取的樣本時,性能數字往往更加重要。當在生產中部署模型時,這種做法會讓人感到驚訝,並且固定的測試集假設突然消失了,還有一些無關緊要的改進。更普遍的是,這種做法會直接導致對測試集進行過擬合。

那麼,在我們的領域中數字為「真」意味著什麼?好吧,這確實很複雜。對於工程師而言,很容易辯稱不應該報告的尺寸超出公差。或者對於物理學家來說,物理量不應超過測量誤差。對於機器學習從業者,我們不僅要應對測試集的採樣不確定性,而且還要應對獨立訓練運行,訓練數據的不同初始化和改組下的模型不確定性。  

按照這個標準,在機器學習中很難確定哪些數字是 "真 "的。解決辦法當然是儘可能地報告其置信區間。置信區間是一種更精細的報告不確定性的方式,可以考慮到所有隨機性的來源,以及除簡單方差之外的顯著性檢驗。它們的存在也向你的讀者發出信號,表明你已經考慮過你所報告的內容的意義,而不僅僅是你的代碼所得到的數字。用置信區間表示的數字可能會被報告得超出其名義上的精度,不過要注意的是,你現在必須考慮用多少位數來報告不確定性,正如這篇博文所解釋的那樣。一路走來都是烏龜。

數字少了,雜亂無章的東西就少了,科學性就強了。

避免報告超出統計學意義的數字結果,除非你為它們提供一個明確的置信區間。這理所當然地被認為是科學上的不良行為,尤其是在沒有進行配對顯著性測試的情況下,用來論證一個數字比另一個數字好的時候。僅憑這一點就經常有論文被拒絕。一個良好的習慣是對報告中帶有大量數字的準確率數字始終持懷疑態度。還記得3000萬、30萬和30萬的經驗法則對最壞情況下作為「嗅覺測試」的統計顯著性所需樣本數量的限制嗎?它會讓你避免追逐統計上的「幽靈」。 

(感謝為本文早期版本提供寶貴意見的一些同事)

雷鋒字幕組是一個由AI愛好者組成的翻譯團隊,匯聚五五多位志願者的力量,分享最新的海外AI資訊,交流關於人工智慧技術領域的行業轉變與技術創新的見解。

團隊成員有大數據專家,算法工程師,圖像處理工程師,產品經理,產品運營,IT諮詢人,在校師生;志願者們來自IBM,AVL,Adobe,阿里,百度等知名企業,北大,清華,港大,中科院,南卡羅萊納大學,早稻田大學等海內外高校研究所。

如果,你也是位熱愛分享的AI愛好者。歡迎與雷鋒字幕組一起,學習新知,分享成長。

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 資料| 機器學習中的數學
    以下書籍介紹來自豆瓣內容簡介 · · · · · ·《機器學習中的數學》是一本系統介紹機器學習中涉及的數學知識的入門圖書,本書從機器學習中的數學入門開始,以展示數學的友好性為原則,講述了機器學習中的一些常見的數學知識
  • 觀點| 我們該如何學習機器學習中的數學
    本文的寫作目的是介紹構建機器學習產品或進行相關學術研究所必需的數學背景,以及數學在工程和研究中的重要性。這些建議是根據我和機器學習工程師、研究者和教育者交流而得到的,當然也有我自己在機器學習研究和業界工作中的個人經驗。為了構建必備的數學背景,我首先提出不同的思維模式和策略,幫助大家在學校之外也可以接受數學教育。
  • 一文介紹機器學習中基本的數學符號
    在機器學習中,你永遠都繞不過數學符號。通常,只要有一個代數項或一個方程符號看不懂,你就完全看不懂整個過程是怎麼回事了。這種境況非常令人沮喪,尤其是對於那些正在成長中的機器學習初學者來說更是如此。如果你能了解一些基本的數學符號以及相關的小技巧,那你就在看懂機器學習方法的論文或書籍描述上前進了一大步。
  • 入門 | 一文介紹機器學習中基本的數學符號
    此外,本文還給出了 5 個當你在理解數學符號遇到困難時可以應急的小技巧。在機器學習中,你永遠都繞不過數學符號。通常,只要有一個代數項或一個方程符號看不懂,你就完全看不懂整個過程是怎麼回事了。這種境況非常令人沮喪,尤其是對於那些正在成長中的機器學習初學者來說更是如此。
  • 417頁《機器學習中的數學》免費開放下載!| 好書分享
    作者 | 陳大鑫近些年來,機器學習領域取得了巨大的發展
  • 機器學習與統計學的爭論,有意義嗎?
    麻省理工Sam Finlayson 博士指出「過去關於機器學習和統計學之間的討論很大程度上沒有切中要害,因為這些討論要麼忽略了歷史背景、要麼『回歸方法』歸屬模稜兩可」,因此這種爭論事實上毫無意義。 另一個被普遍認可的機器學習的定義來自於Tom M.Mitchell 在 1997年出版的教科書,他在書中提到:「機器學習領域涉及如何讓電腦程式通過經驗而自動改進的一類問題」。另外,書中還有一個半正式定義: 對於某類任務 T 和性能度量 P,電腦程式從經驗 E 中學習,然後它在任務 T 中的性能 P 隨著經驗 E 的提高而提高。
  • 人工智慧的意義,機器學習的三種類型
    人工智慧的意義,機器學習的三種類型 隨銳科技 發表於 2020-11-30 09:32:21   據麥肯錫全球研究院的研究,截至2030年,人工智慧每年將額外創造13
  • python利用機器學習推理數學公式
    機器學習之所以可以做到上面的這些事情,因為有很多的數據給他學習,通過這些數據,它就可以總結出經驗來,也就是所謂的模型,直白點說就是一個數學公式。有了數學公式之後,再來預測分類是不是就很簡單了。比如 告訴你一個 數學公式:y=2x-1,然後為你x=100的結果值是多少,帶進去就可以算出來了,2*100-1=199。
  • 機器學習中參數更新規則背後的數學
    在本文中,我們將討論機器學習中參數更新規則背後的數學。我們的目標是找到一種算法,該算法可在任何時間戳下告訴我們如何更改w的值,以使我們在新值下計算的損失小於在當前值下的損失。無論從哪裡開始,如果我們每一步都這樣做,損失一定會減少,最終達到最小值。
  • 機器學習之sklearn中的降維算法
    雖然是入門算法,卻不代表PCA和SVD簡單:下面兩張圖是我在一篇SVD的論文中隨意截取的兩頁,可以看到滿滿的數學公式(基本是線性代數)。要想給大家講明白這些公式,我講完不吐血大家聽完也吐血了。所以今天,我會用最簡單的方式為大家呈現降維算法的原理,但這註定意味著大家無法看到這個算法的全貌,在機器學習中逃避數學是邪道,所以更多原理大家自己去閱讀。
  • 在數據科學領域中,你需要多少數學知識?
    引言如果你有心學習數據科學,那麼你一定會在腦海中想過下面的問題:沒有或者只有很少的數學知識,我能做一個數據科學家嗎?數據科學必需的數學工具有哪些?有很多優秀的包可用於建立預測模型或者數據可視化。然而, 堅實的數學基礎對於修改你的模型讓你的模型性能更好更加可靠來說是十分必要的。建立模型是一回事,解釋模型得出可用於數據驅動的決策的有意義的結論又是另一回事。用這些包之前,理解每個包中的數學原理是很重要的。因為這樣你才不是簡單地只是把這些包作為一個黑盒來使用。II. 案例學習:建立多重回歸模型假設我們要建立一個多重回歸模型。
  • Nature撰文表明哥德爾不完備性定理也適用於機器學習領域
    二十世紀,數學邏輯的發現徹底改變了我們對數學基礎的理解。1931年,邏輯學家哥德爾( Kurt Gdel)證明,在可比擬算術的公理系統中,一些陳述是不可證偽的。這就是著名的哥德爾不完備性定理。連續統機器學習領域,似乎遠離數理邏輯,但最近本-大衛(Ben-David)等人發現了一個機器學習中的問題,它與連續統假說等價,表明機器學習中也存在不可證偽的算法。
  • VGGNet vs ResNet:機器學習中的梯度消失問題
    這是人工智慧和機器學習領域的一個常見面試問題。雖然答案可以在網上找到,但一直還沒能找到一個簡明扼要的答案。我們將從什麼是VGGNet開始,然後看看VGGNet遇到了什麼問題,以及ResNet如何解決它。VGGNetVGG代表Visual Geometry Group(牛津大學的一組研究人員開發了這個架構)。VGG架構由塊組成,每個塊由2D卷積和最大池化層組成。
  • 資料| 1800頁33章數學方法精要筆記 —深入數學建模, 機器學習和...
    相信有許多所有對數學建模,機器學習和深度學習深感興趣的小夥伴,有一定的基礎卻常常被繁雜的定理和錯綜的模型所困 —— 那麼這本書就是一部可供隨時查閱,幫助大家融會貫通的寶典。本書有以下幾大亮點:a. 全書乾貨多覆蓋範圍廣, 包含~100 個核心算法, 約 300 個示意圖。例子豐富,且絕大部分定理都有證明。b.
  • 如何入門Python與機器學習
    本文打算先談談機器學習相關的一些比較寬泛的知識,再介紹並說明為何要使用Python來作為機器學習的工具。最後,我們會提供一個簡短易懂的、具有實際意義的例子來給大家提供一個直觀的感受。  機器學習常用術語  機器學習領域有著許多非常基本的術語,這些術語在外人聽來可能相當高深莫測。它們事實上也可能擁有非常複雜的數學背景,但需要知道:它們往往也擁有著相對淺顯平凡的直觀理解(上一小節的假設空間和泛化能力就是兩個例子)。本小節會對這些常用的基本術語進行說明與解釋,它們背後的數學理論會有所闡述,但不會涉及過於本質的東西。
  • 教你學Python40-機器學習的兩大方向
    您是否看過一些經驗豐富的機器學習專家的反饋,為您免費獲得有關入門的免費建議?我一直在搜索並閱讀此建議,有些建議很好,很多則不是。我在下面收集了一些樣本:學習機器學習需要哪些數學技能?您絕對需要熟悉基本的線性代數(處理向量和矩陣)並使用對數和指數函數。如果您希望事情變得「簡單」,則需要通過特徵向量來了解線性代數。紮實的數學知識是掌握ML的必備條件嗎?
  • 機器學習中的忒修斯之船:那些「愚弄」專家的著名悖論
    機器學習模型中的著名悖論作為基於數據的任何知識構建形式,機器學習模型都不能排除認知悖論。恰恰相反,當機器學習試圖推斷隱藏在訓練數據集中的模式,並根據特定環境驗證其知識時,它們總是容易受到自相矛盾的結論的影響。
  • 機器學習:Python中的四種機器學習技巧
    機器學習技術與算法眾所周知,機器學習是技術和算法的結合。但在開始關注技術和算法之前,讓我們看看它們是否是同一個東西。技術是解決問題的一種方法,這是一個非常通用的術語。 但是,當我們說我們有一個算法時,意思是我們有一個輸入,並希望從中得到一定的輸出,明確規定了實現目標的步驟。
  • 入門| 機器學習中常用的損失函數你知多少?
    本文將介紹幾種損失函數及其在機器學習和深度學習領域的應用。沒有一個適合所有機器學習算法的損失函數。針對特定問題選擇損失函數涉及到許多因素,比如所選機器學習算法的類型、是否易於計算導數以及數據集中異常值所佔比例。從學習任務的類型出發,可以從廣義上將損失函數分為兩大類——回歸損失和分類損失。
  • 從零開始的人工智慧和機器學習,該從哪裡入手呢?
    圖源:Unsplash小芯的朋友準備一起創建一家網絡公司,不過後來因懷疑其意義而中途放棄了。但在此過程中,他開始聽到越來越多有關機器學習和人工智慧的消息。「電腦在為你學習?」真不敢相信。所有的學習方式都有自己存在的理由與意義。從動機開始,是因為開始的理由比方式更重要。知道理由意味著事情變得困難時可以有所依靠,它能提醒你為什麼開始。找到動機了嗎?很好。那麼是時候學習一些很難的技能了。