Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > MATLAB > Téléchargez
Téléchargez Récupérez et commentez les sources et outils mis à disposition par la rubrique MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/04/2010, 01h44   #1
acx01b
Membre éclairé
 
Étudiant
Inscription : décembre 2004
Messages : 348
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2004
Messages : 348
Points : 366
Points : 366
Par défaut Observer des points dans l'espace kernel (gaussien)

bonsoir, obnubilé que je suis en ce moment par les noyaux gaussiens, je mets un petit code qui montre comment dans kernel pca les données deviennent linéairement séparables

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
%% fabrication des donnees jouet 2D : un cercle et un segment

N = 128; % 128 points
tmp = exp(i*rand(N/2,1)*2*pi)*2;
Xcercle = [real(tmp),imag(tmp)]  + randn(N/2,2)*0.1;
Xtrait = rand(N/2,1)*[1,-0.5];
X = [Xcercle; Xtrait];

%% affichage en 2D
subplot(211);
plot(Xcercle(:,1),Xcercle(:,2),'+b');
hold on;
plot(Xtrait(:,1),Xtrait(:,2),'or');
hold off;


%% calcul de la matrice des produits scalaires (application de la fonction noyau)
matDist = repmat(sum(X.^2,2),1,N) +  repmat(sum(X.^2,2),1,N)' - X*X';
sigma2 = 400;
K = exp(-matDist / (2*sigma2));


%% diagonalisation de K pour récupérer les points dans l'espace de resdescription K = Y * Y'

[P,Lambda] = eig(K);
% c'est pas precis, certain lambda sont < 0 !
Y = P * max(Lambda,0).^0.5;

% projection dans PCA des points de Y
PCAMat = princomp(Y);
Ypca = Y * PCAMat;

%% affichage dans l'espace kernel PCA
subplot(212);
plot3(Ypca(1:N/2,1),Ypca(1:N/2,2),Ypca(1:N/2,3),'+b');
hold on;
plot3(Ypca(N/2+1:N,1),Ypca(N/2+1:N,2),Ypca(N/2+1:N,3),'or');
hold off;

%% affichage de la matrice de similarité
figure; imagesc(K);
Images attachées
Type de fichier : png d915442-1.png (3,7 Ko, 1 affichages)
Type de fichier : png d915442-2.png (13,8 Ko, 1 affichages)
acx01b est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h10.


 
 
 
 
Partenaires

Hébergement Web