學習筆記——為什麼機器能進行學習和預測?
通過簡單的泛化誤差上界的證明,說明機器能進行學習和預測的基本原理。
直觀的理解
在有限的訓練資料中得到一個規律,認為總體也是近似這個規律的,那麼就能用這個規律進行預測。比如一個大罐子裡裝滿了紅球和白球,各一半,我隨手抓了一把,然後根據這些紅球白球的比例預測整個罐子也是這樣的比例,這樣做不一定很準確,但結果總是近似的,而且如果抓出的球越多,預測結果也就越可信。
上面的例子可以簡單直觀地理解一下預測的原理,其實還可以通過統計的方法對這個近似(用區域性的規律近似總體的規律)的可信度進行概率分析。
將問題描述成更數學的形式:
- 損失函式(loss function)或者代價函式(cost function)度量預測錯誤的程度,記作\(L(Y,f(x))\)
- 期望損失(expected loss),即平均意義下的損失:
\[R_{exp}(f)=E_p[L(Y,f(X))]=\int_{\mathcal{X}\times \mathcal{Y}}L(y,f(x))P(x,y)dxdy\] - 經驗損失(empirical loss),是關於訓練資料集的平均損失:
\[R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))\] - 根據大數定理,樣本容量\(N\)趨近無窮時,經驗風險趨近於期望風險:\(R_{emp}(f)\approx R_{exp}(f)\),也就是說:如果模型在訓練樣本中的期望風險很小,那麼它也能使得期望風險很小。
- 但是當樣本容量\(N\)不是無窮大的時候怎麼辦?
泛化誤差上界(定理):
對二分類問題,當假設空間是有限個函式集合\(\mathcal F=\left \\{ f_1,f_2,\cdot \cdot \cdot ,f_d \right \\}\)時,對任意一個函式\(f\in \mathcal F\),至少以概率\(1-\sigma\),以下不等式成立:
\[R(f)\leqslant \hat{R}(f)+\varepsilon (d,N,\delta )\]
其中,
\[\varepsilon (d,N,\delta )=\sqrt{\frac{1}{2N}\left ( \log d+\log\frac{1}{\delta } \right )}\]
不等式左端\(R(f)\)是泛化誤差,右端為泛化誤差上界。泛化誤差上界中,第一項是訓練誤差,訓練誤差越小,泛化誤差也越小。第二項\(\varepsilon (d,N,\delta )\),\(N\)越大,值越小,假設空間\(\mathcal F\) 包含的函式越多,值越大。
這個定理可以從概率上說明使用經驗風險近似期望風險的可信度,它與樣本數量以及假設空間的複雜度有關。
上述定理可通過Hoeffding不等式來證明:
Hoeffding不等式:
Hoeffding不等式適用於有界的隨機變數。設有兩兩獨立的一系列隨機變數\(X_1,...,X_n\)。假設對所有的\(1\leqslant i\leqslant n\),\(X_i\)都是幾乎有界的變數,即滿足\(\mathbb{P}(X_i\in\left [ a_i,b_i \right ])=1\),那麼這\(n\)個隨機變數的經驗期望:\(\bar{X}=\frac{X_1+\cdot \cdot \cdot +X_n}{n}\)滿足以下不等式:
$$\mathbb{P}(\bar{X}-\mathbb{E}\left [ \bar{X} \right ]\geq t)\leq\exp (-\frac{2t^2n^2}{\sum _{i=1}^n(b_i-a_i)^2})$$
$$\mathbb{P}(\left |\bar{X}-\mathbb{E}\left [ \bar{X} \right ] \right |\geq t)\leq 2\, exp (-\frac{2t^2n^2}{\sum _{i=1}^n(b_i-a_i)^2})$$
對任意函式\(f\in \mathcal F\),\(\hat {R}(f)\) 是\(N\)個獨立隨機變數\(L(Y,f(X))\)的樣本均值(經驗期望),\(R(f)\)是期望,如果損失函式取之區間為[0, 1],則根據上述Hoeffding不等式,得到:
\[P(R(f)-\hat{R}(f)\geqslant \varepsilon )\leqslant \exp (-2N \epsilon ^2)\]
由於$\mathcal F =\left \{ f_1,f_2,...,f_d \right \} $是一個有限集合,容易得到:
\[P(R(f)-\hat{R}(f)\geqslant \varepsilon )\leqslant d \exp (-2N \epsilon ^2)\]
令
\[\delta =d \exp(-2N\varepsilon ^2)\]
然後就得到了:
\[P(R(f)< \hat{R}(f)+ \varepsilon )\geqslant 1-\delta\]
上面的討論只是假設空間包含有限個函式的情況下的泛化誤差上界,對於一般的假設空間要找到泛化誤差界應該就沒這麼簡單了。
相關推薦
學習筆記——為什麼機器能進行學習和預測?
通過簡單的泛化誤差上界的證明,說明機器能進行學習和預測的基本原理。 直觀的理解 在有限的訓練資料中得到一個規律,認為總體也是近似這個規律的,那麼就能用這個規律進行預測。比如一個大罐子裡裝滿了紅球和白球,各一半,我隨手抓了一把,然後根據這些紅球白球的比例預測整個罐子也是這樣的比例,這樣做不一定很準確,但結
機器學習筆記(二)矩陣和線性代數 例:用Python實現SVD分解進行圖片壓縮
線性代數基本只要是理工科,都是必修的一門課。當時學習的時候總是有一個疑惑,這個東西到底是幹嘛用的?為什麼數學家發明出這麼一套方法呢,感覺除了解方程沒發現有什麼大用啊!但隨著學習的深入,慢慢發現矩陣的應
[吳恩達機器學習筆記]15非監督學習異常檢測7-8使用多元高斯分布進行異常檢測
進行 平均值 info 錯誤 blog 占用 ron 關系 http 15.異常檢測 Anomaly detection 覺得有用的話,歡迎一起討論相互學習~Follow Me 15.7-8 多變量高斯分布/使用多元高斯分布進行異常檢測 -Multivariate Gaus
機器學習學習筆記 --- 標稱型資料和數值型資料
【標稱型資料和數值型資料】 監督學習一般使用兩種型別的目標變數:標稱型和數值型 標稱型:一般在有限的資料中取,而且只存在‘是’和‘否’兩種不同的結果(一般用於分類) 數值型:可以在無限的資料中取,而且數值比較具體化,例如4.02,6.23這種值(一般用於迴歸分析) 監督學習中的分
深入理解Java虛擬機器學習筆記3-執行緒安全和鎖優化
併發處理是壓榨計算機運算能力最有力的工具。 1.執行緒安全 當多個執行緒訪問一個物件時,如果不用考慮這些執行緒執行時環境下排程和交替執行,也不需要進行額外的同步,或者在呼叫方進行任何其他的協調操作,呼叫這個物件的行為都可以獲取正確的結果,那麼這個物件是執行緒安全的。 2
機器學習筆記(十一)特徵選擇和稀疏學習
建議檢視原貼 轉載只是為了方便複習,查詢 11.特徵選擇和稀疏學習 11.1子集搜尋與評價 物件都有很多屬性來描述,屬性也稱為特徵(feature),用於刻畫物件的某一個特性。對一個學習任務而言,有些屬性是關鍵有用的,而有些屬性則可能不必要納入訓練資料。對當前學習任務
機器學習筆記之簡化成本函式和梯度下降
Simplified Cost Function and Gradient Descent Note: [6:53 - the gradient descent equation should have a 1/m factor] We can compress our c
吳恩達機器學習 學習筆記 之 一 監督學習和無監督學習
一、 1-1 welcome 1-2 什麼是機器學習——Machine Learning 機器學習尚無明確定義,現有的定義有: (1)Field of study that gives computers the ability to learn about being
斯坦福大學機器學習筆記——機器學習系統設計(誤差分析、查全率和查準率、F1值)
這次部落格我們主要討論機器學習系統設計的主要問題,以及怎樣巧妙的構建一個複雜的機器學習系統。 我們先用一個例子引入機器學習系統的設計: 以一個垃圾郵件分類器演算法為例: 對於該問題,我們首先要做的是怎樣選擇並且表達特徵向量x。我們可以選擇100個詞所構
機器學習筆記3-拆分資料集和訓練集
拆分資料集和訓練集 from sklearn import cross_validation # for version 0.17 # For version 0.18 # from sklearn
10個機器學習人工智能開發框架和AI庫(優缺點對比表)/貪心學院
stat 項目 高度 新的 f11 計算 深度 就是 能開 概述 通過本文我們來一起看一些用於人工智能的高質量AI庫,它們的優點和缺點,以及它們的一些特點。 人工智能(AI)已經存在很長時間了。然而,由於這一領域的巨大進步,近年來它已成為一個流行語。人工智能曾經被稱為一
Spark學習筆記——泰坦尼克生還預測
cti build case model 學習筆記 classes gre dict path package kaggle import org.apache.spark.SparkContext import org.apache.spark.SparkConf i
bootstrap 學習筆記(5)---- 圖片和響應式工具
-h thumb ima ble resp 圓角 rim ucc spl (一)響應式圖片: 在 Bootstrap 版本 3 中,通過為圖片添加 .img-responsive 類可以讓圖片支持響應式布局。其實質是為圖片設置了 max-width: 100%;、 heig
python學習筆記--Paramiko模塊安裝和使用(轉)
lib64 報錯 再次 ref html 學習筆記 warn command sta 首先安裝依賴 yum -y install gcc 1 安裝 pycrypto wget http://ftp.dlitz.net/pub/dlitz/crypto/pycr
Halcon學習筆記——機器視覺應用工程開發思路及相機標定
助手 創建模板 建模 visio open 這一 目的 傅裏葉變換 綁定 機器視覺應用工程開發思路 機器視覺應用工程主要可劃分為兩大部分,硬件部分和軟件部分。 1.硬件部分,硬件的選型至關重要,決定了後續工作是否可以正常開展,其中關鍵硬件部
C++ Primer 學習筆記與思考_7 void和void*指針的使用方法
能夠 amp space turn begin member use mem urn (一)void的含義 void的字面意思是“無類型”,void差點兒僅僅有“凝視”和限制程序的作用,由於從來沒有人會定義一個void變量,讓我們試著來定義: void a;
Java基礎學習筆記二十七 DBUtils和連接池
ride 基本 代碼塊 ear 不同 一行 ria 靜態方法 ... DBUtils 如果只使用JDBC進行開發,我們會發現冗余代碼過多,為了簡化JDBC開發,本案例我們講采用apache commons組件一個成員:DBUtils。DBUtils就是JDBC的簡化開發工
Effictive Java學習筆記1:創建和銷毀對象
安全 需要 () 函數 調用 bsp nbsp bean 成了 建議1:考慮用靜態工廠方法代替構造器 理由:1)靜態方法有名字啊,更容易懂和理解。構造方法重載容易讓人混淆,並不是好主意 2)靜態工廠方法可以不必每次調用時都創建一個新對象,而公共構造函數每次調用都會
Android學習筆記---使用adb進行root時提示devices offline
ces lin sdn adb blog 筆記 重復 root net 今天下午的時候莫名其妙的adb root就連接不上了,提示devices offline這個錯誤,重啟了幾次設備,還是不行 最後利用百度在 http://blog.csdn.net/BruceHurri
ROS學習筆記_編寫客戶端和服務器(service and client)_C++(五)
ber bsp 客戶端 service ++ 參考 subscribe 編寫 client 註意要區分service、client和publisher、subscriber這兩組概念的區別。 先占坑。。。 參考鏈接:Writing a Simple Serv