1. 这个程序怎么运行不出来,matlab中哪里错了哪位能不能帮忙改下谢谢!
粗略看了一下程序没有错,只是好点的话应该用函数来代替,而不用都写在main里
2. relieff特征权值能为负数吗
大多数网络的权值可以使负数的。他的目的是让你分类等,没有正负的限制一说。调整是靠train等函数实现的(Matlab)。每一种神经网络的精髓就是权值的调整公式。
3. ReliefF算法中的F是什么意思
答案D是对的。
n!就是n的阶乘,也就是n(n-1)(n-2)……2*1。如果n=5,n!=5*4*3*2*1或者5*4*3*2,都一样嘛。
题目中,f的作用是存储每次乘积的值。首先排除A,A中f=0,每次相乘都是0.比如5!吧,第一次应该是f=f*5,f初值是0,那么等号左边的f被赋值后还是0,最后结果永远是0,算不出值来。
B错误原因,就是i<n这里,控制条件应该是i<=n,否则少乘n,就成了5!=1*2*3*4,是不对的。
C错误原因,i的初值是n,i++每次加1,i>1几乎是每次都是对的。也就是f*=i每次循环下去,for循环都出不来了。
D正确,控制条件i>=2就好比n!=n(n-1)(n-2)……2,5!=5*4*3*2,没有*1,但是结果是一样的。
注意,如果n输入0是不进入for循环的,直接f=1输出即可。因为0!=1.