當前位置:首頁 » 操作系統 » 最小懲罰演算法

最小懲罰演算法

發布時間: 2023-01-08 10:22:35

1. 支持向量機

支持向量機(Suport Vector Machine,常簡稱為SVM),是一個監督式學習的方式。支持向量機屬於一般化線性分類器,這類分類器的特點是能夠同時最小化經驗誤差與最大化幾何邊緣區,因此支持向量機機也被稱為最大邊緣區分類器。

藍色和紅色的線圈出來的點就是所謂的支持向量,離分界線最近的點,如果去掉這些點,直線多半要改變位置。Classifier Boundary就是決策函數f(x),在兩個類的中間。紅色和藍色之間的間隙就是我們要的最大化分類的間隙。

有拉格朗日乘子法的地方,必然是一個組合優化問題。比如

這是一個帶等式約束的優化問題,有目標值,有約束條件,不能直接求導。可以使用拉格朗日方法,把這個約束乘以一個系數加到目標函數中去,這樣相當與既考慮了原目標函數,也考慮了約束條件。然後分別對x求導等於0,

把它帶點菜約束條件中去,可以看到,2個變數兩個等式,最終可再帶回去求x就可以了。更高一層,帶有不等式的約束問題怎麼辦?需要用更一般化的拉格朗日乘子法,即KKT條件,來求解這個問題。

任何原始問題約束條件無非最多三種,等式約束,大於號約束,小於號約束,而這三種最終通過將約束方程簡化成兩類:約束方程等於0和約束方程小於0。

假設原始問題約束條件為下例所示:

那麼把約束條件變個樣子

現在拿到目標函數中去變成

那麼KKT條件的定理是什麼呢?就是如果一個優化問題在轉變成

其中g是不等式約束,h是等式約束。那麼KKT條件就是函數的最優值,它必定滿足下面條件:

這三個等式很好理解,重點是第三個句子不好理解,因為我們知道在約束條件變完或,所有的 ,且求和還要為0。那麼為什麼KKT的條件是這樣的呢?

某次的g(x)在為最優解起作用,那麼它的系數值(可以)不為0,如果某次g(x)沒有為下一次的最優解起作用,那麼它的系數就必須為0。

函數間隔
對於給定的訓練數據集T合超平面(w,b),定義超平面(w,b)關於樣本點 的函數間隔為

函數間隔可以表示分類預測的正確性及確信度。但是選擇超平面時,只有函數間隔是不夠的,因子只要成比較改變 和b,超平面並沒有改變,但函數間隔卻擴大了。

幾何間隔
對於給定的訓練數據集T和超平面 ,定義超平面 關於樣本點 的幾何間隔為 ,其中 為 的 范數。

如果 ,那麼函數間隔和幾何間隔相等。如果超平面參數 成比例地改變(超平面沒有改變),函數間隔也成比例改變,而幾何間隔不變。

支持向量機的基本想法是求解能夠正確分訓練數據集並且幾何間隔最大的分離超平面。對線性可分的訓練數據集而言,線性可分分離超平面有無窮多個(等價於感知機),但是幾何間隔最大的分離超平面時唯一的。這里的間隔最大化被稱為硬間隔最大化。

間隔最大化的直觀解釋是:對訓練數據集找到幾何間隔最大的超平面意味著以充分大的確信度對訓練數據進行分類。也就是說,不僅將正負實例點分開,而且對最難分的實例點(離超平面最近的點)也有足夠大的確信度將他們分開。這樣的超平面應該對未知的新實例有很好的分類預測能力。

下面考慮如何求一個幾何間隔最大的分離超平面,即最大間隔分離超平面。具體地,這個問題可以表示為下面的約束最優化問題:

即我們希望最大化超平面 關於訓練數據集的集合間隔 ,約束條件表示的是超平面 關於每個訓練樣本點的集合間隔至少是

考慮幾何間隔和函數間隔的關系式,可將這個問題改成為

函數間隔 並不影響最優化問題的解。事實上,假設將 成比例改變為 ,這時函數間隔變成 。函數間隔的改變對最優化問題的不等式約束沒有影響,對目標函數的優化也沒有影響,也就事實說,它產生一個等價的最優化問題。這樣,就可以取 。將 代入上面的最優化問題。注意最大化 和最小化 是一樣的。

於是就得到下面的線性可分支持向量機學習的最優化問題

這是一個凸二次規劃問題(contex quadratic programming)問題。
凸優問題是指約束最優化問題

其中,目標函數 和約束函數 都是 上的可連續可微的凸函數,約束函數 是 的仿射函數。當木匾函數是 是二次函數且約束函數 是仿射函數時,上述的凸優化問題成為凸二次規劃問題。
如果求出約束最優化問題的解 ,那麼就可以得出最大間隔分離超平面 及決策函數 ,即線性可分支持向量機模型。

為了求解線性可分支持向量機的最優化問題,將它作為原始最優化問題,應用到拉格朗日對偶性,通過求解對偶問題得到原始問題的最優解,這就是線性可支持向量機的對偶演算法(al algorithm)。這樣做的優點,一是對偶問題往往根據容易求解;二是自然引入核函數,進而推廣到非線性可分類問題。

首先構建拉格朗日函數(Lagrange function)。為此,對每一個不等式約束引入拉格朗日乘子(Lagrange multiplier) 定義拉格朗日函數:

其中 為拉格朗日乘子向量。

根據拉格朗日對偶性,原始問題的對偶問題是極大極小問題

為了得到對偶函數問題的解,需要先求 對 的極小,再求 的極大
(1)求
將拉格朗日函數 分別對 求偏導數並令其等於0

將(1)代入拉格朗日函數,並利用(2),即可得



(2)求 對 的極,即對偶問題


將公式(3)的目標函數由極大值轉換成求極小,就得到下面與之等價的對偶最優化問題

(3)解
假設 是對偶最優化問題的解,則存在下標使得 ,並求按下式求得原始最優化的解

根據KKT條件成立,即得

因此

,且至少存在一個 ,假設 ,那麼 不是原始問題的解,所以

那麼分離的超平面可以寫成

決策函數可以寫成

由此可以看出,分類決策函數只依賴於輸入x和訓練樣本輸入的內積,式(8)稱為線性可分支持向量機的對偶形式。

案例
訓練數據正例點是 ,負例點是 ,試用線性可分支持向量機
解:根據所給數據,對偶問題是

解這一優化問題,將 代入目標函數並記為

對 求偏導令其為0,易知 處取極值,該點不滿足約束條件 ,所以最小值應在邊界上達到。

當 ,當 ,於是

這樣, 對應的實例點 是支持向量,計算可得 ,

分離超平面為
分離決策函數為

線性可分問題的支持向量機學習方法,對線性不可分訓練數據是不適用的,因為這時上述方法中的不等式約束不能都成立。 線性不可分意味著不能滿足函數間隔大於等於1的約束條件 。為了解決這個問題,對每個樣本點 都引入一個鬆弛變數 ,使得函數間隔加上變數大於等於1,這樣約束條件變為

同時對於每個鬆弛變數 ,支付一個代價 ,目標函數由原來的 變成

C>0為懲罰參數,一般由應用問題解決,C值大時對誤分類的懲罰增大,C值小時對誤分類的懲罰減小。最小化木匾函數有2層意思:使得 盡量小,即間隔盡量大,同時使誤分類點的個數盡量小,C是調和兩者的系數

非線性分類問題是指通過非線性模型才能很好地進行分類的問題。非線性問題往往不好求解,希望通過線性分類問題的方法解決這個問題,所採取的方法是進行一個非線性變換,將非線性問題變成線性問題,通過解變換後的線性問題的方法求解原來的非線性問題。

用線性分類方法求解非線性分類問題分兩步:首先使用一個變換將原來空間的數據映射到新空間;然後在新空間里用線性分類學習方法從訓練數據中學習分類模型。核技巧就屬於這樣的方法。

設X是輸入空間(歐氏空間 的子集或離散集合),又設H為特徵向量(希伯而空間H),如果存在一個從X到H的映射

使得對所有 ,函數 滿足條件

則稱K(x,z)為核函數, 為映射函數, 。通常計算K(x,z)比較容易,而通話 計算K(x,z)並不容易。

是輸入空間到特徵空間的迎神,特徵空間一般是高維的,甚至是無窮維,可以看到,對於給定的核K(x,z),特徵空間H和映射函數 的取法並不唯一,可以取不同的特徵空間,即便是在同一特徵空間也可以取不同的映射。

在對偶目標函數中的內積 可以用核函數 來代替,此時對偶問題的目標函數成為

這等價於經過映射函數 將原來的輸入空間變換到一個新的特徵空間,將輸入空間中的內積 變換成特徵空間中的內積 ,在新的特徵空間里從訓練樣本中學習線性支持向量機。學習是隱式地在特徵空間進行的,不需要顯式地定義特徵空間和營業日函數。在實際應用中,往往依賴領域知識直接選擇核函數。


對應的支持向量機是一個p次多項式分類器,在此情形下,分類決策函數成為


對應的支持向量機是高斯徑向基函數(radial basis function)分類器。在此情形下,分類決策函數成為

核函數不僅可以定義在歐式空間,還可以定義在離散數據的集合上。比如,字元串核函數是定義在字元串集合上的核函數。字元串核函數在文本分類、信息檢索、生物信息學等方面都有應用。

兩個字元串s和t上的字元串核函數是基於映射 的特徵空間中的內積:


字元串核函數 給出了字元串s和t中長度等於n的所有子串組成的特徵向量的餘弦相似度。直觀上看,兩個字元串相同的字串越多,它們就越相似,字元串核函數的值就越大。字元串核函數可以由動態規劃快速地計算。

支持向量機的學習問題可以形式化為求解凸二次規劃問題,這樣的凸二次規劃問題具有全局最優解,並且有許多最優化演算法可以用於這一問題的求解。但是當訓練樣本容量很大時,這些演算法往往變得非常低效,以至無法使用。

序列最小最優化(sequential minimal optimization,SMO)演算法,是一種啟發式演算法,其基本思路是:如果所有變數的解都滿足此最優化問題的KKT條件,那麼這個最優化問題的解就得到了。因為KKT條件是該最優化問題的充分必要條件。否則,選擇兩個變數,固定其他變數,針對這兩個變數構建一個二次規劃問題。這個二次規劃問題的目標是使函數值變得更小。重要的是,這時子問題可以通過解析方法求解,這樣就可以大大提高整個演算法的計算速度。子問題有兩個變數,一個是違反KKT條件最嚴重的那一個,另一個由約束條件自動確定。如此,SMO演算法將原問題不斷分解為子問題並對子問題求解,進而達到求解原問題的目的。

假設兩個變數是 ,其他變數 是固定的,於是SNO的最優化問題的子問題可以寫成。


其中, 是常數,目標函數中省略不含 的常數項。

為了求解兩個變數的二次規劃問題,約束可以用二維空間中的圖形表示

不等式約束(7.3)使得 在盒子[0,C] [0,C]內,等式約束(7.2)使 在平行於盒子[0,C] [0,C]的對角線的直線上。因此要求的是目標函數在一條平行於對角線的線段上最優值。這使得兩個變數的最優化問題成為實質上的單變數最優化文圖,不訪考慮為變數 的最優化問題。

假設初始化可行解為 ,最優化解為 ,並且假設沿著約束方向未經剪輯時 的最優解為

由於 需滿足不等式約束(7.3),所以最優值 的取值范圍必須滿足條件

其中,L與H是 所在對角線段端點的界,如果

如果 ,則

下面首先要求沿著約束方向未經剪輯即未考慮不等式約束(7.3)時 的最優解 ,然後在解決剪輯後 的解 ,我們用定理來描述這個結果


當i=1,2時, 為函數g(x)對輸入 的預測值與真實輸出 之差

定理 最優化問題(7.1)~(7.3)沿著約束方向未經剪輯時的解是

其中
是輸入空間到特徵空間的映射

經剪輯後的 的解是

由 是

2. 最小公約數計算

兩個數的最小公約數不用計算,是1 。

兩個數的最小公倍數計算:

1、兩個數互質,它們的最小公倍數是兩數的積;如5和7的最小公倍數是5×7=35

2、較大的數是較小的數的倍數,它們的最小公倍數是較大的數;如72和12的最小公倍數是72

3,一般用短除求。也就是用兩數的公因數去除兩數,除到余數為互質數,兩數的最小公倍數

是所有除數和余數相乘的積。如圖

3. 內點懲罰函數法和外點懲罰函數法各有什麼特點

內點懲罰函數法特點:求解時的探索點始終保持在可行域內。

外點懲罰函數法特點:對初始點沒有要求,可以任意取定義域內任意一點。

懲罰函數可以分為外點法和內點法,其中外點法更通用,可解決約束為等式和不等式混合的情形,外點法對初始點也沒有要求,可以任意取定義域內任意一點。而內點法初始點必須為可行區內一點,在約束比較復雜時,這個選擇內點法的初始點是有難度的,並且內點法只能解決約束為不等式情形。



罰函數的應用

1、電機優化設計

在電機優化設計中應用廣義罰函數法優化方法,既可以避免罰函數內點法因罰因子取得不當而造成的尋優困難,又保留了尋優逼近邊界的優點,通過目標函數調整和罰函數的容差迭代,可以達到快速收斂的目的。同時,廣義罰函數優化方法,還具有邊界附近進一步搜索最優點的特性。在應用中,該方法是一種實用性很強而有效的內點尋優方法。

在機械領域,利用廣義罰函數優化方法編制的計算機尋優模塊與各類外點法或可行方案尋求方法結合,具有顯著的優化效果。

2、廣義指數因子預測

該模型實施的關鍵在於預報方程的變數選擇和系數估計,在線性回歸模型的擬合過程中引入罰函數能夠壓縮回歸方程系數估計,將方程中一部分自變數的系數壓縮為0,從而達到自變數選擇、降低誤差方差的目的,並保證預報方程的穩定性,從而提高預測精度。因此,應用罰函數方法來實現廣義指數因子預報方程的擬合是合理的。

4. 最小二乘法的核參數和懲罰系數怎麼確定

GA遺傳演算法,PSO粒子演算法,蟻群還有格子法尋優,這些都可以對C和G參數進行尋優。

5. 如何懲罰六年級小孩子

准備工具:加衣服的夾子 考試:100-90 屁股左右夾上5個夾子 跳2分鍾 夾著夾子 90-85 屁股左右夾上10個夾子 跳8分鍾 夾著夾子 85-70 屁股左右夾上15個夾子 跳15分鍾 跑步500米 夾著夾子 70以下 用手打屁股50下 屁股左右夾上所有夾子 跳20分鍾 跑步1千米 夾著夾子 吹風機調熱吹10分鍾 罵人:手打屁股100下 屁股左右夾上8個夾子 跳5分鍾 夾著夾子 說謊:手打屁股150下 屁股左右夾上所有夾子 跳20分鍾 跑步1千米 夾著夾子 吹風機調熱吹10分鍾 夾著夾子 【以上所有懲罰都不會留下傷痕,以上所有本人全部試過,火辣辣的痛會持續2-5個小時,沒有問題】



六年級的女生制定一個家法
1.放學必須趕快回家。 2.不和男生交往過於密切! 3.下學必須快速完成作業。 4.和同學打電話不得超過15分鍾。 5.不和異性待在隱秘的地方。 6.不與網友見面。 7.要有節制的上網。

家規懲罰篇: 1.初犯按家規懲罰,短時間內連續犯雙倍懲 2.隨時向家長背誦家規,錯一條罰10下,完全不會罰100下 3.寫檢查時要認真,字數不夠、不寫標題、中心不明確的重寫並且:少字和不寫標題各打60下並重寫,中心不明確的打100下。每一次懲罰超過20下要寫檢查。字數是下數的10倍。比如30下,就寫300字檢查。 4.懲罰方式:凡是懲罰全部打光屁股。小於50下罰站,時間與下數相同分鍾。大於50下罰跪,時間與下數相同分鍾。(罰站、罰跪全部光屁股)。 5.罰站罰跪動作要求:罰站時站直,面向牆壁,雙手自然下垂;罰跪要求跪在地面上,不允許墊任何物品,身體前傾,雙手倚地。 6.本《家規》由家長負責監督及執行,並擁有最終解釋的權利。日後如需補充,可以附件形式增加,相同效力。

6. 支持向量機(SVM)

        支持向量機(support vector machine),故一般簡稱SVM,通俗來講,它是一種二分類模型,其基本模型定義為特徵空間上的間隔最大的線性分類器,這族分類器的特點是他們能夠同時最小化經驗誤差與最大化幾何邊緣區,因此支持向量機也被稱為最大邊緣區分類器。其學習策略便是間隔最大化,最終可轉化為一個凸二次規劃問題的求解。SVM在很多諸如文本分類,圖像分類,生物序列分析和生物數據挖掘,手寫字元識別等領域有很多的應用。

        支持向量機將向量映射到一個更高維的空間里,在這個空間里建立有一個最大間隔超平面。在分開數據的超平面的兩邊建有兩個互相平行的超平面,分隔超平面使兩個平行超平面的距離最大化。假定平行超平面間的距離或差距越大,分類器的總誤差越小。

        假設給定一些分屬於兩類的2維點,這些點可以通過直線分割, 我們要找到一條最優的分割線,如何來界定一個超平面是不是最優的呢?

        如圖:

        在上面的圖中,a和b都可以作為分類超平面,但最優超平面只有一個,最優分類平面使間隔最大化。 那是不是某條直線比其他的更加合適呢? 我們可以憑直覺來定義一條評價直線好壞的標准:

        距離樣本太近的直線不是最優的,因為這樣的直線對雜訊敏感度高,泛化性較差。 因此我們的目標是找到一條直線(圖中的最優超平面),離所有點的距離最遠。 由此, SVM演算法的實質是找出一個能夠將某個值最大化的超平面,這個值就是超平面離所有訓練樣本的最小距離。這個最小距離用SVM術語來說叫做間隔(margin) 。

        描述:給定一些數據點,它們分別屬於兩個不同的類,現在要找到一個線性分類器把這些數據分成兩類。如果用x表示數據點,用y表示類別(y可以取1或者-1,分別代表兩個不同的類),一個線性分類器的學習目標便是要在n維的數據空間中找到一個超平面(hyper plane),這個超平面的方程可以表示為( wT中的T代表轉置):

        例如:現在有一個二維平面,平面上有兩種不同的數據,分別用圈和叉表示。由於這些數據是線性可分的,所以可以用一條直線將這兩類數據分開,這條直線就相當於一個超平面,超平面一邊的數據點所對應的y全是-1 ,另一邊所對應的y全是1。

        我們令分類函數為:

        當f(x) 等於0的時候,x便是位於超平面上的點,而f(x)大於0的點對應 y=1 的數據點,f(x)小於0的點對應y=-1的點,如下圖所示:

        一個點距離超平面的遠近可以表示分類預測的確信或准確程度,如何確定這個超平面呢?從直觀上而言,這個超平面應該是最適合分開兩類數據的直線。而判定「最適合」的標准就是這條直線離直線兩邊的數據的間隔最大。所以,得尋找有著最大間隔的超平面。

補充知識點: 點到平面的距離

        支持向量機學習的基本想法是求解能夠正確劃分訓練數據集並且幾何間隔最大的分離超平面.。對線性可分的訓練數據集而言,線性可分分離超平面有無窮多個(等價於感知機),但是幾何間隔最大的分離超平面是唯一的。這里的間隔最大化又稱為硬間隔最大化。

        間隔最大化的直觀解釋是:對訓練數據集找到幾何間隔最大的超平面意味著以充分大的確信度對訓練數據進行分類。也就是說,不僅將正負實例點分開,而且對最難分的實例點(離超平面最近的點)也有足夠大的確信度將它們分開。這樣的超平面應該對未知的新實例有很好的分類預測能力。

      按照我們前面的分析,對一個數據點進行分類, 當它的margin越大的時候,分類的confidence越大。 對於一個包含n個點的數據集,我們可以很自然地定義它的margin為所有這n個點的margin值中最小的那個。於是,為了使得分類的confidence高,我們希望所選擇的超平面hyper plane能夠最大化這個margin值。讓所選擇的超平面能夠最大化這個「間隔」值,這個間隔就是下圖中的Gap的一半:

為什麼用幾何間隔求最大的分離超平面而不用函數間隔?

例題:

我們構造了約束最優化問題,就是下面這個:

        此外,由於這個問題的特殊結構,還可以通過拉格朗日對偶性(Lagrange Duality)變換到對偶變數 (al variable) 的優化問題,即通過求解與原問題等價的對偶問題(al problem)得到原始問題的最優解,這就是線性可分條件下支持向量機的對偶演算法,這樣做的優點在於:一者對偶問題往往更容易求解;二者可以自然的引入核函數,進而推廣到非線性分類問題。

補充知識點: 拉格朗日乘子法學習

                     拉格朗日KKT條件

                     KKT條件介紹

                     拉格朗日對偶

         通過給每一個約束條件加上一個拉格朗日乘子(Lagrange multiplier)α,定義拉格朗日函數(通過拉格朗日函數將約束條件融合到目標函數里去,從而只用一個函數表達式便能清楚的表達出我們的問題):

 求解這個式子的過程需要拉格朗日對偶性的相關知識。

例題:

         接下來談談線性不可分的情況,因為 線性可分這種假設實在是太有局限性 了。下圖就是一個典型的線性不可分的分類圖,我們沒有辦法用一條直線去將其分成兩個區域,每個區域只包含一種顏色的點。

         要想在這種情況下的分類器,有兩種方式, 一種是用曲線 去將其完全分開,曲線就是一種 非線性 的情況,跟之後將談到的 核函數 有一定的關系:

         另外一種還是用直線,不過不用去保證可分性 ,就是包容那些分錯的情況,不過我們得加入懲罰函數,使得點分錯的情況越合理越好。其實在很多時候,不是在訓練的時候分類函數越完美越好,因為訓練函數中有些數據本來就是雜訊,可能就是在人工加上分類標簽的時候加錯了,如果我們在訓練(學習)的時候把這些錯誤的點學習到了,那麼模型在下次碰到這些錯誤情況的時候就難免出錯了。這種學習的時候學到了「雜訊」的過程就是一個過擬合(over-fitting),這在機器學習中是一個大忌。

我們可以為分錯的點加上一點懲罰,對一個分錯的點的 懲罰函數 就是 這個點到其正確位置的距離:

        對於線性不可分的情況,我們可以用核函數讓空間從原本的線性空間變成一個更高維的空間 , 在這個高維的線性空間下,再用一個超平面進行劃分 。 這兒舉個例子,來理解一下如何利用空間的維度變得更高來幫助我們分類的:

        上圖是一個線性不可分的圖,當我們把這兩個類似於橢圓形的點映射到一個高維空間後,映射函數為:

        用這個函數可以將上圖的平面中的點映射到一個三維空間(z1,z2,z3),並且對映射後的坐標加以旋轉之後就可以得到一個線性可分的點集了。

        形象說明:例如世界上本來沒有兩個完全一樣的物體,對於所有的兩個物體,我們可以通過增加維度來讓他們最終有所區別,比如說兩本書,從(顏色,內容)兩個維度來說,可能是一樣的,我們可以加上作者這個維度,是在不行我們還可以加入頁碼,可以加入擁有者,可以加入購買地點,可以加入筆記內容等等。當維度增加到無限維的時候,一定可以讓任意的兩個物體可分了。

核函數定義:

核技巧在支持向量機中的應用:

常用核函數:

非線性支持向量機學習演算法:

        支持向量機的學習問題可以形式化為求解凸二次規劃問題。這樣的凸二次規劃問題具有全局最優解,並且有許多最優化演算法可以用於這一一問題的求解。但是當訓練樣本容量很大時,這些演算法往往變得非常低效,以致無法使用。所以,如何高效地實現支持向量機學習就成為一一個重要的問題。目前人們已提出許多快速實現演算法.本節講述其中的序列最小最優化(sequential minimal optimization, SMO)演算法。

        上述問題是要求解N個參數(α1,α2,α3,...,αN),其他參數均為已知,序列最小最優化演算法(SMO)可以高效的求解上述SVM問題,它把原始求解N個參數二次規劃問題分解成很多個子二次規劃問題分別求解,每個子問題只需要求解2個參數,方法類似於坐標上升,節省時間成本和降低了內存需求。每次啟發式選擇兩個變數進行優化,不斷循環,直到達到函數最優值。

        整個SMO演算法包括兩部分,求解兩個變數的 二次規劃 問題和選擇這兩個變數的 啟發式 方法。

 上面求得的(α1)new和(α2)new是在η>0的情況下求得的:

        當時為了推導公式我們直接默認它是大於0了,現在我們需要重新審視這一項(η)。這一項是原來關於的二次項的系數。我們可以分下面三種情況討論:

(1)當η>0時 :這個二次函數開口向上,所以要求這個二次函數的最小值,如果說極值點不在計算出的可行域的范圍內,就要根據這個極值點和可行域邊界值的關系來得到取最小值的地方:

①如果這個極值點在可行域左邊,那麼我們可以得到這個可行域內二次函數一定在單增,所以此時L應該是那個取最小值的地方。就如大括弧的第三種情況。

②如果這個極值點在可行域右邊,那麼此時可行域內一定單減,所以此時H就是那個取最小值的地方,就是大括弧里的第一種情況。

(2)當η=0時: 這個二次函數就變成了一個一次函數,那麼不管這個一次函數的單調性怎樣,最小值一定是在邊界處取到。所以到時候計算可行域的兩個邊界的值,看哪個小就用哪個。

(3)當η<0時: 這個二次函數開口向下,那麼此時怎麼得到取最小值的點呢?很容易就能想到:最小值也是在可行域的邊界處取到。很容易理解,此時開口向下,當極值點在區間內時,最小值只能在端點處取,因為極值點處是最大的。而當極值點在區間外時,區間內一定是單調的,此時最小值也只能在端點處取。通過計算比較邊界處的目標函數值,哪個小取哪個。

通過以上判斷求出(α2)new以後,再根據公式求出(α1)new,然後帶入目標函數(1)中。即如下過程:

        上述分析是在從N個變數中已經選出兩個變數進行優化的方法,下面分析如何高效地選擇兩個變數進行優化,使得目標函數下降的最快。

7. 淺談最小二乘法

最小二乘法是回歸分析的一種標准方法,它通過最小化每個方程式結果中的殘差平方和來近似超定系統(方程組多於未知數的方程組)。

回歸分析(regression analysis)指的是確定兩種或兩種以上變數間相互依賴的定量關系的一種統計分析方法。

最重要的應用是數據擬合。 最小二乘意義上的最佳擬合將殘差平方的總和最小化(殘差為:觀察值與模型提供的擬合值之間的差)。 當問題在 自變數(x變數)中具有很大的不確定性 時,則簡單回歸和最小二乘法會出現問題。 在這種情況下,可以考慮擬合 變數誤差模型 所需的方法,而不是最小二乘法。

最小二乘問題分為兩類:線性或 普通最小二乘 和 非線性最小二乘 ,這取決於 殘差在所有未知量中是否是線性的 。線性最小二乘問題發生在 統計回歸分析 中,它有 解析解 。非線性問題通常是通過迭代優化來解決的,每次迭代系統都近似為線性系統,因此兩種情況下的計算核心是相似的。

多項式最小二乘法 將因變數預測中的方差描述為自變數函數與擬合曲線的偏差。

當觀測值來自 指數族 且滿足溫和條件時,最小二乘估計和 最大似然估計 是相同的。最小二乘法也可以由 矩估計 的方法導出。

下面的討論主要是以 線性 函數的形式提出的,但是最小二乘法的使用對於更一般的函數族是有效和實用的。同時,通過迭代地應用局部二次逼近似然(通過 Fisher 信息 ),最小二乘法可用於擬合 廣義線性模型 。

最小二乘法通常歸功於 卡爾·弗里德里希·高斯 (Carl Friedrich Gauss,1795),但它首先由 阿德里安·瑪麗·勒讓德 (Adrien Marie Legendre,1805)發表。

目標包括調整模型函數的參數以最適合數據集。 一個簡單的數據集由n個點(數據對) 組成,其中 是自變數, 是由觀測值獲得的因變數。模型函數具有 ,在向量 中保持m個可調參數。目的是為「最佳」擬合數據的模型找到參數值。 模型對數據點的擬合度通過其殘差來度量,殘差定義為因變數的實際值與模型預測的值之間的差: ,最小二乘法通過最小化殘差平方和S來尋找最佳參數值: ,二維模型的一個例子是直線模型。y軸的截距表示為 ,斜率為 ,模型函數由 ,請參見線性最小二乘法,以獲取該模型的完整示例。

一個數據點可以由多個自變數組成。例如,當將一個平面擬合到一組高度測量值時,平面是兩個自變數的函數,例如x和z。在最一般的情況下,每個數據點可能有一個或多個自變數和一個或多個因變數。

下圖是一個是一個殘差圖,說明了 的隨機波動,顯示了 這個線性模型是合適的, 是一個隨即獨立的變數。

如果殘差點具有某種形狀並且不是隨機波動的,線性模型就不合適。例如,如果殘差圖如右圖所示為拋物線形狀,則為拋物線模型 對數據更加合適。拋物線模型的殘差可以通過 計算。

這種回歸公式只考慮因變數中的觀測誤差(但是可替代的 全最小二乘 回歸可以解釋這兩個變數中的誤差)。有兩種截然不同的語境,具有不同的含義:

通過設置梯度為0求得平方和的最小值。因為模型包含m個參數,因此有m個梯度方程:

由 ,梯度方程可以推導為:

梯度方程適用於所有最小二乘問題。每一個問題都需要模型及其偏導數的特殊表達式。

當模型由參數的線性組合組成時,回歸模型是線性模型,即:

式中 是x的函數。
令 ,並將自變數和因變數轉換為矩陣X和Y,我們可以按以下方式計算最小二乘,注意D是所有數據的集合。

通過將損失梯度設置為零並求解 ,可以找到最小值。

最後,將損失的梯度設置為零,並求解 ,我們得到:

在某些情況下非線性最小二乘問題有一個 解析解 ,但通常情況下是沒有的。在沒有解析解的情況下,用數值演算法求出使目標最小化的參數​的值。大多數演算法都涉及到參數的初始值的選擇。然後,迭代地對參數進行細化,即通過逐次逼近得到這些參數:

式中,上標k是迭代數,增量 的向量,稱為位移向量。在一些常用演算法中,每次迭代該模型都可以通過對 近似一階 泰勒級數 展開來線性化:

Jacobian矩陣J是常數、自變數和參數的函數,因此它在每次迭代時都會改變。殘差由:

為最小化 的平方和,將梯度方程置為0,求解 :

經過重新排列,形成m個聯立線性方程組, 正規方程組

正規方程用矩陣表示法寫成

這就是 高斯牛頓法 的定義公式。

在尋求非線性最小二乘問題的解時,必須考慮這些差異。

為了對結果進行統計檢驗,有必要對實驗誤差的性質作出假設。通常的假設是誤差屬於正態分布。 中心極限定理 支持這樣的觀點:在許多情況下,這是一個很好的近似。

然而,如果誤差不是正態分布的,中心極限定理通常意味著只要樣本足夠大,參數估計就會近似正態分布。因此,鑒於誤差均值獨立於自變數這一重要性質,誤差項的分布在回歸分析中不是一個重要問題。具體來說,誤差項是否服從正態分布並不重要。

在具有單位權重的最小二乘法計算中,或在線性回歸中,第j個參數的方差 ,通常估計為:

其中,真實誤差方差 由基於目標函數平方和最小值的估計值代替。分母,n−m,是統計自由度;請參見有效自由度以獲取歸納。
如果參數的 概率分布 已知或漸近近似,則可以找到 置信限 。同樣,如果殘差的概率分布已知或假設,則可以對殘差進行統計檢驗。如果已知或假設實驗誤差的概率分布,我們就可以導出因變數的任何線性組合的概率分布。當假設誤差服從正態分布時,推斷很容易,因此意味著參數估計和殘差也將是正態分布的,這取決於自變數的值。

當Ω(殘差的相關矩陣)的所有非對角項都為空時, 廣義最小二乘法 的一個特例稱為 加權最小二乘法 ;觀測值的方差(沿協方差矩陣對角線)可能仍然不相等( 異方差 )。更簡單地說,異方差是當 的方差取決於 的值,這會導致殘差圖產生「扇出」效應,使其朝向更大的 值,如下側殘差圖所示。另一方面, 同構性 假設 和的 方差相等。

關於一組點的平均值的第一個主成分可以用最接近數據點的那條線來表示(用最接近的距離的平方來測量,即垂直於直線)。相比之下,線性最小二乘法只嘗試最小化 方向上的距離。因此,雖然二者使用相似的誤差度量,但線性最小二乘法是一種優先處理一維數據的方法,而PCA則同等對待所有維度。

tikhonov 正則化

在某些情況下,最小二乘解的正則化版本可能更可取。 Tikhonov正則化 (或 嶺回歸 )添加了一個約束,即參數向量的 L2范數 ,即參數向量的L2范數,不大於給定值。它可以通過添加 ,其中 是一個常數(這是約束問題的 拉格朗日 形式)。在 貝葉斯 背景下, 這相當於在參數向量上放置一個零均值正態分布的 先驗

Lasso method

最小二乘法的另一種正則化版本是Lasso(least absolute shrinkage and selection operator),它使用 ,參數向量的L1范數,不大於給定值。(如上所述,這相當於通過添加懲罰項 對最小二乘法進行無約束最小化)。在貝葉斯背景下, 這相當於在參數向量上放置一個零平均 拉普拉斯 先驗分布 。優化問題可以使用 二次規劃 或更一般的 凸優化方法 ,以及由具體演算法如 最小角度回歸 演算法。
Lasso 和嶺回歸的一個主要區別是,在嶺回歸中,隨著懲罰的增加,所有參數都會減少但仍然保持非零;而在Lasso中,增加懲罰將導致越來越多的參數被驅動到零。這是Lasso相對於嶺回歸的一個優勢, 因為驅動參數為零會從回歸中取消選擇特徵 。因此,Lasso自動選擇更相關的特徵並丟棄其他特徵,而嶺回歸永遠不會完全丟棄任何特徵。基於LASSO開發了一些 特徵選擇 技術,包括引導樣本的Bolasso方法和分析不同 值對應的回歸系數,對所有特徵進行評分的FeaLect方法

L1正則化公式在某些情況下是有用的,因為它傾向於選擇更多參數為零的解,從而給出依賴較少變數的解。因此,Lasso及其變體是 壓縮感測 領域的基礎。這種方法的一個擴展是 彈性網路正則化 。

From Wikipedia, the free encyclopedia

8. BLEU演算法

原理根據N-gram,n<=4

問題

1.the等詞過多匹配問題。解決方案:利用計算參考譯文和機器翻譯譯文之間計數取最小值解決

2.機器翻譯譯文長度<參考譯文長度,導致的BLEU結果過高。解決方案:加入懲罰因子BP(Brevity Penalty)=exp(min(0, 1 − [len(ref)/len(MT)])   解釋,如果參考譯文的長度<機器翻譯的長度,則BP=1,不進行懲罰。如果參考譯文的長度>機器翻譯的長度,即 [len(ref)/len(MT)]>1,1 − [len(ref)/len(MT)]<0,則0<BP<1的一個數,來降低BLEU結果過高的問題。

缺點:除上面提出的兩個問題,對同義詞和語法沒有考慮

9. 最小公約數的演算法

設兩數為a、b(b<a),求它們最大公約數(a、b)的步驟如下:用b除a,得a=bq......r 1(0≤r)。若r1=0,則(a,b)=b;若r1≠0,則再用r1除b,得b=r1q......r2 (0≤r2).若r2=0,則(a,b)=r1,若r2≠0,則繼續用r2除r1,……如此下去,直到能整除為止。其最後一個非零餘數即為(a,b)。

http://ke..com/view/255668.htm?fr=ala0_1_1

熱點內容
pythondict添加key 發布:2025-05-14 10:33:59 瀏覽:381
柱子箍筋加密區長度 發布:2025-05-14 10:18:29 瀏覽:352
雲伺服器和內網穿透哪個好 發布:2025-05-14 10:16:41 瀏覽:627
安徽新能源網路配置是什麼 發布:2025-05-14 10:06:24 瀏覽:631
pinode搭建伺服器 發布:2025-05-14 10:04:23 瀏覽:4
電腦伺服器ip名稱 發布:2025-05-14 10:01:09 瀏覽:749
connectorpython 發布:2025-05-14 09:48:50 瀏覽:763
配置不好怎麼辦 發布:2025-05-14 09:46:40 瀏覽:623
數據流程圖中的數據存儲是指 發布:2025-05-14 09:46:39 瀏覽:446
我的世界伺服器id前綴mod 發布:2025-05-14 09:45:53 瀏覽:831