TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ubeautqq 于 2021-4-25 18:15 编辑
/ ~0 @. y* l2 N6 K1 R0 r, b' p9 F% Q; e. i3 z) @) o5 Y) T
一、简介. h* l6 F4 m: ?& {
支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
5 g* l2 ]2 d9 }# g+ f/ U. Z9 y4 b
P3 u+ Z# f3 r) ]8 G1 数学部分
) W) O* _6 A Z0 {+ |+ k
2 D* _+ J, g; v! w; N; u( x+ l1.1 二维空间% G+ i) | H* B
$ [3 ~8 j- Z0 y/ F& Z& \ A
6 R7 L) R) ?3 e
, f! l3 p' X3 v
! q. i, [5 C1 y& e, J
% Y2 C' G- ]4 K9 o! Y
5 u2 g( G8 P7 m8 A- f
. a) e. Q3 D/ _0 b- Y" T
) ]) v2 {& ]5 a5 ]* @
6 {. P: a2 E+ ]
4 r3 U/ }6 m' k5 e8 c9 K2 {' B3 D, n$ R( e
" ?0 M$ `2 t: W. C
# g6 n& Y. Z/ g- s8 u
* }+ j9 i1 P- ?4 A8 i9 }& O) `9 \
! o9 X) s( i2 F e. `1 U
3 k& h+ U; O" [( m0 P8 @% B. j) Q3 ^" M1 l/ c% h! c+ M S. C
/ F. G# L) ^+ e3 v& E, S. w
- e( R' |4 ~( B+ f2 p) c5 v
! Y7 k% W$ F- b+ Y$ L2 Y. @: N2 s% X. c1 z# g
2 算法部分( h, f- J- d( w3 O( Y1 ~& e
5 A( Q. _, Q6 D6 G
" Q/ A6 h" Q8 b2 Y. |
, m9 f' q2 X" M; y2 G8 J
* }& V( e8 @/ V4 G! [4 u! c* K
2 [/ c: f0 f0 j4 F& o; q
* _. ]' z* z) f! _$ [( Q
. v7 a; E0 m Z" ]# \: q
7 ?+ N7 Z1 F# V' Q: A: x
, u+ O( ~) ^1 K4 L4 J3 i: _5 r8 L
' n0 S( t9 b# q* j2 S6 X& c3 W5 R2 f" A; j3 U; Z$ q; [+ b
二、源代码! N) J3 t6 n6 h1 o+ ~: O; r
& Q- {. u' O% F9 b2 }% n! t( ^- 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 );
- 4 T0 a4 Z! k0 m1 a; n" D
+ t. j0 ^1 P2 h2 E# k0 w
1 m, X9 N0 F- U& ] o! s3 b+ | |
|