TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ubeautqq 于 2021-4-25 18:15 编辑 , g' q/ R; \) g% {! A- S6 F
6 r$ `/ K8 h4 ~; e! I一、简介: t" {7 |# e" y7 `; f& q
支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
8 Z5 _ E7 X0 K& G e1 Z! g5 U, b
- W$ V2 G$ } V9 o0 G1 数学部分
4 J! l5 h" V2 K" T- b7 j0 d b, k, h5 }0 w
1.1 二维空间
6 A0 {, u& s& u- J# |6 P& @# C9 M9 D& ]) }) v: W+ N- u" W
6 _8 U) h1 _" e- k1 S/ L# q
7 }2 s; p' D2 j! x0 S1 T
/ M( R+ j- B h! z
8 j; L- s7 C% o$ X7 C, n$ K9 ]
7 g, o" P% @0 H& X3 G" v k" Y6 h2 Q: @. N2 _+ f
O- R7 @( i0 T5 y) c: z
! Q. ?# {4 [/ v( P
4 H' k# m. {; \5 W" ^& ]! \
* U2 o" p9 l. ~/ }
9 g2 _* V8 I( @+ ~4 Z1 p3 z- h, |6 S& W3 B0 [, l8 o* p
5 O! `. k4 _3 ?' z }' N
. s0 w* @ x$ Y! M" P" e
/ ~; `9 P% S! }0 r
! H# v! F% b0 J% _! Q4 a
& i( ?8 H! {. G0 w- _
0 G; o0 B* [# H: C. F( O& E' @' C5 Z+ f, L# M2 ~3 p- q6 ~
, C0 R1 y0 J8 P5 O2 R, {& I9 z4 v- D) c
2 算法部分
. t! Y# r' P& q/ |7 ~
0 r: ?1 B, S2 ?/ e
7 s# H* z' `4 P8 I3 Y
7 I, R. }6 z8 \1 B
G; x% ~! W) ` a+ w: ]( @+ Y+ Y: [% F- w0 o
' Z; t, y+ ?2 A& f. B/ t" h
% B$ R; X: Q' P
% {# l# ~& ^0 ^4 ^4 s/ w$ ]9 i
2 g% P5 p2 f/ ?5 Y9 ~7 h3 Z& b# T$ u, m3 P' W
' \ T5 i$ t4 Z% r
二、源代码
/ l6 X3 h6 {( Q5 X3 _5 f+ c( G5 h
+ L9 l6 }* V9 ^- 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 );
. L7 g9 E* G7 P 1 D/ e, I* U* {! R4 z3 ]
, M+ G4 w; a+ W1 O& }- `( i, @* S5 e! n
|
|