1. 程式人生 > >機器學習筆記(二)L1,L2正則化

機器學習筆記(二)L1,L2正則化

2.正則化

2.1 什麼是正則化?

這裡寫圖片描述

(截自李航《統計學習方法》)

常用的正則項有L1,L2等,這裡只介紹這兩種。

2.2 L1正則項

L1正則,又稱lasso,其公式為:

L1=αkj=1|θj|

特點:約束θj的大小,並且可以產生稀疏性

[問題] : 為什麼L1正則可以產生稀疏性?

  1. 從圖形上理解,L1正則的實質,相當於約束了θ的絕對值之和的大小。將這個約束條件,轉化到解空間中,就是一個有角圖形。對於這個有角圖形,當我們求解時,會有更大機率去接觸到角。而角就代表著,座標軸上的交點,有的模型引數為0,也就是模型引數對於的這個特徵被淘汰。
    這裡寫圖片描述

  2. 從貝葉斯的角度看,

    θ=argmax(p(θ|D))=argmax(p(D|θ)p(θ)p(D))=argmax(p(D|θ)p(θ))

    p(D|θ)=mn=1p(Dn|θ) p(θ)=ci=1dj=1p(θij)

    對p(D|θ)p(θ)取對數得:

    θ=argmax(mn=1ln(p(D|θ))+ln(p(θ))

    假設θij滿足laplace分佈, 則p(θij)=12bexp{|θijμ|b}

    θ=argmax(mn=1ln(p(D|θ))+ci=1dj=1ln(p(θij))=argmax(mn=1ln(p(D|θ))+ci=1dj=1

    θijb)=argmax(mn=1ln(p(D|θ))+1bci=1dj=1θij)

可以看到,加上正則項L1,在貝葉斯的角度上,等同於對θ假設一個先驗分佈為拉普拉斯分佈。

而拉普拉斯分佈如圖:
這裡寫圖片描述

由上可知,當μ=0時,它在0的概率最大,尾部較正態分佈更平坦。表示它更傾向於去使θij等於0,因而產生稀疏解。

(因此,在SBMLR演算法中,也是採用了L1正則項,來實現特徵稀疏性)

2.3 L2正則項

L2正則,又稱ridge,其公式為:

L2=αci=1dj=1(θij)2

特點:約束θij的大小,使之儘可能小。

[問題]: 為什麼L2沒有傾向產生稀疏解?

  1. 從圖形上,見L1正則項圖形那張圖。L2約束條件在解空間中沒有角,因而更傾向於約束其值的大小,而不是使其值為0。

  2. 從貝葉斯的角度,L2相當於給θ一個先驗分佈為高斯分佈。

    p(θij)=12πσexp{(θijμ)22σ2}

    相關推薦

    機器學習筆記L1L2

    2.正則化 2.1 什麼是正則化? (截自李航《統計學習方法》) 常用的正則項有L1,L2等,這裡只介紹這兩種。 2.2 L1正則項 L1正則,又稱lasso,其公式為: ​ L1=α∑kj=1|θj| 特點:約束θj的大小,並且可以產

    深入剖析迴歸L1L2梯度下降

    一、迴歸問題的定義 迴歸是監督學習的一個重要問題,迴歸用於預測輸入變數和輸出變數之間的關係。迴歸模型是表示輸入變數到輸出變數之間對映的函式。迴歸問題的學習等價於函式擬合:使用一條函式曲線使其很好的擬合已知函式且很好的預測未知資料。 迴歸問題分為模型的學習和預測兩個

    機器學習筆記矩估計極大似然估計

    1.引數估計:矩估計 樣本統計量 設X1,X2…Xn…為一組樣本,則 - 樣本均值 : X¯¯¯=1n∑i=1nXi - 樣本方差:S2=1n−1∑i=1n(Xi−X¯¯¯

    Java學習筆記-------StringStringBufferStringBuilder區別以及映射到的同步異步相關知識

    ringbuf 等待 java學習筆記 java學習 單線程 回復 改變 hashtable ble 1. String是不可變類,改變String變量中的值,相當於開辟了新的空間存放新的string變量 2. StringBuffer 可變的類,可以通過append方法改

    模式識別與機器學習筆記機器學習的基礎理論

    機器學習是一門對數學有很高要求的學科,在正式開始學習之前,我們需要掌握一定的數學理論,主要包括概率論、決策論、資訊理論。 一、極大似然估計(Maximam Likelihood Estimation,MLE ) 在瞭解極大似然估計之前,我們首先要明確什麼是似然函式(likelihoo

    機器學習筆記線性迴歸實現

    一、向量化 對於大量的求和運算,向量化思想往往能提高計算效率(利用線性代數運算庫),無論我們在使用MATLAB、Java等任何高階語言來編寫程式碼。 運算思想及程式碼對比   的同步更新過程向量化   向量化後的式子表示成為: 其中是一個向量,是一個實數,是一個向量,

    機器學習筆記:python 模組pandas

    1.讀csv檔案資料 import pandas as pd Info = pd.read_csv('titanic_train.csv'); #print(type(Info)) #Info的型別 <class 'pandas.core.frame

    機器學習筆記:線性模型

    線性模型是機器學習常用的眾多模型中最簡單的模型,但卻蘊含著機器學習中一些重要的基本思想。許多功能更為強大的非線性模型可線上性模型的基礎上通過引入層級結構或高維對映得到,因此瞭解線性模型對學習其他機器學習模型具有重要意義。 本文主要介紹機器學習中常用的線性模型,內

    機器學習筆記吳恩達課程視訊

     多元變數線性迴歸 1.多維特徵:  2.多元梯度下降: 代價函式:(目標與單變數一致,要找出使代價函式最小的一系列引數) 梯度下降演算法: 梯度下降演算法——特徵縮放: 除了固定以外,的值都要變成[-1,1]範圍左右之間的取值,不僅僅

    機器學習筆記

    總結自 《機器學習》周志華 模型評估與選擇 錯誤率=樣本總數/分類錯誤的樣本數 精度=1-錯誤率 誤差:實際預測輸出與樣本真實輸出之間的差異 訓練誤差:學習器在訓練集上的誤差 泛化誤差:學習器在新樣本上的誤差 過擬合:學習能力過於強大,將訓練樣本本身的一些不太一

    機器學習筆記——分類器之優缺點分析

    原始資料中存在著大量不完整、不一致、有異常的資料,須進行資料清洗。資料清洗主要是刪除原始資料集中的無關資料、重複資料,平滑噪聲資料,篩選掉與挖掘主題無關的資料,處理缺失值、異常值。 一、線性分類器: f=w^T+b / logistic regression 學習方

    斯坦福Andrew Ng---機器學習筆記:Logistic Regression(邏輯迴歸)

    內容提要 這篇部落格的主要內容有: - 介紹欠擬合和過擬合的概念 - 從概率的角度解釋上一篇部落格中評價函式J(&#x03B8;)” role=”presentation” style=”position: relative;”>J(θ)J(θ)為什麼用最

    吳恩達機器學習筆記附程式設計作業連結

    吳恩達機器學習筆記(二) 標籤: 機器學習 一.邏輯迴歸(logistic regression) 1.邏輯函式&&S型函式(logistic function and sigmoid function) 線性迴歸的假設表示

    機器學習筆記——廣泛應用於資料降維的PCA演算法實戰

       最近在學習的過程當中,經常遇到PCA降維,於是就學習了PCA降維的原理,並用網上下載的iris.txt資料集進行PCA降維的實踐。為了方便以後翻閱,特此記錄下來。本文首先將介紹PCA降維的原理,然後進入實戰,編寫程式對iris.資料集進行降維。一、為什麼要進行資料降維?

    機器學習筆記——多變數最小乘法

    在上一節中,我們介紹了最簡單的學習演算法——最小二乘法去預測奧運會男子100米時間。但是可以發現,它的自變數只有一個:年份。通常,我們所面對的資料集往往不是單個特徵,而是有成千上萬個特徵組成。那麼我們就引入特徵的向量來表示,這裡涉及到矩陣的乘法,向量,矩陣求導等

    機器學習筆記矩陣和線性代數 例:用Python實現SVD分解進行圖片壓縮

    線性代數基本只要是理工科,都是必修的一門課。當時學習的時候總是有一個疑惑,這個東西到底是幹嘛用的?為什麼數學家發明出這麼一套方法呢,感覺除了解方程沒發現有什麼大用啊!但隨著學習的深入,慢慢發現矩陣的應

    Andrew Ng 機器學習筆記

    監督學習的應用:梯度下降 梯度下降演算法思想: 先選取一個初始點,他可能是0向量,也可能是個隨機點。在這裡選擇圖中這個+點吧。 然後請想象一下:如果把這個三點陣圖當成一個小山公園,而你整站在這個+

    dropout和L1L2的理解筆記

    理解dropout from http://blog.csdn.net/stdcoutzyx/article/details/49022443 123 開篇明義,dropout是指在深度學習網路的訓練過程中,對於神經網路單元,按照一定的概率將其暫時從網路

    L1L2

    正則化引入的思想其實和奧卡姆剃刀原理很相像,奧卡姆剃刀原理:切勿浪費較多東西,去做,用較少的東西,同樣可以做好的事情。 正則化的目的:避免出現過擬合(over-fitting) 經驗風險最小化 + 正則化項 = 結構風險最小化 經驗風險最小化(ERM),是為了讓擬合的誤差足夠小,即:對訓

    Guava學習筆記:基礎JoinerObjectsSplitter及Strings

    nonnull obj expect null dto 字符 情況 core cte 添加Maven依賴 JoinerTest import com.google.common.base.Joiner; import org.junit.Assert; import org