Bonjour, j'ai besoin de résoudre ce problème svp
On prétend résoudre un problème de classification binaire, pour cela on génère deux distributions qui présentent un degré de chevauchement déterminé.On voudra appliquer le test d’hypothèse de *Bayes pour discriminer entre les deux classes
donc, nous allons utiliser une estimation paramétrique des fdp, et nous allons considérer des fdp issues des distributions normales. Le travail à réaliser est comme suite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part P(wi/x)=p()*p()/p()
- Générer les données : deux distributions gaussiennes présentant un degré de
chevauchement déterminé.- Estimer les paramètres des distributions : le vecteur des moyennes et la matrice de covariance.
- Concevoir le test de Bayes :p(wi/x) > p(wj/x) décider la classe i
- Tracer la frontière de décision
voici ce que j'ai déjà réalisé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 clear all, close all , clc sigma=1; % on change sigma en fonction de dispersion qu'on désire N=500; P1=sigma*randn(2,500)+[2;2]*ones(1,500); P2=sigma*randn(2,500)+[-2;-2]*ones(1,500); T1=ones(1,500); T2=zeros(1,500); %Génération des données plot(P1(1,:),P1(2,:),'ro',P2(1,:),P2(2,:),'go') %on va générer les valeurs aléatoires P=[P1,P2]; T=[T1,T2]; ind=randperm(2*N); P=P(:,ind); T=T(ind); Mx1 = mean(P1,2); Mx2 = mean(P2,2); % for i=1:N p=P(:,i) s1= exp(-(p-Mx1)'*(p-Mx1)/(2*sigma^2)) % le 1 er classifieur ML s2= exp(-(p-Mx2)'*(p-Mx2)/(2*sigma^2)) end
Partager