som算法
① 请问当今比较流行的数据降维算法有哪些
这个要看你的需求和数据的data distribution,找到最合适的算法解决你的问题。
如果数据分布比较简单,线性映射降维就够了,比如PCA、ICA。
如果数据分布比较复杂,可能需要用到manifold learning,具体算法比如SOM、MDS、ISOMAP、LLE,另外deep learning也可以用来做降维。
② 利用单目测距有什么方法采用什么算法
一、单目测距用参照物法,如用地面做参照物,那么单目与目标连线就会与地面形成一定夹角,再结合单目与地面的高度,就能计算出距离。
二、单目测距用记忆模型比对法,如一小孩的氢气球飘向空中,气球越飘越高,气球的图像与映像中的图像相比是越来越小;当气球的图像是初始图像的一半大时,则距离为初始距离的二倍。
③ 关于自动音乐生成算法(如WolframTone http://tones.wolfram.com/)
http://www.matrix67.com/blog/archives/835
是用低维的类似“生命游戏”的算法生成的。
④ 急!Sobel算子边缘检测算法程序代码谁有啊,能不能发到我的邮箱[email protected]
close all
clear all
I=imread('tig.jpg'); %读取图像
I1=im2double(I); %将彩图序列变成双精度
I2=rgb2gray(I1); %将彩色图变成灰色图
[thr, sorh, keepapp]=ddencmp('den','wv',I2);
I3=wdencmp('gbl',I2,'sym4',2,thr,sorh,keepapp); %小波除噪
I4=medfilt2(I3,[9 9]); %中值滤波
I5=imresize(I4,0.2,'bicubic'); %图像大小
BW1=edge(I5,'sobel'); %sobel图像边缘提取
BW2=edge(I5,'roberts'); %roberts图像边缘提取
BW3=edge(I5,'prewitt'); %prewitt图像边缘提取
BW4=edge(I5,'log'); %log图像边缘提取
BW5=edge(I5,'canny'); %canny图像边缘提取
h=fspecial('gaussian',5); %高斯滤波
BW6=edge(I5,'zerocross',[ ],h); %zerocross图像边缘提取
figure;
subplot(1,3,1); %图划分为一行三幅图,第一幅图
imshow(I2); %绘图
figure;
subplot(1,3,1);
imshow(BW1);
title('Sobel算子');
subplot(1,3,2);
imshow(BW2);
title('Roberts算子');
subplot(1,3,3);
imshow(BW3);
title('Prewitt算子');
⑤ 求apriori算法的测试数据 [email protected]
Apriori算法树据来自事务
模拟数据很简单,建立一张订单表Order,一张订单项表Item,一对多关系。一条订单模拟一个事务(Transaction)。模拟一个销售过程,产生大量订单,统计订单就可以了。
⑥ 跪求som神经网络的MATLAB源代码,谢谢各位大哥大姐。如果运行结果代码正确,高分相送。
SOM:
close all
clf reset
figure(gcf);
echo on
pause
clc
p=zscore(data);%biaozhunhua
pause
clc
plot3(p(:,1),p(:,2),p(:,3),'*');
axis([0 1 0 1]);
title('Input data');
pause
clc
net=newsom([0 1;0 1],[9]);
pause
clc
net.trainParam.epochs=100;
net=train(net,p);
pause
clc
figure;
w=net.IW{1};
%IW 是输入层到第一层的权值矩阵
%LW 是中间层和输出层,也就是神经元到神经元的权值
%b 是第Ni层的偏向向量
plotsom(net.IW{1,1},net.layers{1}.distances);
pause
clc
a=sim(net,[0.6;0.8])
echo off
⑦ 自组织特征映射网(SOM)中的权值向量是什么意思
答:
人工神经网络是有向概率随机网络
每条路径都有实现概率和方向
权值就是这条路径的实现概率
权值向量就是这条路径的指向和权值共同组成的向量。
⑧ 求自定义的加密解密算法,对中文有效!!急! [email protected]
有一个比较坑爹的 (加密后体积x8)
和一个比较安全的 (源码我的同学不给)
@我要
⑨ 自组织特征映射网(SOM)java的源码
SOM神经网络也属于自组织型学习网络,只不过更特殊一点它属于自组织特征的映射网络。该网络是由一个全连接的神经元阵列组成的无教师,自组织,自学习的网络。kohonen认为,处于空间中不同区域的神经元有着不同的分工,当一个神经网络接受外界输入模式时,将会分为不同的反映域,各区域对于输入模式具有不同的相应特征。
%随机生成1000个二维向量,作为样本,并绘出其分布
P = rands(2,1000);
plot(P(1,:),P(2,:),'+r')
title('初始随机样本点分布');
xlabel('P(1)');
ylabel('P(2)');
%建立网络,得到初始权值
net=newsom([0 1; 0 1],[5 6]);
w1_init=net.iw{1,1}
%绘出初始权值分布图
figure;
plotsom(w1_init,net.layers{1}.distances)
%分别对不同的步长,训练网络,绘出相应的权值分布图
for i=10:30:100
net.trainParam.epochs=i;
net=train(net,P);
figure;
plotsom(net.iw{1,1},net.layers{1}.distances)
end
%对于训练好的网络,选择特定的输入向量,得到网络的输出结果
p=[0.5;0.3];
a=0;
a = sim(net,p)
SOM神经网络执行的时候,每次执行后的结构不一样,原因是每一次激发的神经元不一样,但是无论激活那个神经元,最后的分类结果不会改变。
缺点:就是有的神经元的初始权值向量里输入向量太远以至于他从未在竞争中获胜,因而也从未得到学习,就形成了死神经元。
⑩ 数据挖掘中的聚类算法聚成几类是人为设定还是自动的用SOM神经网络做聚类是不是就是人为设定好聚几类
看了之前的回答,都不专业
聚类分析是一种无指导的分析,如果理解聚类的核心含义,你就能明白,聚类的数量是没有标准的,必须人为设定,但是特殊的聚类方法可以给你一些参考,比如:系统聚类,它可以生成聚类树,这样你就能直观判断分成几类合适。再比如:二阶聚类,系统模型会自动选择分成几类(如果不人为设定)。
聚类是无指导的训练样本,分类是有指导的训练样本,分类就是通过已知的样本建立分类规则,来预测新样本的分类,为什么是有指导的?因为分类是用样本的其它属性来解释、预测我们感兴趣的属性的模型,这是白话。举例:我们知道一批用户的人口统计变量、消费、工资和贷款还款情况,现在我们要用用户的人口统计变量、消费、工资来对用户的贷款还款情况进行预测,这就是分类模型,在这里要用到分类决策树。就是说我们用样本的其它属性来对样本的贷款还款情况建立分类规则,然后对未来的新样本进行预测,判断新用户是否是理想的放贷对象