第九章 支援向量機

2021-09-26 05:49:28 字數 1742 閱讀 5052

9.1.1 線性可分

9.1.2 線性

線性可分時:硬間隔超平面

近似線性可分:軟間隔超平面

9.1.3 可分

避免高維特徵空間進行複雜的運算,引入核函式形成不同的演算法

9.1.4 c-支援向量分類機

clc, clear

a0=load('fenlei.txt');

a=a0'; b0=a(:,[1:27]); dd0=a(:,[28:end]); %提取已分類和待分類的資料

[b,ps]=mapstd(b0); %已分類資料的標準化

group=[ones(20,1); 2*ones(7,1)]; %已知樣本點的類別標號

s=svmtrain(b',group) %訓練支援向量機分類器

sv_index=s.supportvectorindices %返回支援向量的標號

beta=s.alpha %返回分類函式的權係數

bb=s.bias %返回分類函式的常數項

mean_and_std_trans=s.scaledata %第1行返回的是已知樣本點均值向量的相反數,第2行返回的是標準差向量的倒數

check=svmclassify(s,b') %驗證已知樣本點

err_rate=1-sum(group==check)/length(group) %計算已知樣本點的錯判率

solution=svmclassify(s,dd') %對待判樣本點進行分類

模式識別問題

在自然界可以觀察的食物,如果能夠區分它們是否相同或者是否相似,即為模式

clc,clear

a=load('cancerdata2.txt');

a(:,1)=; %刪除第一列

gind=find(a(:,1)==1); %讀出序號

bind=find(a(:,1)==-1); %讀出序號

training=a([1:500],[2:end]); %提出已知樣本點的資料

training=training'; %為了進行標準化,這裡進行了轉置

[train,ps]=mapstd(training); %已分類資料標準化

group(gind)=1; group(bind)=-1; %已知樣本點的類別標號

group=group'; %轉為為列向量

xa0=a([501:569],[2:end]); %提出待分類資料

s=svmtrain(train',group, 'method','smo', 'kernel_function','quadratic') %使用序列最小化方法訓練支援向量機的分類器,如果使用二次規劃的方法訓練支援向量機則無法求解

sv_index=s.supportvectorindices' %返回支援向量的標號

beta=s.alpha' %返回分類函式的權係數

b=s.bias %返回分類函式的常數項

mean_and_std_trans=s.scaledata

check=svmclassify(s,train'); %驗證已知樣本點

err_rate=1-sum(group==check)/length(group) %計算錯判率

solution=svmclassify(s,xa'); %進行待判樣本點分類

solution=solution'

sg=find(solution==1)

sb=find(solution==-1)

第九章 SVM(支援向量機)

支援向量機 svm 一種對線性和非線性資料進行分類的方法。簡單的說,svm是一種演算法 其實不能說,svm是乙個分類器,因為它也可以用來做回歸 工作過程 使用一種非線性對映,把原訓練資料對映到較高的維上。在新的維上,它搜尋最佳分離超平面 即將乙個類的元組與其他類分離的 決策邊界 使用到足夠高維上的 ...

第九章(筆記)

轉移指令是可以修改ip,或同時修改cs和ip的指令 offset 是用於提取標號偏移位址的操作符 jmp在第2章裡說到時用於修改ip或同時修改cs和ip的轉移指令,這章裡單獨的jmp指令是乙個無條件的轉移指令 jmp short 標號 是實現段內短轉移 jmp near ptr 標號 是實現段內近轉...

第九章作業

班級 0401304 學號 2013211526 姓名 鄧小俊 2.身份驗證 依據使用者所提供的身份資訊,來進行登入驗證,可以再細分為使用者是否可以登入sql sever 使用者是否可以登入到指定的目標資料庫等。授權 已通過身份驗證的使用者,檢查其所被賦予的許可權,是否可以訪問或者執行目標的物件 3...