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.