Vous êtes sur la page 1sur 33

Chapter7Clustering PatternRecognition RischanMafrur 138173 (Ex7.4.1)Repeatstep1ofExample7.4.

2withasetof300samples

MatlabCode
% 1 . G e n e r a t e t h e r e q u i r e d d a t a s e t r a n d n ( ' s e e d ' , 0 ) m = [ 0 0 ] S = e y e ( 2 ) n _ p o i n t s = 3 0 0 % N u m b e r o f p o i n t s p e r g r o u p X 1 = [ ] X 1 = m v n r n d ( m , S , n _ p o i n t s ) X 1 = X 1 ' % P l o t t h e d a t a s e t f i g u r e ( 1 ) , p l o t ( X 1 ( 1 , : ) , X 1 ( 2 , : ) , ' . b ' ) f i g u r e ( 1 ) , a x i s e q u a l % % 2 . T o e s t i m a t e t h e n u m b e r o f c l u s t e r s w e p r o c e e d a s f o l l o w s : % ( a ) D e t e r m i n e t h e m i n i m u m a n d t h e m a x i m u m d i s t a n c e s b e t w e e n p o i n t s o f X 1 [ l , N ] = s i z e ( X 1 ) d i s t a = z e r o s ( N , N ) f o r i = 1 : N f o r j = i + 1 : N d i s t a ( i , j ) = s q r t ( s u m ( ( X 1 ( : , i ) X 1 ( : , j ) ) . ^ 2 ) ) d i s t a ( j , i ) = d i s t a ( i , j ) e n d e n d t r u e _ m a x i = m a x ( m a x ( d i s t a ) ) t r u e _ m i n i = m i n ( d i s t a ( ~ l o g i c a l ( e y e ( N ) ) ) ) % % ( b ) D e t e r m i n e m i n , m a x a n d s m e a n i = ( t r u e _ m i n i + t r u e _ m a x i ) / 2 t h e t a _ m i n = . 2 5 * m e a n i t h e t a _ m a x = 1 . 7 5 * m e a n i n _ t h e t a = 5 0 s = ( t h e t a _ m a x t h e t a _ m i n ) / ( n _ t h e t a 1 ) % % ( c ) R u n n t i m e s t h e B S A S f o r e a c h v a l u e o f t h e t a e a c h t i m e w i t h d i f f e r e n t % o r d e r i n g o f t h e d a t a

q = N n _ t i m e s = 1 0 m _ t o t = [ ] f o r t h e t a = t h e t a _ m i n : s : t h e t a _ m a x l i s t _ m = z e r o s ( 1 , q ) f o r s t a t = 1 : n _ t i m e s % f o r e a c h v a l u e o f T h e t a B S A S r u n s n _ t i m e s t i m e s o r d e r = r a n d p e r m ( N ) [ b e l , m ] = B S A S ( X 1 , t h e t a , q , o r d e r ) l i s t _ m ( s i z e ( m , 2 ) ) = l i s t _ m ( s i z e ( m , 2 ) ) + 1 e n d [ q 1 , m _ s i z e ] = m a x ( l i s t _ m ) m _ t o t = [ m _ t o t m _ s i z e ] e n d % ( d ) P l o t m v e r s u s t h e t a ( s e e F i g u r e 7 . 3 ( a ) ) t h e t a _ t o t = t h e t a _ m i n : s : t h e t a _ m a x f i g u r e ( 2 ) , p l o t ( t h e t a _ t o t , m _ t o t ) % % D e t e r m i n e t h e f i n a l e s t i m a t e o f t h e n u m b e r o f c l u s t e r s a n d t h e c o r r e s p o n d i n g , a s i t i s % p r e v i o u s l y d e s c r i b e d m _ b e s t = 0 t h e t a _ b e s t = 0 s i z = 0 f o r i = 1 : l e n g t h ( m _ t o t ) i f ( m _ t o t ( i ) ~ = 1 ) % E x c l u d i n g t h e s i n g l e c l u s t e r c l u s t e r i n g t = m _ t o t m _ t o t ( i ) s i z _ t e m p = s u m ( t = = 0 ) i f ( s i z < s i z _ t e m p ) s i z = s i z _ t e m p t h e t a _ b e s t = s u m ( t h e t a _ t o t . * ( t = = 0 ) ) / s u m ( t = = 0 ) m _ b e s t = m _ t o t ( i ) e n d e n d e n d % C h e c k f o r t h e s i n g l e c l u s t e r c l u s t e r i n g i f ( s u m ( m _ t o t = = m _ b e s t ) < . 1 * n _ t h e t a ) m _ b e s t = 1 t h e t a _ b e s t = s u m ( t h e t a _ t o t . * ( m _ t o t = = 1 ) ) / s u m ( m _ t o t = = 1 ) e n d % % % 3 . R u n t h e B S A S a l g o r i t h m f o r t h e t a _ b e s t o r d e r = r a n d p e r m ( N ) [ b e l , r e p r e ] = B S A S ( X 1 , t h e t a _ b e s t , q , o r d e r ) % P l o t t h e r e s u l t s ( s e e F i g u r e 7 . 3 ( b ) ) f i g u r e ( 1 1 ) , h o l d o n f i g u r e ( 1 1 ) , p l o t ( X 1 ( 1 , b e l = = 1 ) , X 1 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 1 ( 1 , b e l = = 2 ) , X 1 ( 2 , b e l = = 2 ) , ' g * ' , X 1 ( 1 , b e l = = 3 ) , X 1 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 1 ( 1 , b e l = = 4 ) , X 1 ( 2 , b e l = = 4 ) , ' c x ' , X 1 ( 1 , b e l = = 5 ) , X 1 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 1 ( 1 , b e l = = 6 ) , X 1 ( 2 , b e l = = 6 ) , ' y p ' , X 1 ( 1 , b e l = = 7 ) , X 1 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 1 1 ) , p l o t ( r e p r e ( 1 , : ) , r e p r e ( 2 , : ) , ' k + ' )

Result:
2

Figure

Comments ThisisthedatageneratedfromGaussian distributed

Theresultm_bestisone,Itsmeanthis dataisjustonecluster.Wecancompare withtheexample7.4.2thathavethe4the numberofclusters.

(Ex7.5.1)Applykmeansalgorithmform=2,3onthedatainEx7.4.1

MatlabCode

% 1 . G e n e r a t e t h e r e q u i r e d d a t a s e t r a n d n ( ' s e e d ' , 0 ) m = [ 0 0 ] S = e y e ( 2 ) n _ p o i n t s = 3 0 0 % N u m b e r o f p o i n t s p e r g r o u p X 1 = [ ] X 1 = m v n r n d ( m , S , n _ p o i n t s ) X 1 = X 1 ' % P l o t t h e d a t a s e t f i g u r e ( 1 ) , p l o t ( X 1 ( 1 , : ) , X 1 ( 2 , : ) , ' . b ' ) f i g u r e ( 1 ) , a x i s e q u a l % r a n d o m k m e a n m = 2 l = s i z e ( X 1 , 1 ) t h e t a _ i n i = r a n d ( l , m ) [ t h e t a , b e l , J ] = k _ m e a n s ( X 1 , t h e t a _ i n i ) f i g u r e ( 1 1 ) , h o l d o n f i g u r e ( 1 1 ) , p l o t ( X 1 ( 1 , b e l = = 1 ) , X 1 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 1 ( 1 , b e l = = 2 ) , X 1 ( 2 , b e l = = 2 ) , ' g * ' , X 1 ( 1 , b e l = = 3 ) , X 1 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 1 ( 1 , b e l = = 4 ) , X 1 ( 2 , b e l = = 4 ) , ' c x ' , X 1 ( 1 , b e l = = 5 ) , X 1 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 1 ( 1 , b e l = = 6 ) , X 1 ( 2 , b e l = = 6 ) , ' y p ' , X 1 ( 1 , b e l = = 7 ) , X 1 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 1 1 ) , p l o t ( t h e t a ( 1 , : ) , t h e t a ( 2 , : ) , ' k + ' )

Result: ThedatageneratedbyEx741

theplottingdatawithm=2

Plottingdatawithm=3

ComparisontheJcostwithdifferentmvalue: m J 2 412.8702 3 260.7806 4 218.9769

(Ex7.5.2)RepeatExample7.5.1forthePAMalgorithm MatlabCode:
m = 5 [ l , N ] = s i z e ( X 3 ) r a n d ( ' s e e d ' , 0 ) t h e t a _ i n i = r a n d ( l , m ) [ b e l , c o s t , w , a ] = k _ m e d o i d s ( X 3 , m , 0 ) f i g u r e ( 4 ) , h o l d o n f i g u r e ( 4 ) , p l o t ( X 3 ( 1 , b e l = = 1 ) , X 3 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 3 ( 1 , b e l = = 2 ) , X 3 ( 2 , b e l = = 2 ) , ' g * ' , X 3 ( 1 , b e l = = 3 ) , X 3 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 3 ( 1 , b e l = = 4 ) , X 3 ( 2 , b e l = = 4 ) , ' c x ' , X 3 ( 1 , b e l = = 5 ) , X 3 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 3 ( 1 , b e l = = 6 ) , X 3 ( 2 , b e l = = 6 ) , ' y p ' , X 3 ( 1 , b e l = = 7 ) , X 3 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 4 ) , p l o t ( w ( 1 , : ) , w ( 2 , : ) , ' k + ' ) f i g u r e ( 4 ) , a x i s e q u a l

Result:

Thegenerateddata.

m=3

m=4

m=5

TheJcostvaluewithdifferentmvalue:

m J

3 542

4 766

5 722

(Ex7.5.4)RepeatExample7.5.1usingtheGMDASalgorithm MatlabCode
m = 5 m v _ i n i = r a n d ( l , m ) m c _ i n i = r a n d ( l , l , m ) [ a p , c p , m v , m c , i t e r , d i f f v e c ] = G M D A S ( X 3 , m v _ i n i , m c _ i n i , e , m a x i t e r , s e d ) [ q w , b e l ] = m a x ( c p ' ) f i g u r e ( 4 ) , h o l d o n f i g u r e ( 4 ) , p l o t ( X 3 ( 1 , b e l = = 1 ) , X 3 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 3 ( 1 , b e l = = 2 ) , X 3 ( 2 , b e l = = 2 ) , ' g * ' , X 3 ( 1 , b e l = = 3 ) , X 3 ( 2 , b e l = = 3 ) , ' b o ' , . . .

X 3 ( 1 , b e l = = 4 ) , X 3 ( 2 , b e l = = 4 ) , ' c x ' , X 3 ( 1 , b e l = = 5 ) , X 3 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 3 ( 1 , b e l = = 6 ) , X 3 ( 2 , b e l = = 6 ) , ' y p ' , X 3 ( 1 , b e l = = 7 ) , X 3 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 4 ) , p l o t ( m v ( 1 , : ) , m v ( 2 , : ) , ' k + ' ) f i g u r e ( 4 ) , a x i s e q u a l

Result: TheDatadistribution

m=2

m=3

m=4

m=5

Listofcovariancewhenmvaluechange.

10

m=3
Meanvalue

5.05688459331982 0.0725135670805810 4.50737827377181 0.0260223014264775


Covariance

8.95653426310796 7.95151450727883

val(:,:,1)= 25.826921.7850 21.785021.0852

val(:,:,2)= 0.90010.0225 0.02251.1178

val(:,:,3)= 0.33520.2506 0.25060.5057

m=4
costis
meanvalue

0.0751674666914816 0.0727473625419451 8.95505883014196 10.0351216931462 8.95403228457163 0.0263587138963322 7.94943924560343 0.0583081638541071


11

Covariance

val(:,:,1)= 0.91330.3671 0.36711.1260

val(:,:,2)= 0.90020.0221 0.02211.1182

val(:,:,3)= 0.33630.2524 0.25240.5081

val(:,:,4)= 1.16760.3170 0.31701.5045

m=5
Mean

0.431232 8.955058 10.035121 0.1644219 0.075167464 0.056476859 7.94943 0.058308 0.0811616 8.954032

12

Covariance

val(:,:,1)= 0.42050.2992 0.29920.6889

val(:,:,2)= 0.33630.2524 0.25240.5081

val(:,:,3)= 1.16760.3170 0.31701.5045

val(:,:,4)= 1.07630.1938 0.19381.3948 val(:,:,5)= 0.91330.3671 0.36711.1260

13

(Ex7.5.5)RepeatExample7.5.5usingtheGMDASalgorithm

(Ex7.5.6)RepeatExample7.5.1usingFCMwithq=2 MatlabCode:

r a n d n ( ' s e e d ' , 0 ) m = [ 0 0 1 0 0 0 9 9 8 ] S ( : , : , 1 ) = e y e ( 2 ) S ( : , : , 2 ) = [ 1 . 0 . 2 . 2 1 . 5 ] S ( : , : , 3 ) = [ 1 . 0 . 4 . 4 1 . 1 ] S ( : , : , 4 ) = [ . 3 . 2 . 2 . 5 ] n _ p o i n t s = 1 0 0 * o n e s ( 1 , 4 ) % N u m b e r o f p o i n t s p e r g r o u p X 3 = [ ] f o r i = 1 : 4 X 3 = [ X 3 m v n r n d ( m ( i , : ) , S ( : , : , i ) , n _ p o i n t s ( i ) ) ] e n d X 3 = X 3 ' q = 2 f i g u r e ( 1 ) , p l o t ( X 3 ( 1 , : ) , X 3 ( 2 , : ) , ' b . ' ) f i g u r e ( 1 ) , a x i s e q u a l % 2 . T o a p p l y t h e k m e a n s a l g o r i t h m , f o r m = 4 a n d r a n d o m i n i t i a l i z a t i o n m = 4 [ l , N ] = s i z e ( X 3 ) r a n d ( ' s e e d ' , 0 ) t h e t a _ i n i = r a n d ( l , m ) [ t h e t a , U , o b j _ f u n ] = f u z z y _ c _ m e a n s ( X 3 , m , q ) [ q w , b e l ] = m a x ( U ' ) % P l o t X 3 , u s i n g d i f f e r e n t c o l o r s f o r p o i n t s f r o m d i f f e r e n t c l u s t e r s f i g u r e ( 2 ) , h o l d o n f i g u r e ( 2 ) , p l o t ( X 3 ( 1 , b e l = = 1 ) , X 3 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 3 ( 1 , b e l = = 2 ) , X 3 ( 2 , b e l = = 2 ) , ' g * ' , X 3 ( 1 , b e l = = 3 ) , X 3 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 3 ( 1 , b e l = = 4 ) , X 3 ( 2 , b e l = = 4 ) , ' c x ' , X 3 ( 1 , b e l = = 5 ) , X 3 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 3 ( 1 , b e l = = 6 ) , X 3 ( 2 , b e l = = 6 ) , ' y p ' , X 3 ( 1 , b e l = = 7 ) , X 3 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 2 ) , p l o t ( t h e t a ( 1 , : ) , t h e t a ( 2 , : ) , ' k + ' ) f i g u r e ( 2 ) , a x i s e q u a l % 3 . W o r k a s i n s t e p 2 , f o r m = 3 m = 3 [ l , N ] = s i z e ( X 3 ) r a n d ( ' s e e d ' , 0 ) t h e t a _ i n i = r a n d ( l , m ) % [ t h e t a , b e l , J ] = k _ m e a n s ( X 3 , t h e t a _ i n i ) [ t h e t a , U , o b j _ f u n ] = f u z z y _ c _ m e a n s ( X 3 , m , q ) [ q w , b e l ] = m a x ( U ' ) f i g u r e ( 3 ) , h o l d o n f i g u r e ( 3 ) , p l o t ( X 3 ( 1 , b e l = = 1 ) , X 3 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 3 ( 1 , b e l = = 2 ) , X 3 ( 2 , b e l = = 2 ) , ' g * ' , X 3 ( 1 , b e l = = 3 ) , X 3 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 3 ( 1 , b e l = = 4 ) , X 3 ( 2 , b e l = = 4 ) , ' c x ' , X 3 ( 1 , b e l = = 5 ) , X 3 ( 2 , b e l = = 5 ) , ' m d ' , . . .

14

X 3 ( 1 , b e l = = 6 ) , X 3 ( 2 , b e l = = 6 ) , ' y p ' , X 3 ( 1 , b e l = = 7 ) , X 3 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 3 ) , p l o t ( t h e t a ( 1 , : ) , t h e t a ( 2 , : ) , ' k + ' ) f i g u r e ( 3 ) , a x i s e q u a l % 4 . W o r k a s i n s t e p 2 , f o r m = 5 m = 5 [ l , N ] = s i z e ( X 3 ) r a n d ( ' s e e d ' , 0 ) t h e t a _ i n i = r a n d ( l , m ) % [ t h e t a , b e l , J ] = k _ m e a n s ( X 3 , t h e t a _ i n i ) [ t h e t a , U , o b j _ f u n ] = f u z z y _ c _ m e a n s ( X 3 , m , q ) [ q w , b e l ] = m a x ( U ' ) f i g u r e ( 4 ) , h o l d o n f i g u r e ( 4 ) , p l o t ( X 3 ( 1 , b e l = = 1 ) , X 3 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 3 ( 1 , b e l = = 2 ) , X 3 ( 2 , b e l = = 2 ) , ' g * ' , X 3 ( 1 , b e l = = 3 ) , X 3 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 3 ( 1 , b e l = = 4 ) , X 3 ( 2 , b e l = = 4 ) , ' c x ' , X 3 ( 1 , b e l = = 5 ) , X 3 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 3 ( 1 , b e l = = 6 ) , X 3 ( 2 , b e l = = 6 ) , ' y p ' , X 3 ( 1 , b e l = = 7 ) , X 3 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 4 ) , p l o t ( t h e t a ( 1 , : ) , t h e t a ( 2 , : ) , ' k + ' ) f i g u r e ( 4 ) , a x i s e q u a l

Result:

Thedistributiondata

15

m=3

m=4

16

m=5

Jcostvaluewithdifferentmvalue m J 3 673 4 327 5 554

(Ex7.5.7)RepeatExample7.5.3usingFCMwithq=2 MatlabCode
r a n d n ( ' s e e d ' , 0 ) m = [ 0 0 5 5 ] S ( : , : , 1 ) = 1 . 5 * e y e ( 2 ) S ( : , : , 2 ) = e y e ( 2 ) n _ p o i n t s = [ 5 0 0 1 5 ] X 5 = [ ] f o r i = 1 : 2 X 5 = [ X 5 m v n r n d ( m ( i , : ) , S ( : , : , i ) , n _ p o i n t s ( i ) ) ] e n d X 5 = X 5 ' % P l o t t h e d a t a s e t f i g u r e ( 1 ) , p l o t ( X 5 ( 1 , : ) , X 5 ( 2 , : ) , ' . b ' ) f i g u r e ( 1 ) , a x i s e q u a l % 2 . A p p l y t h e k m e a n s a l g o r i t h m a n d p l o t t h e r e s u l t s

17

m = 2 [ l , N ] = s i z e ( X 5 ) r a n d ( ' s e e d ' , 0 ) t h e t a _ i n i = r a n d ( l , m ) % [ t h e t a , b e l , J ] = k _ m e a n s ( X 5 , t h e t a _ i n i ) [ t h e t a , U , o b j _ f u n ] = f u z z y _ c _ m e a n s ( X 5 , m , q ) [ q w , b e l ] = m a x ( U ' ) % P l o t X 5 , u s i n g d i f f e r e n t c o l o r s f o r p o i n t s f r o m d i f f e r e n t c l u s t e r s f i g u r e ( 2 ) , h o l d o n f i g u r e ( 2 ) , p l o t ( X 5 ( 1 , b e l = = 1 ) , X 5 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 5 ( 1 , b e l = = 2 ) , X 5 ( 2 , b e l = = 2 ) , ' g * ' , X 5 ( 1 , b e l = = 3 ) , X 5 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 5 ( 1 , b e l = = 4 ) , X 5 ( 2 , b e l = = 4 ) , ' c x ' , X 5 ( 1 , b e l = = 5 ) , X 5 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 5 ( 1 , b e l = = 6 ) , X 5 ( 2 , b e l = = 6 ) , ' y p ' , X 5 ( 1 , b e l = = 7 ) , X 5 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 2 ) , p l o t ( t h e t a ( 1 , : ) , t h e t a ( 2 , : ) , ' k + ' ) f i g u r e ( 2 ) , a x i s e q u a l

Result:

TheDistributionData

FCM

Ithinktheresultwithk_meansalgorithmissimilarwiththisresult(FCM).

18

(Ex7.5.8)RepeatExample7.5.5usingFCMwithq=2

(Ex7.5.9)RepeatExample7.5.1usingFCMwithq=2,10,25 MatlabCode
r a n d n ( ' s e e d ' , 0 ) m = [ 0 0 1 0 0 0 9 9 8 ] S ( : , : , 1 ) = e y e ( 2 ) S ( : , : , 2 ) = [ 1 . 0 . 2 . 2 1 . 5 ] S ( : , : , 3 ) = [ 1 . 0 . 4 . 4 1 . 1 ] S ( : , : , 4 ) = [ . 3 . 2 . 2 . 5 ] n _ p o i n t s = 1 0 0 * o n e s ( 1 , 4 ) % N u m b e r o f p o i n t s p e r g r o u p X 3 = [ ] f o r i = 1 : 4 X 3 = [ X 3 m v n r n d ( m ( i , : ) , S ( : , : , i ) , n _ p o i n t s ( i ) ) ] e n d X 3 = X 3 ' q = 2 5 f i g u r e ( 1 ) , p l o t ( X 3 ( 1 , : ) , X 3 ( 2 , : ) , ' b . ' ) f i g u r e ( 1 ) , a x i s e q u a l % 2 . T o a p p l y t h e k m e a n s a l g o r i t h m , f o r m = 4 a n d r a n d o m i n i t i a l i z a t i o n m = 4 [ l , N ] = s i z e ( X 3 ) r a n d ( ' s e e d ' , 0 ) t h e t a _ i n i = r a n d ( l , m ) [ t h e t a , U , o b j _ f u n ] = f u z z y _ c _ m e a n s ( X 3 , m , q ) [ q w , b e l ] = m a x ( U ' ) % P l o t X 3 , u s i n g d i f f e r e n t c o l o r s f o r p o i n t s f r o m d i f f e r e n t c l u s t e r s f i g u r e ( 2 ) , h o l d o n f i g u r e ( 2 ) , p l o t ( X 3 ( 1 , b e l = = 1 ) , X 3 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 3 ( 1 , b e l = = 2 ) , X 3 ( 2 , b e l = = 2 ) , ' g * ' , X 3 ( 1 , b e l = = 3 ) , X 3 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 3 ( 1 , b e l = = 4 ) , X 3 ( 2 , b e l = = 4 ) , ' c x ' , X 3 ( 1 , b e l = = 5 ) , X 3 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 3 ( 1 , b e l = = 6 ) , X 3 ( 2 , b e l = = 6 ) , ' y p ' , X 3 ( 1 , b e l = = 7 ) , X 3 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 2 ) , p l o t ( t h e t a ( 1 , : ) , t h e t a ( 2 , : ) , ' k + ' ) f i g u r e ( 2 ) , a x i s e q u a l

Result:

19

Thedistributiondata

q=2

20

q=10

q=25

IobserveaboutthevalueofUwhentheqchanged.Ithinkthevalueofqisveryinfluence abouttheresultofclustering,letseewhenwechangetheqwith25,thecentroids(tetha) notinthegoodposition.

21

(Ex7.5.10)ApplyPCMalgorithmonthedatainExample7.5.1

MatlabCode:
r a n d n ( ' s e e d ' , 0 ) m = [ 0 0 1 0 0 0 9 9 8 ] S ( : , : , 1 ) = e y e ( 2 ) S ( : , : , 2 ) = [ 1 . 0 . 2 . 2 1 . 5 ] S ( : , : , 3 ) = [ 1 . 0 . 4 . 4 1 . 1 ] S ( : , : , 4 ) = [ . 3 . 2 . 2 . 5 ] n _ p o i n t s = 1 0 0 * o n e s ( 1 , 4 ) % N u m b e r o f p o i n t s p e r g r o u p X 3 = [ ] f o r i = 1 : 4 X 3 = [ X 3 m v n r n d ( m ( i , : ) , S ( : , : , i ) , n _ p o i n t s ( i ) ) ] e n d X 3 = X 3 ' f i g u r e ( 1 ) , p l o t ( X 3 ( 1 , : ) , X 3 ( 2 , : ) , ' b . ' ) f i g u r e ( 1 ) , a x i s e q u a l q = 2 2 . T o a p p l y t h e k m e a n s a l g o r i t h m , f o r m = 4 a n d r a n d o m i n i t i a l i z a t i o n m = 4 [ l , N ] = s i z e ( X 3 ) r a n d ( ' s e e d ' , 0 ) s e d = 0 e t a = 4 * o n e s ( 1 , m ) i n i t _ p r o c = 3 e _ t h r e s = 0 . 0 1 [ U , t h e t a ] = p o s s i b i ( X 3 , m , e t a , q , s e d , i n i t _ p r o c , e _ t h r e s ) [ q w , b e l ] = m a x ( U ' ) % t h e t a _ i n i = r a n d ( l , m ) % [ t h e t a , b e l , J ] = k _ m e a n s ( X 3 , t h e t a _ i n i ) % P l o t X 3 , u s i n g d i f f e r e n t c o l o r s f o r p o i n t s f r o m d i f f e r e n t c l u s t e r s f i g u r e ( 2 ) , h o l d o n f i g u r e ( 2 ) , p l o t ( X 3 ( 1 , b e l = = 1 ) , X 3 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 3 ( 1 , b e l = = 2 ) , X 3 ( 2 , b e l = = 2 ) , ' g * ' , X 3 ( 1 , b e l = = 3 ) , X 3 ( 2 , b e l = = 3 ) , ' b o ' , . . .

22

X 3 ( 1 , b e l = = 4 ) , X 3 ( 2 , b e l = = 4 ) , ' c x ' , X 3 ( 1 , b e l = = 5 ) , X 3 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 3 ( 1 , b e l = = 6 ) , X 3 ( 2 , b e l = = 6 ) , ' y p ' , X 3 ( 1 , b e l = = 7 ) , X 3 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 2 ) , p l o t ( t h e t a ( 1 , : ) , t h e t a ( 2 , : ) , ' k + ' ) f i g u r e ( 2 ) , a x i s e q u a l 3 . W o r k a s i n s t e p 2 , f o r m = 3 m = 6 [ l , N ] = s i z e ( X 3 ) r a n d ( ' s e e d ' , 0 ) s e d = 0 e t a = 4 * o n e s ( 1 , m ) i n i t _ p r o c = 3 e _ t h r e s = 0 . 0 1 [ U , t h e t a ] = p o s s i b i ( X 3 , m , e t a , q , s e d , i n i t _ p r o c , e _ t h r e s ) [ q w , b e l ] = m a x ( U ' ) % t h e t a _ i n i = r a n d ( l , m ) % [ t h e t a , b e l , J ] = k _ m e a n s ( X 3 , t h e t a _ i n i ) f i g u r e ( 3 ) , h o l d o n f i g u r e ( 3 ) , p l o t ( X 3 ( 1 , b e l = = 1 ) , X 3 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 3 ( 1 , b e l = = 2 ) , X 3 ( 2 , b e l = = 2 ) , ' g * ' , X 3 ( 1 , b e l = = 3 ) , X 3 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 3 ( 1 , b e l = = 4 ) , X 3 ( 2 , b e l = = 4 ) , ' c x ' , X 3 ( 1 , b e l = = 5 ) , X 3 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 3 ( 1 , b e l = = 6 ) , X 3 ( 2 , b e l = = 6 ) , ' y p ' , X 3 ( 1 , b e l = = 7 ) , X 3 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 3 ) , p l o t ( t h e t a ( 1 , : ) , t h e t a ( 2 , : ) , ' k + ' ) f i g u r e ( 3 ) , a x i s e q u a l % 4 . W o r k a s i n s t e p 2 , f o r m = 5 m = 3 [ l , N ] = s i z e ( X 3 ) r a n d ( ' s e e d ' , 0 ) s e d = 0 e t a = 4 * o n e s ( 1 , m ) i n i t _ p r o c = 3 e _ t h r e s = 0 . 0 1 [ U , t h e t a ] = p o s s i b i ( X 3 , m , e t a , q , s e d , i n i t _ p r o c , e _ t h r e s ) [ q w , b e l ] = m a x ( U ' ) % t h e t a _ i n i = r a n d ( l , m ) % [ t h e t a , b e l , J ] = k _ m e a n s ( X 3 , t h e t a _ i n i ) f i g u r e ( 4 ) , h o l d o n f i g u r e ( 4 ) , p l o t ( X 3 ( 1 , b e l = = 1 ) , X 3 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 3 ( 1 , b e l = = 2 ) , X 3 ( 2 , b e l = = 2 ) , ' g * ' , X 3 ( 1 , b e l = = 3 ) , X 3 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 3 ( 1 , b e l = = 4 ) , X 3 ( 2 , b e l = = 4 ) , ' c x ' , X 3 ( 1 , b e l = = 5 ) , X 3 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 3 ( 1 , b e l = = 6 ) , X 3 ( 2 , b e l = = 6 ) , ' y p ' , X 3 ( 1 , b e l = = 7 ) , X 3 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 4 ) , p l o t ( t h e t a ( 1 , : ) , t h e t a ( 2 , : ) , ' k + ' ) f i g u r e ( 4 ) , a x i s e q u a l %

Result:

23

Thedistributiondata

m=3

24

m=4

m=6

25

(Ex7.5.11)ApplyPCMonthedatainExample7.5.3form=2,q=2

MatlabCode:
r a n d n ( ' s e e d ' , 0 ) m = [ 0 0 5 5 ] S ( : , : , 1 ) = 1 . 5 * e y e ( 2 ) S ( : , : , 2 ) = e y e ( 2 ) n _ p o i n t s = [ 5 0 0 1 5 ] X 5 = [ ] f o r i = 1 : 2 X 5 = [ X 5 m v n r n d ( m ( i , : ) , S ( : , : , i ) , n _ p o i n t s ( i ) ) ] e n d X 5 = X 5 ' % P l o t t h e d a t a s e t f i g u r e ( 1 ) , p l o t ( X 5 ( 1 , : ) , X 5 ( 2 , : ) , ' . b ' ) f i g u r e ( 1 ) , a x i s e q u a l % 2 . A p p l y t h e k m e a n s a l g o r i t h m a n d p l o t t h e r e s u l t s m = 2 q = 2 [ l , N ] = s i z e ( X 5 ) r a n d ( ' s e e d ' , 0 ) s e d = 0 e t a = 4 * o n e s ( 1 , m ) i n i t _ p r o c = 3 e _ t h r e s = 0 . 0 1 [ U , t h e t a ] = p o s s i b i ( X 5 , m , e t a , q , s e d , i n i t _ p r o c , e _ t h r e s ) [ q w , b e l ] = m a x ( U ' )

% P l o t X 5 , u s i n g d i f f e r e n t c o l o r s f o r p o i n t s f r o m d i f f e r e n t c l u s t e r s f i g u r e ( 2 ) , h o l d o n f i g u r e ( 2 ) , p l o t ( X 5 ( 1 , b e l = = 1 ) , X 5 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 5 ( 1 , b e l = = 2 ) , X 5 ( 2 , b e l = = 2 ) , ' g * ' , X 5 ( 1 , b e l = = 3 ) , X 5 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 5 ( 1 , b e l = = 4 ) , X 5 ( 2 , b e l = = 4 ) , ' c x ' , X 5 ( 1 , b e l = = 5 ) , X 5 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 5 ( 1 , b e l = = 6 ) , X 5 ( 2 , b e l = = 6 ) , ' y p ' , X 5 ( 1 , b e l = = 7 ) , X 5 ( 2 , b e l = = 7 ) , ' k s ' ) f i g u r e ( 2 ) , p l o t ( t h e t a ( 1 , : ) , t h e t a ( 2 , : ) , ' k + ' ) f i g u r e ( 2 ) , a x i s e q u a l

26

Result:

IthinkthedifferentbetweenPCMandk_meanswhenweobserveandcomparetheresult is: Whenweusethek_meansalgorithmforthisdatawehave2centroidbutinthiscasewhen weusethePCM,PCMonlyhaveonecentroid.

(Ex7.7.1)RepeatExample7.7.2onthedatawith4clusters

MatlabCode:
% 1 . G e n e r a t e t h e f i r s t g r o u p o f p o i n t s i n X 8 r a n d ( ' s e e d ' , 0 ) n _ p o i n t s = [ 3 0 2 0 1 0 5 1 ] % N o o f p o i n t s i n t h e f i r s t 3 c l u s t e r s n o i s e = . 5 X 8 = [ ] % C o n s t r u c t i o n o f t h e 1 s t c l u s t e r ( c i r c l e , c e n t e r ( 1 5 , 0 ) , R = 6 ) R = 6 x _ c e n t e r 1 = 1 5 m i n i = x _ c e n t e r 1 R m a x i = x _ c e n t e r 1 + R

27

s t e p = ( m a x i m i n i ) / ( n _ p o i n t s ( 1 ) 1 ) f o r x = m i n i : s t e p : m a x i y 1 = s q r t ( R ^ 2 ( x x _ c e n t e r 1 ) ^ 2 ) + n o i s e * ( r a n d . 5 ) X 8 = [ X 8 x y 1 ] e n d % G e n e r a t e t h e s e c o n d g r o u p o f d a t a ( l i n e s e g m e n t , e n d p o i n t s ( 1 0 , 7 ) , ( 1 0 , 7 ) ) m i n i = 7 m a x i = 7 s t e p = ( m a x i m i n i ) / ( n _ p o i n t s ( 2 ) 1 ) x _ c o o r d = 1 0 f o r y = m i n i : s t e p : m a x i X 8 = [ X 8 x _ c o o r d + n o i s e * ( r a n d . 5 ) y + n o i s e * ( r a n d . 5 ) ] e n d % G e n e r a t e t h e t h i r d g r o u p o f d a t a ( s e m i c i r c l e , c e n t e r ( 2 1 , 0 ) , R = 3 , y < 0 ) R = 3 x _ c e n t e r = 2 1 m i n i = x _ c e n t e r R m a x i = x _ c e n t e r + R s t e p = ( m a x i m i n i ) / ( n _ p o i n t s ( 3 ) 1 ) f o r x = m i n i : s t e p : m a x i y = s q r t ( R ^ 2 ( x x _ c e n t e r ) ^ 2 ) + n o i s e * ( r a n d . 5 ) X 8 = [ X 8 x y ] e n d % G e n e r a t e t h e f o u r t h g r o u p o f d a t a ( a r c h i m i d i s s p i r a l ) a s p = 0 . 2 s t e p = ( 5 * p i ) / ( n _ p o i n t s ( 4 ) 1 ) c o u n t = 0 x _ t o t = [ ] y _ t o t = [ ] f o r t h e t a = p i : s t e p : 6 * p i c o u n t = c o u n t + 1 r = a s p * t h e t a x _ t o t = [ x _ t o t r * c o s ( t h e t a ) ] y _ t o t = [ y _ t o t r * s i n ( t h e t a ) ] e n d X 8 = [ X 8 x _ t o t y _ t o t ] % P l o t X 8 X 8 = X 8 ' f i g u r e ( 1 ) , p l o t ( X 8 ( 1 , : ) , X 8 ( 2 , : ) , ' . b ' ) % c h a n g e % 2 . C o m p u t e t h e d i s t a n c e m a t r i x f o r t h e d a t a v e c t o r s o f X 1 2 X 1 2 = X 8 [ l , N ] = s i z e ( X 1 2 ) f o r i = 1 : N f o r j = i + 1 : N d i s t a ( i , j ) = d i s t a n ( X 1 2 ( : , i ) , X 1 2 ( : , j ) ) d i s t a ( j , i ) = d i s t a ( i , j ) e n d e n d % S t a c k t h e c o m p u t e d d i s t a n c e s t o a d a t a v e c t o r d i s t _ v e c = [ ] f o r i = 1 : N 1 d i s t _ v e c = [ d i s t _ v e c d i s t a ( i , i + 1 : N ) ] e n d

28

% 3 . A p p l y t h e s i n g l e l i n k a l g o r i t h m o n X 1 2 a n d d r a w t h e c o r r e s p o n d i n g % d i s s i m i l a r i t y d e n d r o g r a m Z = l i n k a g e ( d i s t _ v e c , ' c o m p l e t e ' ) [ b e l , t h r e s ] = a g g l o m ( d i s t a , 2 ) % 1 f o r s i n g l e , 2 f o r c o m p l e t e l i n k f i g u r e ( 2 ) , d e n d r o g r a m ( Z ) % 4 . D e t e r m i n e t h e c l u s t e r i n g s o f t h e h i e r a r c h y g e n e r a t e d b y t h e s i n g l e l i n k % a l g o r i t h m , t h a t b e s t f i t t h e u n d e r l y i n g s t r u c t u r e o f X 1 2 [ l a m b d a , c u t _ p o i n t _ t o t , h i s t _ c u t ] = d e n d r o g r a m _ c u t ( b e l , d i s t a , 3 ) % T h e l a s t i n p u t a r g u m e n t , i . e . , 3 , i s t h e f i g u r e h a n d l e . I f i t i s o m i t t e d , % t h e n f i g u r e ( 1 ) i s u s e d . b e l = b e l ( N 1 , : ) f i g u r e ( 4 ) , h o l d o n f i g u r e ( 4 ) , p l o t ( X 1 2 ( 1 , b e l = = 1 ) , X 1 2 ( 2 , b e l = = 1 ) , ' r . ' , . . . X 1 2 ( 1 , b e l = = 2 ) , X 1 2 ( 2 , b e l = = 2 ) , ' g * ' , X 1 2 ( 1 , b e l = = 3 ) , X 1 2 ( 2 , b e l = = 3 ) , ' b o ' , . . . X 1 2 ( 1 , b e l = = 4 ) , X 1 2 ( 2 , b e l = = 4 ) , ' c x ' , X 1 2 ( 1 , b e l = = 5 ) , X 1 2 ( 2 , b e l = = 5 ) , ' m d ' , . . . X 1 2 ( 1 , b e l = = 6 ) , X 1 2 ( 2 , b e l = = 6 ) , ' y p ' , X 1 2 ( 1 , b e l = = 7 ) , X 1 2 ( 2 , b e l = = 7 ) , ' k s ' ) % f i g u r e ( 2 ) f i g u r e ( 4 ) , a x i s e q u a l

Result: TheOriginalData

29

DataVector

30

TheresultofClustering

31

32

33

Vous aimerez peut-être aussi