TA的每日心情 | 衰 2019-11-19 15:32 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 ubeautqq 于 2021-4-25 18:15 编辑 $ Q) T N% D2 c7 U$ z
5 B8 j' k5 |; o+ `6 ~, d4 D+ I一、简介' M' x, h- H. v, g& j: l/ k% l
支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。# L7 R% r+ v8 u+ U
/ C, k- @ e4 O# [( N9 g) a
1 数学部分/ N3 q9 n9 ^; A, ?5 O
6 n' X3 W4 g# S' n h
1.1 二维空间
/ n+ @- O' e" h' o: N/ D4 O+ {6 B- v1 }1 S7 ]: |3 O1 t
' X5 V0 x- T4 S- m! _$ `
' L0 ?0 h4 h7 X
l" G3 [" [, }1 H H+ q
3 a3 H1 R* w- G+ ? u% a
( d+ Z0 o1 J" u7 _: n/ _) y% E4 k+ }# J/ Z$ z
/ S1 F$ f: N/ E! y6 {& H" U
5 p$ w9 P4 J( h, ^2 `
) A* c: |2 [) e, C- A1 W% O# A$ r8 ^# N- Q5 T# P
, _+ M. x$ s, t b5 [; W& s
# a0 ?0 Q0 m# a! ^. h5 ~0 e4 u! d
5 Q Y- S5 G7 _; s
0 ^+ H2 Y& F" o% }( B* }* Z* ~6 W5 ]
( r4 Q7 ]$ _* S' Q4 q! f: m
6 i" B; P/ ^+ ~# @& l& m
2 Q; C. i( l( D6 i5 [
+ \& ?, n6 T( K; m- ^' w+ a6 U' h3 Y( H5 g8 X* i; I" |
_# R* `' J6 x" {, R$ ^+ x/ K) {
2 算法部分
a# Z) C6 k& Q4 }9 F# s X( Y+ h3 O" H
4 }/ E; k, i4 U3 U6 V! p
2 K$ w( u- X; s
" W& t) v& \5 r" N6 s# D& N; x- W) h5 \6 R% W
; }/ _) R v; s( ]- {4 C/ q$ V: a+ O" p [! x( m- u/ A
! E( [4 r4 d* C" G1 N4 C
1 v- H0 j8 ^/ `& C& D/ U" d% g
) x; m" V- J' }# g! [% Y! o2 t$ s- X0 H
二、源代码
2 q( u9 Y$ X' {/ z
, Q. g$ G# h: q; }0 N- 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 );
- - n8 g% y4 d e2 L9 c b
+ n" S) C, x1 W3 f! Y/ Q! w; Z
; \, l- p' g6 K8 ~' o" p2 p |
|