機器學習 —— 基礎整理(六)線性判別函數:感知器、鬆弛算法、Ho-Kashyap算法

      這篇總結繼續複習分類問題。本文簡單整理了如下內容:算法

(一)線性判別函數與廣義線性判別函數網絡

(二)感知器機器學習

(三)鬆弛算法ide

(四)Ho-Kashyap算法函數

      閒話:本篇是本系列[機器學習基礎整理]在timeline上最新的,但實際上還有(七)、(八)都發布的比這個早,由於這個系列的博客是以前早就寫好的,不過會抽空在後臺修改,感受本身看不出錯誤(固然由於水平有限確定仍是會有些錯誤)了以後再發出來。後面還有SVM、聚類、tree-based和boosting,但如今的狀況是前八篇結束後,本系列無限期停更……學習

(一)線性判別函數與廣義線性判別函數

      1、線性判別函數優化

      現假設判別函數(Discriminant function)的參數形式已知,用訓練的方法直接根據樣本估計判別函數的參數。例如,線性判別函數的形式爲:人工智能

$$g(\textbf x)=\textbf w^{\top}\textbf x+w_0$$spa

$\textbf x\in \mathbb R^d$ 是給定的樣本,$\textbf w=(w_1,w_2,\cdots,w_d)$ 是權重向量,$w_0$ 是偏置。對於多類分類問題,若是有 $c$ 個類,那麼有 $c$ 個判別函數,將樣本的類別斷定爲各判別函數取值最大的一個(實際上這是一種one-vs-all的方式,由於一個判別函數只能夠解決二類的分類問題。下面會簡單介紹)。設計

      二分類問題的線性判別函數

      若是是二分類問題,則能夠只有一個判別函數,當 $g(\textbf x)>0$ 時判爲正類,$g(\textbf x)<0$ 時判爲負類,$g(\textbf x)=0$ 時任意。所以,$g(\textbf x)=0$ 就是決策面,對於線性判別函數來講,這是一個超平面(hyperplane,直線的高維推廣)。對於一組來源於兩類的樣原本說,若是存在一個超平面能夠將它們徹底正確地分開,則稱它們是線性可分的。

      就這個描述來講,以前總結過的二項Logistic迴歸模型(若是隻考慮線性決策面)和這裏的描述是一致的,本質上都是須要學習出 $\textbf w$ 、$w_0$ ,二項Logistic迴歸模型還更進一步,將判別函數的值經過logistic函數 $\sigma(\cdot)$ 映射到了 $(0,1)$ 區間,進而給出了樣本屬於正類的機率。

      根據幾何關係,對於任同樣本 $\textbf x$ 來講,設它到決策面的投影點爲 $\textbf x_p$ ,到決策面的距離爲 $r$ (有正負,若是大於零則表示樣本屬於正類,處在決策面的正側),那麼以下關係成立:

$$\textbf x=\textbf x_p+r\frac{\textbf w}{||\textbf w||}$$

因爲 $g(\textbf x_p)=0$ ,因此可獲得 $r=g(\textbf x)/||\textbf w||$ 。若是決策面過原點,就代表 $w_0=0$ (原點到決策面的距離爲 $w_0/||\textbf w||$ ),這時稱判別函數是齊次(homogeneous)的。

圖片來源:[1]

      one-vs-rest

      這裏多提一句,若是是二分類器想用於多分類問題( $c$ 類),通常採用的策略是 one-vs-all(one-vs-rest),就是說訓練 $c$ 個二分類器,其中分類器 $i$ 給出樣本屬於 $i$ 類的後驗機率( $i=1,2,\cdots, c$ ),從而將樣本的類別斷定爲後驗機率最大的那個類。

      2、廣義線性判別函數

      既然能夠有線性判別函數,那麼同理能夠有二次判別函數(quadratic),其決策面是超二次曲面;進一步能夠有多項式判別函數(polynomial)。所謂廣義線性判別函數(generalized linear),就是指

$$g(\textbf x)=\sum_{i=1}^{\hat d}a_iy_i(\textbf x)=\textbf a^{\top}\textbf y$$

      這裏 $\textbf y=(y_1(\textbf x),y_2(\textbf x),\cdots,y_{\hat d}(\textbf x))^{\top}\in \mathbb R^{\hat d}$ ,將 $\textbf x$ 映射到 $\hat d$ 維空間。齊次的形式標明瞭該判別函數所決定的決策面經過新空間的原點,新空間中的任一點到決策面的距離爲 $\textbf a^{\top}\textbf y/||\textbf a||$ (根據上面 $r$ 的表達式可相似獲得)。若是 $\hat d$ 足夠大,那麼 $g(\textbf x)$ 能夠逼近任意判別函數,可是若是新空間的維數遠高於原始空間的維數則會帶來維數災難(由於隨着維數增多,須要的樣本量指數級增加,以前的總結中提到過)。

      舉個例子:設一維空間下的樣本,但願 $x<-1$ 或 $x>0.5$ 爲正類,那麼能夠獲得符合要求的判別函數爲 $g(x)=(x-0.5)(x+1)=-0.5+0.5x+x^2$ ,因此這裏就將一維樣本映射到了三維空間:$\textbf y=(y_1,y_2,y_3)^{\top}=(1,x,x^2)^{\top}$ 。從圖裏能夠看出,映射後的機率密度實際上是退化的,在曲線上無窮大,曲線外爲0,這是映射到高維空間時的一個廣泛問題。

圖片來源:[1]

      藉着這個討論,規定一下記號:在後面的討論中,假設樣本 $\textbf x$ 都將轉換爲規範化增廣表示形式 $\textbf y$ :增廣就是說先把 $\textbf x$ 加一個維度 $x_0$ 且 $x_0=1$ ,規範化就是說當樣本屬於負類時,將樣本的每一個維度(包括 $x_0$ )取負號。而且權重向量 $\textbf w$ 和偏置 $w_0$ 合爲一個向量 $\textbf a=(w_0,w_1,\cdots,w_d)^{\top}$ 。

      3、解區

      在這樣的表示下,目標就成了:求出使 $\textbf a^{\top}\textbf y_i>0$ 對全部樣本 $\textbf y_i$( $i=1,2,\cdots,N$)都成立的權向量 $\textbf a$。在線性可分的狀況下,知足該要求的權向量被稱爲解向量(Solution vector) $\textbf a$ 。

      權向量 $\textbf a$ 可認爲是權空間中的一點,任同樣本 $\textbf y_i$ 對解向量的位置都起限制做用。因爲任同樣本 $\textbf y_i$ 均可以肯定一個以 $\textbf y_i$ 爲法向量的超平面 $\textbf a^{\top}\textbf y_i=0$ ,因此若是解向量存在,則它必處在超平面的正側,由於只有處在正側才知足 $\textbf a^{\top}\textbf y_i>0$ 。

      那麼,若是解向量存在,則它必處在全部超平面 $\textbf a^{\top}\textbf y_i=0$ 的正側區域的交集內,這個交集稱爲解區(Solution region)。以下圖所示,陰影部分的區域內都是解向量。

圖片來源:[1]

      其實還能夠對解區進行限制,好比說將目標變得嚴苛一些: $\textbf a^{\top}\textbf y_i\geq b>0$ ,$b$ 被稱爲margin(譯爲「間隔」、「邊沿裕量」,SVM的一個核心概念)。限制解區後的情形以下圖所示。

圖片來源:[1]

      4、準則函數

      從上面能夠知道,對於線性可分的狀況,解向量有無數個。因此要引入準則函數(Criterion function),經過迭代的方式進行訓練,求取準則函數的最小值,來獲得惟一一個解向量。而且儘可能不收斂到解區邊界,由於解區中間的解向量每每泛化性更好。

      準則函數有點像以前介紹的經驗風險(刻畫模型在訓練樣本上的平均損失),都是訓練模型時的優化目標。

      下面就開始介紹各類用來訓練線性判別函數的準則。

(二)感知器Perceptron

      零、歷史

      既然說到感知器了,那就跑題說點歷史好了。

      1890年,美國生物學家W. James出版了《Physiology》(生理學)一書,講述有關人腦結構和功能,以及學習、記憶等基本規律,指出當兩個基本處理單元同時活動,或兩個單元靠得很近時,一個單元的興奮狀態會傳遞給另外一單元,而且一個單元的活動程度與其周圍的活動數量和密度成正比。

      1943年,Warren McCulloach, Walter Pitts提出了著名的MP神經元模型,認爲單元的輸入存在興奮邊、抑制邊兩種,若是沒有抑制邊輸入而且興奮邊的數量超過一個閾值,則神經元處於興奮,不然處於抑制——這個模型給出了神經元的結構,使用閾值函數來輸出,但全部輸入邊的權重都爲1,而且只要有一條抑制邊輸入那麼就不可能興奮。

      1949年,心理學家Hebb提出用於肯定輸入邊權重的Hebb規則,該規則認爲兩個具備相同狀態的神經元之間的權重要大。

      1957年,Frank Rosenblatt提出感知器(Perceptron),隨後在IBM704計算機上進行模擬從而證實了該模型有能力經過調整權重的學習達到正確分類的效果,第一次把神經網絡從純理論推到工程實踐,掀起了研究高潮;在1962年感知器算法被證實是收斂的。

      1960年,Bernard Widrow和Ted Hoff提出自適應線性單元(Adaptive linear neuron,ADALINE),學習規則也由Hebb規則轉向Delta規則:利用實際輸出與指望輸出的偏差來指導學習,即LMS filter(上篇總結的線性迴歸部分提到過)。

      1969年,Minsky出版《Perceptron》,但同時指出感知器的兩個問題:一個就是著名的「單層感知器沒法解決異或(XOR,相異取真,相同取假)這樣的線性不可分問題」,另一個是這種侷限在複雜結構中依然存在。不僅是神經網絡,整個AI都迎來寒冬。那時候晶體管尚未普及,大可能是電子管(真空管),支持不了大規模計算。

      1974年,Paul Werbos的博士論文裏提出了BP算法(後被稱爲廣義Delta規則),可是沒有引發重視。

      在70年代,聽說全球只有幾十我的在研究,但仍是有一些成果:1976年Stephen Crossberg的共振自適應理論(Adaptive resonance theory,ART網絡)、1979年日本Fukusima的神經認知機(Neocognitron,將感覺野應用到NN)、80年代芬蘭Kohonen的自組織競爭神經網絡等。

      1982年,物理學家John Hopfield提出Hopfield網絡,基本思路是對於一個給定的神經網絡,設計一個正比於每一個神經元的活性和權重的能量函數,活性的改變算法向能量函數減少的方向進行,直到達到極小值。神經網絡開始復興。

      1986年,Rumelhart、Hinton、Williams將BP應用到神經網絡;1987年,第一屆世界神經網絡大會在美國召開,千人蔘會。

      1989年,使用sigmoid激活的單隱層神經網絡被證實能夠逼近任意非線性函數;LeCun的CNN用在文本識別;1990年,RNN;1997年,LSTM;2006年,DBN,深度學習的概念被提出;2011年,語音識別領域首先取得突破;2012年,AlexNet在ImageNet奪冠,引爆這個領域,以後……

      1、感知器

      首先說明:感知器算法(以及接下來介紹的鬆弛算法)對於線性不可分的數據是不收斂的。對於線性可分的數據,能夠在有限步內找到解向量。收斂速度取決於權向量的初始值和學習率。

      感知器(Perceptron)屬於判別模型(Discriminative model),從樣本中直接學習判別函數,全部類別的樣本放在一塊兒學習。它是神經網絡和SVM的基礎。

      感知器準則函數被定義爲

$$J_p(\textbf a)=\sum_{\textbf y\in \mathcal Y(\textbf a)}(-\textbf a^{\top}\textbf y)$$

式中的 $\mathcal Y(\textbf a)$ 是被當前 $\textbf a$ 錯分的樣本(即知足 $\textbf a^{\top}\textbf y\leq 0$ 的所有 $\textbf y$ )構成的集合。

      也就是說,感知器算法是錯誤驅動(error-correcting procedure)的:被正確分類的樣本對準則函數沒有貢獻,不產生偏差;又由於對於被錯分的樣本 $\textbf y$ ,$\textbf a^{\top}\textbf y\leq 0$ ,那麼能夠知道 $J_p(\textbf a)\geq 0$ 。若是不存在錯分樣本,那麼準則函數的值就爲0。所以,優化目標就是最小化 $J_p(\textbf a)$ :

$$\min_{\textbf a}J_p(\textbf a)$$

      使用梯度降低法,迭代求取解向量。準則函數的梯度以及更新規則爲

$$\nabla_{\textbf a}J_p=\frac{\partial J_p}{\partial\textbf a}=\sum_{\textbf y\in \mathcal Y(\textbf a)}(-\textbf y)$$

$$\textbf a_{k+1}=\textbf a_{k}-\eta_k\nabla_{\textbf a}J_p$$

      式中的下標 $k$ 表示第 $k$ 次迭代。停機條件能夠是所有樣本都被權向量所決定的超平面正確分類,也能夠放鬆一點,例如 $J_p(\textbf a)$ 小於某個很小的值,或達到了最大的迭代次數時強制停機。

      獲得解向量 $\textbf a$ 後,就惟一肯定了判別函數 $g(\textbf x)$ ,進而能夠對樣本 $\textbf x$ 進行分類。

      這種更新方式被稱爲批處理(batch)梯度降低,由於在一次迭代過程當中求取了所有訓練樣本的梯度,這種方式在樣本量很大且特徵維數很高的時候效率比較低。

      與之相對應的一種方式是隨機梯度降低(Stochastic gradient descent),一次迭代中隨機選取一個被錯分的樣本求梯度而後更新權向量。隨機梯度降低的方式能夠有很是顯而易見的解釋:當前的權向量會把一個樣本錯誤分類,那麼就把此時的超平面向這個樣本移動,使新的權向量有可能將其正確分類。設在一次迭代中挑選出的被錯分的樣本爲 $\textbf y^k$ ,那麼更新規則爲

$$\textbf a_{k+1}=\textbf a_{k}-\eta_k(-\textbf y^k)$$

      一種折中的方式是mini-batch梯度降低,這正是目前採用最普遍的一種方式。

      學習率是很是關鍵的,太大會致使震盪,過小則會使收斂過程很慢。如今有很多策略使學習率自適應調整,例如AdaGead、Adam、AdaDelta、RMSprop等;另外,還有加動量的方式,在當前迭代中加入上一次的梯度進行加速。這裏就不展開了,具體哪一種方式更好是取決於具體任務的。

      將感知器的更新準則和神經網絡的BP算法進行比較可知,後者主要是多出來了一項激活函數的導函數。

      2、帶margin的感知器

      感知器能夠帶margin,也就是說進一步要求解向量必須知足 $\textbf a^{\top}\textbf y_i\geq b>0$ 。相比於不帶margin的感知器,梯度是沒有變的因此更新規則的表達式是同樣的,但變化的是 $\mathcal Y(\textbf a)$ 以及停機條件。

      3、多類感知器

      原始的感知器只能處理兩類問題,不提供機率形式的輸出,因此不能處理多類分類問題。經過引入特徵函數 $\phi(x,y)$ 將輸入輸出對映射到向量空間中,能夠獲得多類感知器。在特徵函數的做用下,感知器不只能夠處理多類問題,也能處理結構化輸出任務(這類任務也有專門的算法,好比structured-SVM等)。這裏不展開了,由於沒有在實戰中用過,因此也沒有太多理解,具體講解能夠參考[3]。

(三)鬆弛算法Relaxation procedure

      1、平方準則函數

      在介紹鬆弛算法以前,先介紹平方準則函數。

      上面所提到的感知器準則函數能夠被稱爲線性準則函數。所謂平方準則函數是下面的形式:

$$J_q(\textbf a)=\sum_{\textbf y\in \mathcal Y(\textbf a)}(\textbf a^{\top}\textbf y)^2$$

能夠看出兩者之間的共同點是都只關注被錯分的樣本,區別在於 $J_p$ 的梯度是不連續的(由於 $J_p$ 分段線性),$J_q$ 的梯度是連續的。可是即使如此,$J_q$ 依然存在兩個問題:首先, $J_q$ 過於平滑致使收斂很慢,並且其在解區邊界很光滑致使可能收斂到解區邊界,對泛化性不利;其次,其獲得的解向量可能依賴於模值最大的樣本向量。因爲上面兩個問題,引出下面的鬆弛準則函數。

      2、鬆弛準則函數

      與感知器相同,鬆弛算法(Relaxation procedure)也是錯誤驅動的。鬆弛準則函數的形式以下

$$J_r(\textbf a)=\frac12\sum_{\textbf y\in \mathcal Y(\textbf a)}\frac{(\textbf a^{\top}\textbf y-b)^2}{||\textbf y||^2}$$

式中的 $\mathcal Y(\textbf a)$ 是知足 $\textbf a^{\top}\textbf y\leq b$ 的所有 $\textbf y$ 構成的集合。一樣地,能夠用批處理的方式更新權向量,梯度和更新規則爲

$$\nabla_{\textbf a}J_r=\sum_{\textbf y\in \mathcal Y(\textbf a)}\frac{\textbf a^{\top}\textbf y-b}{||\textbf y||^2}\textbf y$$

$$\textbf a_{k+1}=\textbf a_{k}-\eta_k\nabla_{\textbf a}J_r$$

      相似於感知器,可得隨機梯度降低方式下鬆弛算法的更新規則:

$$\textbf a_{k+1}=\textbf a_{k}-\eta_k\frac{\textbf a_k^{\top}\textbf y^k-b}{||\textbf y^k||^2}\textbf y^k$$

      下面討論一下學習率 $\eta_k$ 取值不一樣時,$\textbf a_{k+1}$ 是否能夠把被 $\textbf a_{k}$ 錯分的樣本 $\textbf y^k$ 正確分類。根據這個式子,稍加計算就能夠獲得

$$\frac{\textbf a_{k+1}^{\top}\textbf y^k-b}{1-\eta_k}=\textbf a_k^{\top}\textbf y^k-b\leq 0$$

因此若是想要 $\textbf a_{k+1}$ 將樣本 $\textbf y^k$ 正確分類(即 $\textbf a_{k+1}^{\top}\textbf y^k-b\geq 0$ ),就必須有

$$\eta_k>1$$

這種狀況被稱爲超鬆弛(過鬆弛)。相似地,$\eta_k<1$ 被稱爲軟鬆弛(欠鬆弛)。

      實際使用中,一般限定 $0<\eta_k<2$ ,作了這樣的限定以後,對於線性可分的數據來講鬆弛算法能夠收斂到解向量。與感知器相同,鬆弛算法對於線性不可分數據是不收斂的。

圖片來源:[1]

 

      我簡單實現了鬆弛算法(批處理和SGD),在不能更toy的線性可分數據(二維特徵,每類10個點。。。)上運行,畫出了準則函數的值隨迭代次數的變化趨勢圖:第一張圖是批處理梯度降低,初始向量爲全零,margin分別取0.1和0.5,固定增量 $\eta_k=1$ ;第二張圖是隨機梯度降低,初始向量爲全零,margin分別取0.1和0.5,固定增量 $\eta_k=1$ 。能夠看出,批處理梯度降低方法會讓準則函數值的變化趨勢平滑一些。

 

 

(四)Ho-Kashyap算法 

      1、MSE準則函數

      在介紹Ho-Kashyap算法以前,先介紹最小偏差平方和準則函數。在上一篇總結中,線性迴歸就是用的平方損失函數來求取權重向量,這裏的思路和線性迴歸是一致的。

      剛纔的準則函數都是關注於錯分樣本,而對正確分類的樣本則沒有考慮在內。MSE準則函數把求解目標從不等式形式變成了等式形式:求取知足 $\textbf a^{\top}\textbf y_i=b_i$ 的權向量。在這裏,$b_i$ 是任取的正常數。

      若是記矩陣 $Y\in\mathbb R^{N\times \hat d}$ 且其每行都是一個樣本 $\textbf y^{\top}$ ,向量 $\textbf b=(b_1,b_2,\cdots,b_N)^{\top}$ ,那麼就能夠表述爲求方程 $Y\textbf a=\textbf b$ 的解。爲了求解這個問題,使用MSE準則函數:

$$J_s(\textbf a)=||Y\textbf a-\textbf b||^2=\sum_{i=1}^N(\textbf a^{\top}\textbf y_i-b_i)^2$$

      到這裏其實就不必繼續說下去了,由於上篇剛整理過——這不就是線性迴歸嗎?只不過在這裏求出來的解向量被用來定義決策面。最小化上述準則函數有兩種方法,一種是直接求一階導數等於零這個方程(正規方程組),一種是LMS規則迭代求解。MSE準則函數的梯度以及LMS規則(batch和SGD)爲

$$\nabla_{\textbf a}J_s=2Y^{\top}(Y\textbf a-\textbf b)$$

$$\textbf a_{k+1}=\textbf a_{k}-\eta_k\nabla_{\textbf a}J_s$$

$$\textbf a_{k+1}=\textbf a_{k}-\eta_k(\textbf a_k^{\top}\textbf y^k-b)\textbf y^k$$

乍一看好像和鬆弛算法同樣,其實有兩個區別——第一個區別是停機條件不一樣:鬆弛算法要求對於所有的樣本都有 $\textbf a^{\top}\textbf y_i>b$ ,而MSE則要求 $\textbf a^{\top}\textbf y_i=b_i$ ,因此後者必須令學習率隨迭代次數的增長而減小才能保證收斂(實際中這種精確相等關係幾乎是不可能的),例如取 $\eta_k=\eta_1/k$ ;第二個區別是鬆弛算法對於不可分的樣本不收斂,而MSE總能收斂到一個權向量。

      那麼問題就來了,MSE方法獲得的解向量所決定的超平面實際上未必是分類面,由於它的本質是最小化樣本到超平面的距離的平方和,而不是分類。

圖片來源:[1]

      2、Ho-Kashyap算法

      爲了保證算法能夠收斂到分類超平面,必須作出改進。咱們知道,對於線性可分的數據必定能夠找到解向量 $\textbf a$ 使 $\textbf a^{\top}\textbf y_i>0$ 對全部樣本 $\textbf y_i$( $i=1,2,\cdots,N$)都成立。那麼換句話說,必定存在一個 $\textbf a$ 和 $\textbf b$ ,使下式成立

$$Y\textbf a=\textbf b>0$$

      接下來要作的就是調整MSE的準則函數,作法就是讓 $\textbf b$ 也是須要學習的參數,而不是事先指定好的,這就引出了Ho-Kashyap算法

$$J_s(\textbf a,\textbf b)=||Y\textbf a-\textbf b||^2$$

直接優化上式將致使平凡解,因此須要給 $\textbf b$ 加一個約束條件,要求其每一個份量都大於零,進而能夠解釋成margin

$$\textbf b>\textbf 0$$

      梯度以下

$$\nabla_{\textbf a}J_s=2Y^{\top}(Y\textbf a-\textbf b)$$

$$\nabla_{\textbf b}J_s=-2(Y\textbf a-\textbf b)$$

      先看 $\textbf a$ :對於任一 $\textbf b$ ,可令

$$\textbf a=Y^{\dagger}\textbf b$$

這樣的話就使得 $\nabla_{\textbf a}J_s=\textbf 0$ 且 $J_s$ 關於 $\textbf a$ 是極小的。

      再看 $\textbf b$ :因爲須要知足份量全正,因此必須避免收斂到 $\textbf b=\textbf 0$ 。所以能夠將初值的份量所有置爲正值,並要求梯度必須爲負,這樣每一個份量的值只會增長而不會減少。

      這樣以來,能夠給出以下更新規則:

$$\textbf a_k=Y^{\dagger}\textbf b_k$$

$$\textbf b_1>\textbf 0,\quad\textbf b_{k+1}=\textbf b_k-\eta_k\frac12(\nabla_{\textbf b}J_s-|\nabla_{\textbf b}J_s|)$$

第二個式子的作法使得 $\nabla_{\textbf b}J_s$ 中原先爲負的變量保持不變,而原先爲正的份量變爲零,從而實現了負梯度。停機條件能夠設置爲 $|Y\textbf a_k-\textbf b_k|<b_{\min}$( $b_{\min}$ 是一個很小的正數)。

      下面看一下這個算法不同凡響的地方——收斂性。記爲 $\textbf e_k=Y\textbf a_k-\textbf b_k$ ,那麼停機條件就是 $|\textbf e_k|<b_{\min}$ 。當 $\textbf e_k=Y\textbf a_k-\textbf b_k=\textbf 0$ 時,因爲 $\textbf b_k$ 再也不更新,所以獲得一個解。

      1. 對於線性可分的狀況,若 $0<\eta<1$ ,則該算法在有限步內收斂;

      2. 若是 $\textbf e_k$ 有小於零的元素,就證實數據是線性不可分的,算法終止。

      我簡單實現了這個算法,在圖示的toy不可分數據上運行,margin向量初始值爲 $\textbf b_1=\textbf 1$ ,收斂準則 $b_{\min}=0.1$ ,固定增量 $\eta_k=0.8$ 時,迭代131步後算法判斷出樣本線性不可分,此時準則函數的值爲 $J_s(\textbf a,\textbf b)=8.451$ ,並給出以下圖所示的決策面:

 

 

 

參考資料:

[1] 《模式分類》及slides

[2] 《統計學習方法》

[3] 《神經網絡與深度學習講義》

[4] 《人工智能理論與實踐》課程slides

相關文章
相關標籤/搜索