📄 pca_cluster.m
字号:
clearclc%pca处理%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fid = fopen('E:\毕业设计\data\TrainSample.txt','r');[A,count]=fscanf(fid,'%d %d',[500,2000]);fclose(fid);%词语特征-文档矩阵 及其 协方差矩阵A = A';R_A = A' * A;%求最大的特征值d = eig(R_A);[V, D] = eig(R_A);clear R_A;s = sum(d);for i=1:500 if (sum(d(500-i:500))/s > 0.85) break; endendclear s;global W_KL;W_KL = V(:,500-i:500)';clear V D;%经pca处理后的样本global P;P = A*W_KL';P = P';%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%k均值聚类%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%k=500;%聚类后的数目p_cluster(:,1:k) = cluster(P(:,1:1000), k, i+1, 1000);p_cluster(:,k+1:2*k) = cluster(P(:,1001:2000), k, i+1, 1000);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%建立概率神经网络%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Tc = ones(1,2*k);Tc(1,k+1:2*k)=1+Tc(1,k+1:2*k);%训练概率神经网络t_cluster = ind2vec(Tc);spread = 1.8;%创建改进后的概率神经网络的网络结构net = newpnnex();%初始化网络net = my_init(net, p_cluster, t_cluster, i+1, 1000, spread);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%竞争学习算法对其训练%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%p_train_ham = P(:,1:1000);p_train_spam = P(:,1001:2000);%训练网络net = my_train(net, p_train_ham, p_train_spam, i+1, 1000);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %建立概率神经网络% Tc = ones(1,2*k);% Tc(1,k+1:2*k)=1+Tc(1,k+1:2*k);% % %训练概率神经网络% T = ind2vec(Tc);% spread = 2.7;% net = newpnn(p_cluster, T, spread);nn_test_with_pca(net, P, W_KL);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -