TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ubeautqq 于 2021-4-25 18:15 编辑 5 j/ R1 S9 }4 R5 z( m- n
3 F4 B6 T3 I, Q% _1 J$ d* o
一、简介
0 E# x G9 U c6 A" o支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
]6 \; V' e' D" `6 h/ ^" r* |; k! i4 ^
1 数学部分
: Y" h: B) J' S8 V) b% q
4 H4 N/ S1 e2 n( \( l. x; L% L1.1 二维空间1 Z9 E6 G' V5 b: w
. z+ U0 Y; q/ p6 U6 l8 x
0 m) ?. u4 ^2 }% t; d" f. W( g3 E3 H4 V _, n: o+ k4 P& o7 b' V
% M g) c) |) K6 v+ h
$ ]# j- [) p% Y- U5 b" {3 ^( w
$ c9 @' D3 a) w% S) \
' _) }1 U7 p2 x, j3 z7 Q
4 i, m/ O! D Z6 K* t! c' `
, _0 k5 S! Q& R* P/ t* w
, M3 j& w0 h' F
4 z% z+ B1 A& F0 u' p1 o# W
$ T' f3 a) O9 V$ e }- G. U8 b$ ?1 c( d
; J9 u: A; }3 F% @
: H9 b% `0 H# _9 N, P! j
* y- u1 e7 L0 y# T
9 j, r4 V# R! W( J& i! S4 f! A- W; G1 i* j
6 Q% i3 A- Z$ b8 C9 H | p4 |
: V5 U8 [: B# U+ X4 C
) B4 R3 r6 ~# Q8 {( U! b# \) ?4 s1 l% W& G
2 算法部分
' M# Y4 a0 p# x5 e: _5 @( K# W2 k, o( c* [- |- M b
0 z; a& S" Q9 f7 ?" s
! h5 W) g/ h( X7 h5 r: ^! i
( k% Q$ Z' k. y
' E/ Q3 p- Z* _3 W9 \5 f
/ G0 |; D' O; t) w- ~9 h& S9 w: B
3 f) g- F) m; o2 `2 x3 O4 B5 g) [
% D& R) L' A9 [) R: x$ `
% H! A( ~2 S7 N
2 Y! q( h) x8 U5 V# ?
8 ]" f! X1 t7 m" F
二、源代码
+ J! T; F* d _/ C/ O9 ~: Q
( T1 m0 d @1 c. [& E- E: `" r- load ./CID2013.mat; %% You can also load the files of 'CSIQ.mat' or 'TID13.mat' if you want to use CSIQ or TID2013 database for training.
- train_data = Data(:,[1:5]);
- train_label = Data(:, 6);
- model = svmtrain(train_label, train_data, '-s 3'); % train
- %img = imread('.\input\TV_VR\Fig.7_RTV.jpg');
- img=imread('img004.png');
- disim = img;
- if numel(size(disim))>2 %% Is a rgb image ?
- dis_file_gray = rgb2gray(disim);
- else
- dis_file_gray = disim;
- end
- i = 1;
- %% mean value
- mean_tmp = round(mean2(dis_file_gray));
- Value(i, 1) = 1/(sqrt(2*pi)*26.0625)*exp(-(mean_tmp-118.5585)^2/(2*26.0625^2));
- %% std value
- std_tmp = round(std2(dis_file_gray));
- Value(i, 2) = 1/(sqrt(2*pi)*12.8584)*exp(-(std_tmp-57.2743)^2/(2*12.8584^2));
- %% entropy value
- entropy_tmp = entropy(dis_file_gray);
- Value(i, 3) = 1/0.2578*exp((entropy_tmp-7.5404)/0.2578)*exp(-exp((entropy_tmp-7.5404)/0.2578));
- %% kurtosis value
- kurtosis_tmp = kurtosis(double(dis_file_gray(:)));
- Value(i, 4) = sqrt(19.3174/(2*pi*kurtosis_tmp^3))*exp(-19.3174*(kurtosis_tmp-2.7292)^2/(2*(2.7292^2)*kurtosis_tmp));
- %% skewness value
- skewness_tmp = skewness(double(dis_file_gray(:)));
- Value(i, 5) = 1/(sqrt(2*pi)*0.6319)*exp(-(skewness_tmp-0.1799)^2/(2*0.6319^2));
- test_label = 0;
- [predicted_label, accuracy, decision_values] = svmpredict(test_label, Value, model);
- Score = predicted_label;
- disp('Score:');
- disp(Score );
# V7 S X" b& t/ b/ { / h1 }0 U* C& }& ]+ C P
( N- ~8 e* ?6 B w. k4 b- R9 [ |
|