1. 程式人生 > >統計學習方法——模型的選擇與評估(過擬合、泛化能力)

統計學習方法——模型的選擇與評估(過擬合、泛化能力)

參考書目及論文:《統計學習方法》——李航、A Tutorial on Support Vector Machine for Pattern Recognition

監督學習的目的是找到一個輸入輸出對映(模型),使得這個模型不僅對訓練資料有很好的擬合能力,對於未知資料,它也有很好的預測能力。這篇部落格介紹選擇和評估模型的標準。本篇部落格一共有以下幾個重點:訓練誤差與測試誤差、泛化能力、過擬合。

訓練誤差與測試誤差

訓練誤差是模型關於訓練集的平均損失來表示:


其中為訓練集中資料的個數;損失函式在上一篇部落格:統計學三要素中有介紹,同時我們可以看到,訓練誤差也就是該篇文章所提到的經驗損失函式。訓練誤差的大小,可以說明問題是不是一個容易學習的問題。

測試誤差是模型關於測試集資料的平均損失:


其中為測試集中資料的個數。測試誤差反應了學習模型對於未知的測試集中資料的預測能力。由於測試誤差只是表徵了對於測試集中資料的預測能力,我們可以更一般的引申一下,由此引入了模型對於所有未知資料預測能力——泛化能力。

泛化能力

泛化誤差

泛化能力用來表徵學習模型對於未知資料的預測能力。

很顯然,我們沒有辦法對所有的資料進行預測然後判斷來計算一個模型的模型的泛華能力,所以在實際應用當中,我們一般還是用的測試集中的資料來近似泛化能力。

但是,我們大統計學習也在理論上試圖對學習方法的泛化能力進行了分析,首先給出泛化誤差的定義:


泛化誤差越小,學習模型的泛化能力越好。可以看到,泛化誤差實際上就是

統計學三要素這篇部落格中介紹的風險函式。由上篇部落格我們可知,泛化誤差(風險函式)不可計算。那麼,我們該如何來衡量泛化能力呢?下面將介紹泛化誤差上界。

泛化誤差上界

對於二分類問題,當假設空間是有限個函式組成的集合時,對假設空間裡的任意一個函式,存在一個滿足,至少以概率,下面的不等式成立:


(這個公式是我綜合書和論文自己推導的,如果有問題,請批評指正。)

(需要注意的是,是先有有限個函式組成的假設空間,才有後面的這個式子,具體推導過程見:細(戲)說vc維)

其中:為VC維。VC維反應了模型的複雜程度,VC維越大,模型越是複雜。

對於泛化上界,有三個關鍵點:

1.泛化上界與無關,它只假定訓練集合測試集都是獨立的根據服從某一個

分佈。

//關於上面的這個,其實我是不認同的。我認為在計算平均損失函式時,由於其中用到的損失函式中包含了服從分佈的點,所以我並不認為泛化誤差上界是independent of 

2.我們呢,基本上不可能算出等式的左邊,也就是風險函式

3.但是呢,如果我們知道了,我們就可以算出右邊。

基於以上三點,這就跟我們提供了一個方法,我們既然算不了左邊的風險函式,那麼我們可以選擇使得右邊最小的模型。

關於泛化上界的證明,如有興趣請看:泛化上界的證明

過擬合

前面我們介紹了訓練誤差和測試誤差的概念。如果我們在學習模型的時候,一味的最小化訓練誤差,所選的模型的複雜度可能會很高,這種現象稱為過擬合。出現過擬合的原因是因為訓練集中的資料本身就存在有噪聲,一味的追求訓練誤差的最小化,會導致對未知資料的預測能力降低。它一般表現在引數過多的模型上。我們在選擇模型的時候注意避免過擬合,並且提高模型的預測能力。畢竟學習模型的最終目的還是針對對未知資料的預測。

T^T(個人覺得對過擬合的闡述很不清楚,好想抽不擅長表達的自己一巴掌)

相關推薦

統計學習方法——模型選擇評估泛化能力

參考書目及論文:《統計學習方法》——李航、A Tutorial on Support Vector Machine for Pattern Recognition 監督學習的目的是找到一個輸入輸出對映(模型),使得這個模型不僅對訓練資料有很好的擬合能力,對於未知資料,它也

正則化方法/防止提高泛化能力方法:L1和L2 regularization資料集擴增dropout

正則化方法:防止過擬合,提高泛化能力 在訓練資料不夠多時,或者overtraining時,常常會導致overfitting(過擬合)。其直觀的表現如下圖所示,隨著訓練過程的進行,模型複雜度增加,在training data上的error漸漸減小,但是在驗證集上的e

機器學習學習筆記-模型選擇評估

緒論 模型評估與選擇(3) 線性模型 決策樹 神經網路 支援向量機 貝葉斯分類 整合學習 聚類 降維與度量學習 特徵選擇與稀疏學習 計算學習理論 半監督學習 概率圖模型 規則學習 強化學習 模型評估與選擇 2.1經驗誤差與過擬合 錯誤率:分類錯誤的樣本數

統計學習方法——模型問題分類

0. 寫在前面 在這一講中,我們主要介紹一下模型的類別以及問題的類別,並對課後習題進行相應的分析。 1. 模型的型別 我們知道,統計學習主要包括監督學習、非監督學習、半監督學習和強化學習。那麼在統計學習方法一書中主要涉及的是監督學習。而監督學習主要分為

線性迴歸4線性區域性線性實戰---機器學習

前面三節,我們從最簡單的一元線性迴歸到多元線性迴歸,討論了,損失函式到底由那幾部分組成(這點我覺很重要,因為它不僅僅存線上性迴歸中還存在其他機器學習中,因此有必要搞明白他,有興趣的請看這篇文章),後面詳細討論了多元線性迴歸,主要介紹了多元線性迴歸的共線性問題,為了解決共線性問題引出了嶺迴歸,然而

過渡動畫animate.css庫動畫原理

## 一、使用animate.css庫 ## Vue 在插入、更新或者移除 DOM 時,提供多種不同方式的應用過渡效果。 在 CSS 過渡和動畫中自動應用 class 可以配合使用第三方 CSS 動畫庫,如 Animate.css 在過渡鉤子函式中使用 J

泛化能力訓練集測試集K折交叉驗證假設空間正則化L1正則化L2正則化超引數

泛化能力(generalization): 機器學習模型。在先前未觀測到的輸入資料上表現良好的能力叫做泛化能力(generalization)。 訓練集(training set)與訓練錯誤(training error): 訓練機器學習模型使用的資料集稱為訓練集(tr

降低模型“欠”風險的方法

過擬合:指模型對於訓練資料擬合呈過當的情況,反映到評估指標上,是模型在訓練集上表現很好,但在測試集和新資料上表現較差,在模型訓練過程中,表現為訓練誤差持續下降,同時測試誤差出現持續增長的情況。 欠擬合:指模型對於訓練資料擬合不足的情況,表現為模型在訓練集和測試集表現都不好。 如

【機器學習正則化

過擬合(over-fitting) 在演算法對模型引數的學習過程中,如果模型過於強大,比如說,樣本空間分佈在一條直線的附近,那麼我們的模型最好是一條直線, h

梯度爆炸梯度消失等問題的原因大概解決方法

1、欠擬合:是一種不能很好擬合數據的的現象。   導致結果:其會導致網路的訓練的準確度不高,不能很好的非線性擬合數據,進行分類。    造成原因:這種現象很可能是網路層數不夠多,不夠深,導致其非線性不夠好。從而對於少量樣本能進行很好的擬合,而較多樣本無法很好的擬合。其實,現

TensorFlow之tf.nn.dropout():防止模型訓練過程中的問題

AC -- 輸出 array 全連接 spa () 激活 odin 一:適用範圍:   tf.nn.dropout是TensorFlow裏面為了防止或減輕過擬合而使用的函數,它一般用在全連接層 二:原理:   dropout就是在不同的訓練過程中隨機扔掉一部分神經元。也就是

Bobo老師機器學習筆記第八課-如何防止和欠

問題一、什麼是過擬合和欠擬合? 首先擬合是一個統計學概念,它表示所求函式逼近目標函式的遠近程度。應用的機器學習中,就是我們所求的函式與未知的對映函式之間的相似度。如何求得函式引數與潛在的函式引數越逼近,說明效果越好。  假設我們用上篇部落格中的資料,原始碼可以見上文: 通

【TensorFlow】正則化問題

轉載自:https://www.cnblogs.com/linyuanzhou/p/6923607.html,尊重原創 tf.add_to_collection:把變數放入一個集合,把很多變數變成一個列表 tf.get_collection:從一個結合中取出全部變數,是一個列表 tf.add_n:把一個列表

ML基礎教程:泛化正規化最小二乘法

泛化與過擬合 olympval.m Load the Olympic data and extract the training and validation data load data/olympics x = male100(:,1); t

79tensorflow計算一個五層神經網路的正則化損失係數防止網路正則化的思想就是在損失函式中加入刻畫模型複雜程度的指標

''' Created on Apr 20, 2017 @author: P0079482 ''' import tensorflow as tf #獲取一層神經網路邊上的權重,並將這個權重的L2正

[一起面試AI]NO.5正則化是什麼?

Q1 過擬合與欠擬合的區別是什麼,什麼是正則化 欠擬合指的是模型不能夠再訓練集上獲得足夠低的「訓練誤差」,往往由於特徵維度過少,導致擬合的函式無法滿足訓練集,導致誤差較大。 過擬合指的是模型訓練誤差與測試誤差之間差距過大;具體來說就是模型在訓練集上訓練過度,導致泛化能力過差。 「所有為了減少測試誤差的策略統稱

自己動手實現深度學習框架-3 自動分批訓練, 緩解

程式碼倉庫: https://github.com/brandonlyg/cute-dl 目標 為Session類增加自動分批訓練模型的功能, 使框架更好用。 新增緩解過擬合的演算法: L2正則化, 隨機丟棄。 實現自動分批訓練 設計方案 增加Dataset類負責管理資料集, 自動對資料分批。 在Ses

深度學習問題及解決方案

  在進行資料探勘或者機器學習模型建立的時候,因為在統計學習中,假設資料滿足獨立同分布(i.i.d,independently and identically distributed),即當前已產生的資料可以對未來的資料進行推測與模擬,因此都是使用歷史資料建立模型,即使用已經產生的資料去訓練,然後使用該模型去

統計學習方法李航》邏輯斯蒂迴歸最大熵模型學習筆記

作者:jliang https://blog.csdn.net/jliang3   1.重點歸納 1)線性迴歸 (1)是確定兩種或以上變數間相互依賴的定量關係的一種統計分析方法。 (2)模型:y=wx+b (3)誤差函式: (4)常見求解方法 最小

李航·統計學習方法筆記·第6章 logistic regression最大熵模型1·邏輯斯蒂迴歸模型

第6章 logistic regression與最大熵模型(1)·邏輯斯蒂迴歸模型 標籤(空格分隔): 機器學習教程·李航統計學習方法 邏輯斯蒂:logistic 李航書中稱之為:邏輯斯蒂迴歸模型 周志華書中稱之為:對數機率迴歸模