数学建模社区-数学中国

标题: 急求:在MATLAB中如何把神经网络和粗糙集算法结合起来呢? [打印本页]

作者: ymy.513    时间: 2009-4-2 10:48
标题: 急求:在MATLAB中如何把神经网络和粗糙集算法结合起来呢?
急求:在MATLAB中如何把神经网络和粗糙集算法结合起来呢?
有懂粗糙集神经网络控制的朋友吗?
作者: raosu    时间: 2009-4-6 09:34
不懂!!!
作者: leishengwen    时间: 2009-8-25 19:19
朋友,结合点很多啊,看你是想结合二者各自的什么优点了,有了相应的算法才可以写程序实现啊
作者: sowdylan    时间: 2010-3-28 23:42
现在看到貌似有点晚了~ 不过还是回复下 在用ANN进行学习的时候往往会出现过拟合现象 这时候会大大降低网络的预测能力 这时候可以通过RS来解决~
作者: 347196468    时间: 2010-8-14 21:34
%获得网络的输入样本P和目标样本T8 ~& w) C( K; Q/ g) e2 A' }
P=[1 0.6 0.1 0 0 0 0   1 0.5 0 0 0 0 0;4 K3 v* b+ @: I" G2 C& ?2 S& z
1 0.6 0.1 0 0 0 0   0 0.5 1 0.4 0 0 0;9 |( R: l2 i; {7 p. o2 J% m
1 0.6 0.1 0 0 0 0   0 0 0 0.4 1 0.6 0;
) A, ^* Z% o  j1 0.6 0.1 0 0 0 0   0 0 0 0 0 0 0.8;) W( b  h! d6 V3 J9 O& b
0 0.6 0.6 0 0 0 0   1 0.5 0 0 0 0 0;; G6 ?) Q# P: @. f4 i& c
0 0.6 0.6 0 0 0 0   0 0.5 1 0.4 0 0 0;$ N  F( j  A$ |- d1 k$ G/ K+ k" Y; Q
0 0.6 0.6 0 0 0 0   0 0 0 0.4 1 0.6 0;
6 Q* |! h# _4 H2 z2 U6 _0 0.6 0.6 0 0 0 0   0 0 0 0 0 0 0.8;% V, f5 |% e2 r3 ^& D
0 0 0.6 1 0 0 0    1 0.5 0 0 0 0 0;
+ s/ }$ }2 u' J' O& Y0 0 0.6 1 0 0 0    0 0.5 1 0.4 0 0 0;
# V' y- F! J/ [, B* f0 0 0.6 1 0 0 0    0 0 0 0.4 1 0.6 0;" h( s# ?% u' g$ h* X
0 0 0.6 1 0 0 0    0 0 0 0 0 0 0.8;
- _7 x- i' b" f* G5 P- G0 0 0 0 1 0.6 0    1 0.5 0 0 0 0 0;! p$ q8 S1 V+ @9 t7 i. o+ c
0 0 0 0 1 0.6 0    0 0.5 1 0.4 0 0 0;5 e* _9 w. i: p' ]; U. H+ K# f
0 0 0 0 1 0.6 0    0 0 0 0.4 1 0.6 0;  ^9 S7 i) L" N1 r+ {0 g& I
0 0 0 0 1 0.6 0    0 0 0 0 0 0 0.8]';/ Q' c' j* D1 Y9 w. a5 [
T=[1 0.5 0 0 0 0 0 0;+ F, _7 y% q  B" Z
0 0 0 0.2 0.6 1 0.6 0.2;
' M5 N0 I, R/ x! D0 |1 g0 0 0 0.2 0.6 1 0.6 0.2;2 F- g1 H, Q6 j1 {  Y
0 0 0 0.2 0.6 1 0.6 0.2;
% D6 e/ B1 ^( h6 V) |0.4 0.8 1 0.8 0.4 0.2 0 0;
  h1 k7 Z/ Y! w( R  I* }0 0 0 0.2 0.6 1 0.6 0.2;/ y8 U  A! f( O( H( m
0 0 0 0 0 0.2 0.5 0.8;
) a8 J+ Z, ~8 {1 q3 Y! `( g0 0 0 0.2 0.6 1 0.6 0.2;
2 P- E1 M8 K8 Y) ?/ M- m0 0 0 0.2 0.6 1 0.6 0.2;( K1 W& p9 b7 r6 a7 [; a
0 0 0 0.2 0.6 1 0.6 0.2;
4 m6 e3 Y* J! u( n. u3 U0 0 0 0 0 0.2 0.5 0.8;
. e2 {, q! g& u! D* o) @! t( l4 Z0 0 0 0 0 0.2 0.5 0.8;5 }/ y1 N  S, m# m, Z
0 0 0 0.2 0.6 1 0.6 0.2;, Q& Q; h+ \' @+ D9 W, _6 t
0 0 0 0.2 0.6 1 0.6 0.2;% a& I% x. Y* b! S3 Z
0 0 0 0 0 0.2 0.5 0.8;
; M+ J5 J' ?6 ?* Z0 k: e# x0 0 0 0 0 0.2 0.5 0.8]';
( x0 l- }8 I4 t* e%根据Kolmogorov定理,输入层有14个节点,所以中间层有29个节点$ f5 v3 N( Z/ H
%中间层神经元的传递函数为'tansig'
4 F  _$ S% C' Z& c% }) G# y/ ~%输出层有8个节点,其神经元传递函数为logsig
, \; `2 P* v% b( k0 h- u7 H6 H) `%训练函数采用traingdx
0 C& m3 c0 \* Nnet=newff(minmax(P),[29,8],{'tansig','logsig'},'traingdx');- ?/ b# _# j0 f* p8 n" w/ h" V
%训练步数为1000次" ?8 _& L' `% A% T; |1 ?6 e
%训练目标误差为0.001
  ]! [) p+ D+ cnet.trainParam.epochs=1000;* |  r9 y5 [5 H2 N5 i+ Q6 @
net.trainParam.goal=0.001;
; H% t7 b: r8 W, G9 O+ i5 {* Lnet=train(net,P,T);; \7 P2 W, `. E+ h, o/ B# I1 l) M
Y=sim(net,P);
: ]' a& `$ b' K& z& a%求训练值在每一个点上的误差: \5 F' N/ k7 o
for i=1:16
8 B* m8 \- W: _! N/ j    x(i)=norm(Y(:,i));
5 o( Z9 A; [  n* ^* P% e




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5