1. 程式人生 > >《統計學習方法》第7章 課後題答案

《統計學習方法》第7章 課後題答案

最近在補一些機器學習的基礎知識,所以就刷了一下李航博士的《統計學習方法》。那麼刷一本書怎麼才能徹底呢,當然是刷題了。幸好作者在每一章留有課後題,在這裡嘗試做一下。

(一想到這部分內容可能會被完爆我好幾條街的大神看到就覺得好害羞 ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄。個人水平有限,望大神指正)

在做題之前先吐槽一下第7章的內容,本章介紹了支援向量機的相關知識,內容安排合理,講解清楚,是很棒的入門材料。不過在刷書的過程中遇到了一些小疑問,我準備把這些小疑問和大家分享一下。有些通過查文獻找到了答案,有些還沒有解決,希望路過的大神指點。

1、P104在推導拉格朗日函式L(w,b,α)極小值的過程中,如何確定所求得的極值點(導數等於0的點)就是L

(w,b,α)的極小值而不是極大值呢?是否可以證明一下其所對應的二次型在這一情況下只能取極小值?

2、p120式7.82下面那句話如果嚴格說來應該是“對於不完備的賦範向量空間S,一定可以找到一個完備的賦範向量空間H,使得SH中稠密”

3、P130式7.116下面那段話,原文的意思是如果0<αnewi<C,那麼bnew1=bnew2。我嘗試證明一下這但是死活搞不出來。後來轉念一想,P112最下面的部分不是已經說明了b的值不唯一麼。為什麼這裡就變成bnew1=bnew2一定成立了呢?

後來經過查閱Platt的原始文獻”Fast training of support vector machines using sequential minimal optimization”發現原文中是這麼說的:“when b

1 and b2 are vaild, they are equal”(b1,b2是原作者使用的記號,也就相當於bnew1,bnew2)。所以我覺得原文中的內容是不是這個意思:“如果bnew1,bnew2都複合條件,那麼用哪個作為最終結果都是一樣的”。不知這部分理解是否正確,求大神指點。

4、P130在SMO演算法中,應該在第一步也將b初始化為0

進入正題,下面的答案是我自己做的,有時候會偷懶╮( ̄▽ ̄)╭,請見諒。

1.1 比較感知機的對偶形式與線性可分支援向量機的對偶形式。

這是一個開放問題,如何比較這兩種模型的對偶形式呢。我思前想後決定首先把這兩個對偶形式寫出來:

給定一個訓練資料集

T={(x1,y1),(x2,y2),,(xN,yN)}
其中,xiX=Rn,yiY={1,1},i=1,2,,N

根據本書前面的內容:感知機學習演算法是求引數w,b,使其為以下損失函式極小化問題的解:

minw,bL(w,b)=xiMyi(wxi+b)

其中M為誤分類點的集合。上式稱為感知機演算法的原始形式,事實上, 如果使用P114頁所介紹的[]+函式,可以將上述原始形式寫為:

minw,bL(w,b)=i=1N[yi(wxi+b)]+

如果將w,b表示為例項xi和標記yi的線性組合的形式,即:

wb=j=1Nαjyjxj=j=1Nαjyj

其中αj>0,j=1,2,,N那麼上述原始形式可以寫為如下的對偶形式:

minw,bL(w,b)=i=1N[yi(wxi+b

相關推薦

最小二乘迴歸樹Python實現——統計學習方法課後

李航博士《統計學習方法》第五章第二題,試用平方誤差準則生成一個二叉迴歸樹。 輸入資料為: x     0            1          2         3      

統計學習方法7 課後答案

最近在補一些機器學習的基礎知識,所以就刷了一下李航博士的《統計學習方法》。那麼刷一本書怎麼才能徹底呢,當然是刷題了。幸好作者在每一章留有課後題,在這裡嘗試做一下。 (一想到這部分內容可能會被完爆我好幾條街的大神看到就覺得好害羞 ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄。

統計學習方法課後習題

4.1 用極大似然估計法推導樸素貝葉斯法中的先驗概率估計公式(4.8)和條件概率估計公式(4.9) 首先是(4.8) P(Y=ck)=∑i=1NI(yi=ck)NP({Y=c_k})=\frac {\sum_{i=1}^NI(y_i=c_k)} {N} P(Y=

計算機網路學習筆記——課後答案詳解

1、假定站點A和B在同一個10Mb/s乙太網網段上。這兩個站點之間的傳播時延為225位元時間。現假定A開始傳送一幀,並且在A傳送結束之前B也傳送一幀。如果A傳送的是乙太網所容許的最短的幀,那麼A在檢測到和B發生碰撞之前能否把自己的資料傳送完畢?換言之,如果A在傳送完畢之前並沒有檢測到碰撞,那麼能否肯定A所傳送

統計學習方法1 課後答案

1.1 說明伯努利模型的極大似然估計以及貝葉斯估計中的統計學習方法三要素。伯努利模型是定義在取值為0與1的隨機變數上的概率分佈。假設觀測到伯努利模型n次獨立的資料生成結果,其中k次的結果為1,這時可以用

李航 統計學習方法 決策樹 課後 習題 答案

決策樹是一種基本的分類和迴歸方法。決策樹呈樹形結構,在分類問題中,表示基於特徵對例項進行分類的過程。它可以認為是if-then規則的集合,也可以認為是定義在特徵空間和類空間上的條件概率分佈。學習時,利用訓練資料,根據損失函式最小化的原則建立決策樹模型。預測時,對

統計學習方法-2-感知機(1)

2.1 感知機模型 定義: 輸入特徵空間為\(\chi\subseteq R^n\), 輸出空間為\(\mathcal{Y}=\{+1, -1\}\). 則由輸入空間到輸出空間的如下函式: \[f(x) = sign(w\cdot x+b)\] 其中\[sign(x)=\left\{\begin{array

統計學習方法

統計學習第五章:決策樹 決策樹模型 分類決策樹模型是一種描述對例項進行分類的樹形結構,表示基於特徵對例項進行分類的過程。決策樹由結點和有向邊組成。結點有兩種型別:內部節點和葉節點,內部節點表示一個

計算機網路自頂向下方法(六版) 課後答案 |

複習題 R1. 公共汽車、火車、汽車 R2. 雖然每個鏈路都保證通過鏈路傳送的IP資料報將在鏈路的另一端接收到,沒有錯誤,但不能保證IP資料報將以正確的順序到達最終目的地。有了IP,同一TCP連線中的資料報可以在網路中採取不同的路由,因此無法正常到達。TCP仍然需要以正確

計算機網路自頂向下方法(六版) 課後答案 |

複習題 R1. 網路層的分組名稱是資料報。路由器是根據包的 IP 地址轉發包;而鏈路層是根據包的 MAC 地址來轉發包。 R2. 資料報網路中網路層兩個最重要的功能是:轉發,路由選擇。 虛電路網路層最重要的三個功能是:轉發,路由選擇,和呼叫建立 R3. 轉發是當一個分

計算機網路自頂向下方法(六版) 課後答案 |

複習題 R1. a. 將此協議稱為簡單傳輸協議(STP)。在傳送方端,STP 從傳送過程中接收不超過 1196 位元組的資料塊、目標主機地址和目標埠號。STP 向每個塊新增一個 4 位元組的報頭,並將目標程序的埠號放在這個報頭中。然後 STP 將目標主機地址和報文段提供給網路層。

計算機網路自頂向下方法(六版) 課後答案 | 第二

複習題 R1. 非專用的因特網 所在的應用層協議 Web HTTP 檔案傳輸 FTP 遠端登入 Tele

計算機網路自頂向下方法(六版) 課後答案 | 第一

複習題 R1. 沒什麼不同,主機就是端系統,可互換使用;端系統包括PC 機,工作站,Web 伺服器,郵件伺服器,聯網遊戲機等。 R2. 外交禮儀通常被描述為一套國際禮儀規則。這些建立已久、歷史悠久的規則使國家和人民更容易在一起生活和工作。 R3. 標準對於協議很重

統計學習方法CART演算法程式碼實踐例題5.4

from numpy import * def loadDataSet(): # 本書例題的資料集 dataset = [['青年', '否', '否', '一般', '否'], ['青年', '否', '否', '好', '否'], ['青

統計學習方法極大似然估計的樸素貝葉斯分類方法例題4.1程式碼實踐

#-*- coding:utf-8 -*- from numpy import * #將書上的資料輸入,這裡懶得輸入那麼多個列表就用下array的轉置方法吧!就用這個方法吧0.0 def loadDataSet(): dataSet=[[1,1,1,1,1,2,2,2,2,2,3,3,3,3,3],

c++ primer plus 課後答案

#include<iostream> #include<string> using namespace std; int main() { string first_name; string last_name; char grade;

C語言程式設計 現代方法 程式設計答案

以下程式都是在VS軟體下進行編譯的,如果要用VC編譯器,刪除system(“paues”);即可 9.1 //No.1不用遞迴 #include<stdio.h> #define N 20 void selection_sort(int k, int c[]); int ma

c++ primer plus 課後答案

#include <iostream> using namespace std; int main() { int num_1,num_2,sum=0; cout << "Please enter two number: "; cin >&g

c++ primer plus 課後答案

#include <iostream> #include <cctype> using namespace std; int main() { char in_put; do { cout << "Please ente

《演算法導論》3版 2課後答案(英文版)

Solution to Exercise 2.2-2    SELECTION-SORT(A)    n = A.length    for j = 1 to n - 1        smallest = j        for i = j + 1 to n