當前位置:
首頁 > 最新 > 機器學習——最小二乘分類

機器學習——最小二乘分類

今天介紹機器學習中的分類,我們知道,在某種意義下,機器學習方法一般被用來做兩件事:回歸(擬合)和分類,再進一步,可以將分類也歸為擬合,只不過擬合的是離散的值(函數值的符號)。

考慮2類別分類問題y∈{+1,-1},這種情況下,分類器的學習問題可以近似地定義為取值為+1、-1的二值函數問題,如下圖:

注意:f=0是指實際上不怎麼會發生的事件,也就是小概率事件。

像這樣,把分類問題看成函數的近似問題,通過在分類器得構造中採用最小二乘法,就可以對前面我們學習到的最小二乘學習法進行拓展並靈活應用了。

所以,我們還是使用和回歸一樣的學習方法:

學習好參數之後,我們在測試樣本取值的時候還要進行一些簡單的處理,就是取函數值的符號,我們使用符號函數sign。

最小二乘分類的代碼如下:

clear; closeall; clc;

n = 200;

a = linspace(0,4*pi,n/2);

u = [a.*cos(a) (a+pi).*cos(a)]" + rand(n,1);

v = [a.*sin(a) (a+pi).*sin(a)]" + rand(n,1);

x = [u v];

y = [ones(1,n/2) -ones(1,n/2)]";

x2 = sum(x.^2,2);

hh = 2*1^2;

l = 0.01;

k = exp(-(repmat(x2,1,n) + repmat(x2",n,1) - 2*x*x")/hh);

t = (k^2 + l*eye(n))(k*y);

m = 100;

X = linspace(-15,15,m)";

X2 = X.^2;

U = exp(-(repmat(u.^2,1,m) + repmat(X2",n,1) - 2*u*X")/hh);

V = exp(-(repmat(v.^2,1,m) + repmat(X2",n,1) - 2*v*X")/hh);

holdon

contourf(X,X,sign(V"*(U.*repmat(t,1,m))));

plot(x(y==1,1),x(y==1,2),"bo","MarkerSize",8,"linewidth",2.5);

plot(x(y==-1,1),x(y==-1,2),"rx","MarkerSize",8,"linewidth",2.5);

axis([-15,15,-15,15]);

colormap([1 0.7 1; 0.7 1 1]);

代碼運行結果如下:

由結果可知,最小二乘分類的效果非常好。

以上就是今天推送的內容,歡迎討論。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

一種機器學習方法,用於庫存受限的動態定價
10種機器學習即服務特性簡介及入門!

TAG:機器學習 |