機器學習 # 為什麼機器學習要求資料是獨立同分布的?

真·skysys發表於2020-11-26
  • 先修知識:《概率論與數理統計》

隨機過程 Stochastic Process

隨機過程,是依賴於引數的一組隨機變數的全體,引數通常是時間。隨機變數是隨機現象的數量表現,其取值隨著偶然因素的影響而改變。例如,某商店在從時間t0到時間tK這段時間內接待顧客的人數,就是依賴於時間t的一組隨機變數,即隨機過程。

劃重點: 注意品一下“一組隨機變數”這裡的“一組”的含義。

數學上的隨機過程可以簡單的定義為一組隨機變數,即指定一引數集,對於其中每一引數點t指定一個隨機變數x(t)。如果回憶起隨機變數自身就是一個函式,以ω表示隨機變數x(t)的定義域中的一點,並以x(t,ω)表示隨機變數在ω的值,則隨機過程就由剛才定義的點偶(t,ω)的函式以及概率的分配完全確定。如果固定t,這個二元函式就定義一個ω的函式,即以x(t)表示的隨機變數。如果固定ω,這個二元函式就定義一個t的函式,這是過程的樣本函式。

Ref:

  1. https://baike.baidu.com/item/%E9%9A%8F%E6%9C%BA%E8%BF%87%E7%A8%8B/368895
  2. https://www.zhihu.com/question/26694486/answer/349872296
  3. https://zh.wikipedia.org/wiki/%E9%9A%8F%E6%9C%BA%E8%BF%87%E7%A8%8B

獨立同分布 Independent and identically distributed (i.i.d.)

在概率統計理論中,指隨機過程中,任何時刻的取值都為隨機變數,如果這些隨機變數服從同一分佈,並且互相獨立,那麼這些隨機變數是獨立同分布。如果隨機變數X1和X2獨立,是指X1的取值不影響X2的取值,X2的取值也不影響X1的取值且隨機變數X1和X2服從同一分佈,這意味著X1和X2具有相同的分佈形狀和相同的分佈引數,對離隨機變數具有相同的分佈律,對連續隨機變數具有相同的概率密度函式,有著相同的分佈函式,相同的期望、方差。如實驗條件保持不變,一系列的拋硬幣的正反面結果是獨立同分布。

關於獨立同分布,西瓜書這樣解釋道:輸入空間中的所有樣本服從一個隱含未知的分佈,訓練資料所有樣本都是獨立地從這個分佈上取樣而得。

機器學習並不總是要求資料同分布。在不少問題中要求樣本(資料)取樣自同一個分佈是因為希望用訓練資料集訓練得到的模型可以合理用於測試集,使用同分布假設能夠使得這個做法解釋得通。
由於現在的機器學習方向的內容已經變得比較廣,存在不少機器學習問題並不要求樣本同分布,比如一些發表在機器學習方向上的online演算法就對資料分佈沒啥要求,關心的性質也非泛化性。

Ref:

  1. https://blog.csdn.net/frbevrqbn4l/article/details/79372973
  2. https://blog.csdn.net/frbevrqbn4l/article/details/79372973
  3. 西瓜書?
  4. https://www.zhihu.com/question/41222495/answer/103004055

不需要i.i.d假設的機器學習/深度學習方法

參考以及轉載自 若DL沒了獨立同分布假設,樣本不獨立的機器學習方法綜述

現有的機器學習任務預設訓練資料遵循獨立同分布 (idependently and identically distributed, IID),神經網路、深度學習等常見演算法一般都將資料遵循 IID 的假設作為其推導的一部分。
然而,在真實世界中樣本**資料相關性(inter-dependent)**幾乎無處不在,非同源資料/標籤的分佈也可能具有不同的概率分佈,這些資料都遵循非獨立、同分布(Non-IID)。
在一些場景中,直接應用已有機器學習演算法基於 Non-IID 資料完成模型訓練,由於演算法本身的先進性訓練結果仍然較好。但對於某些應用場景,基於現有的機器學習演算法和框架,使用 Non-IID 資料訓練會出現意想不到的負面效果,比如模型準確度低、模型無法收斂等。
比較常見的需要處理 Non-IID 資料問題的應用場景包括:

  • 異常檢測(Outlier Detection)。訓練樣本資料中存在的異常值(例如人臉識別中的眼鏡、頭髮遮擋等),會在估計過程中引入較大方差。傳統機器學習演算法一般通過擴大樣本資料集來解決這一問題。但當異常值以及樣本資料存在系統性相關性時,會在估計過程中引入系統性偏移。這種情況下即使增加樣本資料,也無法解決該問題。
  • 生物醫學應用(Medical Data)。在醫學影像處理中,一些病變結構(例如肺中的附壁結節)在影像中空間位置相近,因此候選迭代演算法(Candidate generation, CG)的計算結果將這些病變結構都指向同一潛在生理區域(例如同一肺結節)。其他型別的病變結構(例如非附壁結節)由於 CG 演算法存在估計偏差,可能由於具有相似的基礎特徵也被指向該區域。也就是說,如果我們簡單地將所有資料視為來自 IID 資料來源的資料,則疾病潛在結構原因的發生頻率和其他統計特性將可能存在系統性地改變。因此,在利用醫學影像輔助疾病診斷的機器學習演算法中由於 Non-IID 資料存在系統性偏差,即使提供大量的訓練資料,也無法解決偏差帶來的問題。
  • 聯邦學習 (Federated Learning)。在聯邦學習的應用場景中,各個裝置上的資料是由裝置/使用者獨立產生的,不同裝置/使用者的非同源資料具有不同的分佈特徵,而每一個裝置在進行本地學習的時候,所學習的訓練資料是 Non-IID 的。因此研究提升 Non-IID 資料的學習效率,對於聯邦學習具有重要意義。聯邦學習允許使用者在不需要集中儲存資料的情況下,從本地儲存的資料中共同獲得共享模型的好處。客戶端的本地資料通常基於特定使用者對移動裝置的使用,因此任何特定使用者的本地資料集都不能代表總體分佈。

近年來,針對 Non-IID 資料的機器學習演算法以及聯邦學習、醫學資料分析等的應用文章越來越多,本文選擇其中有代表性的五篇進行方法和應用情況的分析。包括:

《Learning Classifiers When The Training Data Is Not IID》主要解決經典統計分析進行分類器預測過程中針對 Non-IID 資料的處理方法

《Communication-Efficient Learning of Deep Networks from Decentralized Data (http://arxiv.org/abs/1602.05629)》為解決聯邦學習中 Non-IID 資料問題,提出一種基於迭代模型平均的深層網路聯合學習方法(Federated Averaging,FedAvg)

《Federated Learning with Non-IID Data》是針對(2)的分析和改進,使用客戶端資料分佈和中央伺服器資料總體分佈之間的土方運距 (earth mover』s distance, EMD) 計算權重散度,同時提出了一種資料共享(Data-Sharing)策略改進 FedAvg 的效能

《On the Convergence of FedAvg on Non-IID Data》重點討論聯邦學習問題中 FedAvg 在處理 Non-IID 資料時的收斂性問題,從理論角度證明了 FedAvg 的有效性

《LoAdaBoost:Loss-Based AdaBoost Federated Machine Learning on medical data》基於 FedAvg 和資料共享策略提出了一種針對醫學資料的提高聯邦學習效率的自適應增強方法

詳見原文~

相關文章