قسمت آموزش کدتون درسته (البته من با سینتکس وی بی خیلی آشنا نیستم 

)شما شرط valid بودن رو بردارید و فقط با تکرار مثلا 20 تست کنید اگه جواب داد اشکال از مقدار بایاسِ ، متاسفانه من VS ندارم تا کد رو چک کنم ولی اگه میشه تغییر وزن ها رو با ورودی و خروجی برای 12 تکرار اول اینجا بزارید تا دلیل واگرایی رو راحت تر با هم پیدا کنیم 
	نقل قول:
	
	
		
			
				
					نوشته اصلي بوسيله  mahdigh
					 
				 
				میشه بگید تابع من چه مشکلی داره؟ 
	كد: 
	   Dim Valid As Boolean
    Dim c As Integer = 0
    Do
        Valid = True
        c += 1
        For i As Integer = 0 To ListBox1.Items.Count - 1
            Dim s() As String = Microsoft.VisualBasic.Split(ListBox1.Items(i), " ")
            Dim y As Single = (W(1) * CInt(s(0)) + W(2) * CInt(s(1)) + W(3) * 1)
            W(1) += Alpha * CSng(CInt(s(2)) - y) * CSng(CInt(s(0)))
            W(2) += Alpha * CSng(CInt(s(2)) - y) * CSng(CInt(s(1)))
            W(3) += Alpha * CSng(CInt(s(2)) - y) * 1.0
        Next
        For i As Integer = 0 To ListBox1.Items.Count - 1
            Dim s() As String = Microsoft.VisualBasic.Split(ListBox1.Items(i), " ")
            Dim y As Single = (W(1) * CInt(s(0)) + W(2) * CInt(s(1)) + W(3) * 1)
            If CInt(s(2)) = 1 Then
                If y < 1 Then
                    Valid = False
                End If
            Else
                If y >= 1 Then
                    Valid = False
                End If
            End If
        Next
    Loop Until ((Valid) Or (c > 100000))
    If c > 10000 Then
        MsgBox("I Can't Learn!", MsgBoxStyle.Exclamation)
    End If
 که در کد، هر کدوم اینا معنیشون اینه:
 
	كد: 
	s(0) = voroodie avval
s(1) = voroodie dovom
s(2) = khoroojie matloob 
 این قراره یک AND یا OR ساده رو یاد بگیره. ولی یاد نمیگیره.
 
برنامه ی کامل رو هم پیوست کردم. (در برنامه Hebb و پرسپترون یاد میگیرن، ولی آدالاین نه...) 
من نفهمیدم مشکلش چیه...
 
سپاس!  
			
		 |