TA的每日心情 | 衰 2019-11-19 15:32 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ubeautqq 于 2021-4-25 18:15 编辑
: |' J. B5 {; V H4 L& [
- J4 [+ w# r" [一、简介: d" i) e; p% }0 K+ V4 h! K! O
支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。: [; d, D Q9 S5 M& B
; \9 A. k. D9 f w& g
1 数学部分( e f' \" V4 ]" ?# U
6 m, x( J/ O, G Q) y; t
1.1 二维空间, e: \" X7 a" X8 w4 F( t
' V- q' y" x! A
/ _& P# b) T' X4 K' i9 t
, M7 I4 s7 C0 |6 t; x& d
1 @3 `$ V& k! I( U9 G
% M- z* j z% W/ H( D: h0 r8 w
& D% Q b; r8 Q/ P4 b: u9 m! h! }! q8 _! J+ ?4 [
" |' x$ x$ [, m4 b# m u
! Z z% z' s1 h$ R! n
6 e- S# m6 u% @/ h) S* Q" b u! ]# `$ }
! e/ j: d N" X
! `2 h4 V) k# h* n/ L/ Y
8 y. Z; k* M) Y; R2 ^1 X: {9 m% h3 Y% G: m2 y, ?* A. e b6 Q
$ M5 I+ y8 \: h" Y
( i* U$ o' d: { T9 O8 }
; F: i$ b, I6 t# I/ b0 x Q: T
8 P8 K! s! p4 E/ V
! }. _7 K K' |+ g7 U3 q; a
8 H0 o1 d4 f. y2 算法部分" G0 y- l) [9 q' ~; P
4 Q) {5 X+ Q) g" I! O. y8 m
/ f* o* k* \; W
/ @6 P; G; Q; b! o
3 Q$ f, M5 D. u E4 E8 H
2 H0 D) c& O" ? }
9 }0 M! `4 Y* K: ?2 }2 p3 u$ i4 {- ?0 X! u# a- O
|* X; ^, _. o; {. I! `# G+ ]
% F# `* ^' K8 K) B
7 Y2 i' |! T+ C9 l2 B
" O+ ?* q! a* f; `二、源代码0 |% v# t. S( n- l) f) L+ J' G
; o0 \" \& j& z8 m7 [- 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 );
' x6 G* K$ M, k: n E w 1 X: ~8 A# } e/ _ z5 b' F
! @' C b$ i2 C; a* J |
|