⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 参考vb批处理神经网络.frm.txt

📁 利用VB进行神经网络预测
💻 TXT
📖 第 1 页 / 共 2 页
字号:
        Tempinputdata(k, i) = Temp
        End If
        Next k
    Next p
    max(i) = Tempinputdata(RecordNumber, i)
Next i
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            Open "F:\批处理神经网络\PP.txt" For Output As #1
            For i = 1 To InputNumber + OutputNumber
            Print #1, max(i);
            Next i
            Close #1
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'将初始数组进行归一化处理
For i = 1 To InputNumber + OutputNumber
    For p = 1 To RecordNumber
    standardinputdata(p, i) = Val(Format((standardinputdata(p, i) / max(i)), "#.#####"))
    Next p
Next i
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
               Open "F:\批处理神经网络\PPP.txt" For Output As #1
               m = 0
               For p = 1 To RecordNumber
               For i = 1 To InputNumber + OutputNumber
               Print #1, standardinputdata(p, i);
               m = m + 1
               If m Mod (InputNumber + OutputNumber) = 0 Then
               Print #1,
               End If
               Next i
               Next p
               Close #1
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'进行输入层隐含层间连接权重的赋值
   For j = 1 To InputNumber
       For k = 1 To HideNumber
       WIH(j, k) = 1
       Do While WIH(j, k) < (-0.3) Or WIH(j, k) > 0.3
       Randomize
       WIH(j, k) = Val(Format(Rnd(), "##.#####"))
       Loop
       Next k
   Next j
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 '进行隐含层输出层间连接权重的赋值
For k = 1 To HideNumber
    For l = 1 To OutputNumber
    WHO(k, l) = 1
    Do While WHO(k, l) < (-0.3) Or WHO(k, l) > 0.3
    Randomize
    WHO(k, l) = Val(Format(Rnd(), "##.#####"))
    Loop
    Next l
Next k
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 '进行隐含节点阈值的赋值
 For k = 1 To HideNumber
    thresholdhide(k) = 1
    Do While thresholdhide(k) < (-0.3) Or thresholdhide(k) > 0.3
    Randomize
    thresholdhide(k) = Val(Format(Rnd(), "##.#####"))
    Loop
 Next k
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'进行输出节点阈值的赋值
For l = 1 To OutputNumber
   thresholdoutput(l) = 1
   Do While thresholdoutput(l) < (-0.3) Or thresholdoutput(l) > 0.3
   Randomize
   thresholdoutput(l) = Val(Format(Rnd(), "##.#####"))
   Loop
Next l
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'提取标准的输出数据
For p = 1 To RecordNumber
   For l = 1 To OutputNumber
   expect(p, l) = standardinputdata(p, InputNumber + l)
   Next l
Next p
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'求对应每组数据隐含节点的输出值
For p = 1 To RecordNumber
  For k = 1 To HideNumber
        Temp1 = 0
        For j = 1 To InputNumber
        Temp1 = Temp1 + standardinputdata(p, j) * WIH(j, k)
        Next j
        Temp1 = Val(Format(Temp1, "##.#####"))
        hidedata(p, k) = 1 / (1 + (Exp(-(Temp1 - thresholdhide(k)))))
        hidedata(p, k) = Val(Format(hidedata(p, k), "##.#####"))
    Next k
Next p
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'求对应每组数据输出节点的输出值
For p = 1 To RecordNumber
   For l = 1 To OutputNumber
     Temp2 = 0
     For k = 1 To HideNumber
     Temp2 = Temp2 + hidedata(p, k) * WHO(k, l)
     Next k
     Temp2 = Val(Format(Temp2, "##.#####"))
     outputdata(p, l) = 1 / (1 + (Exp(-(Temp2 - thresholdoutput(l)))))
     outputdata(p, l) = Val(Format(outputdata(p, l), "##.#####"))
     Next l
Next p
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
wuchamatrix = 0
For p = 1 To RecordNumber
   For l = 1 To OutputNumber
   wuchamatrix = wuchamatrix + (expect(p, l) - outputdata(p, l)) * (expect(p, l) - outputdata(p, l))
   Next l
Next p
wuchamatrix = 0.5 * wuchamatrix
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
cishu = 1
Do While wuchamatrix > wucha
'求输出层节点传播误差
For p = 1 To RecordNumber
    For l = 1 To OutputNumber
   wuchaoutput(p, l) = (expect(p, l) - outputdata(p, l)) * outputdata(p, l) * (1 - outputdata(p, l))
   wuchaoutput(p, l) = Val(Format(wuchaoutput(p, l), "##.#####"))
   Next l
Next p
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'求隐含层节点传播误差
For p = 1 To RecordNumber
    For k = 1 To HideNumber
        wuchahide(p, k) = 0
        For l = 1 To OutputNumber
        wuchahide(p, k) = wuchahide(p, k) + wuchaoutput(p, l) * WHO(k, l) * hidedata(p, k) * (1 - hidedata(p, k))
        Next l
    wuchahide(p, k) = Val(Format(wuchahide(p, k), "##.#####"))
    Next k
Next p
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'进行输出节点阈值的调整
For l = 1 To OutputNumber
    For p = 1 To RecordNumber
    thresholdoutput(l) = thresholdoutput(l) - pace * wuchaoutput(p, l)
    Next p
    thresholdoutput(l) = Val(Format(thresholdoutput(l), "##.#####"))
Next l
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'进行隐含输出权重的调整
For k = 1 To HideNumber
   For l = 1 To OutputNumber
    For p = 1 To RecordNumber
    WHO(k, l) = WHO(k, l) + pace * wuchaoutput(p, l) * hidedata(p, k)
    Next p
    WHO(k, l) = Val(Format(WHO(k, l), "##.#####"))
   Next l
Next k
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'进行隐含节点阈值的调整
For k = 1 To HideNumber
   For p = 1 To RecordNumber
   thresholdhide(k) = thresholdhide(k) - pace * wuchahide(p, k)
   Next p
   thresholdhide(k) = Val(Format(thresholdhide(k), "##.#####"))
Next k
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'进行输入隐含层间权重的调整
For j = 1 To InputNumber
  For k = 1 To HideNumber
    For p = 1 To RecordNumber
    WIH(j, k) = WIH(j, k) + pace * wuchahide(p, k) * standardinputdata(p, j)
    Next p
    WIH(j, k) = Val(Format(WIH(j, k), "##.#####"))
  Next k
Next j
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'求对应每组数据隐含节点的输出值
For p = 1 To RecordNumber
  For k = 1 To HideNumber
        Temp1 = 0
        For j = 1 To InputNumber
        Temp1 = Temp1 + standardinputdata(p, j) * WIH(j, k)
        Next j
        Temp1 = Val(Format(Temp1, "##.#####"))
        hidedata(p, k) = 1 / (1 + (Exp(-(Temp1 - thresholdhide(k)))))
        hidedata(p, k) = Val(Format(hidedata(p, k), "##.#####"))
    Next k
Next p
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'求对应每组数据输出节点的输出值
For p = 1 To RecordNumber
   For l = 1 To OutputNumber
     Temp2 = 0
     For k = 1 To HideNumber
     Temp2 = Temp2 + hidedata(p, k) * WHO(k, l)
     Next k
     Temp2 = Val(Format(Temp2, "##.#####"))
     outputdata(p, l) = 1 / (1 + (Exp(-(Temp2 - thresholdoutput(l)))))
     outputdata(p, l) = Val(Format(outputdata(p, l), "##.#####"))
     Next l
Next p
cishu = cishu + 1
wuchamatrix = 0
For p = 1 To RecordNumber
   For l = 1 To OutputNumber
   wuchamatrix = wuchamatrix + (expect(p, l) - outputdata(p, l)) * (expect(p, l) - outputdata(p, l))
   Next l
Next p
wuchamatrix = 0.5 * wuchamatrix
'If cishu Mod 100 = 0 Then
'r = MsgBox(maxwucha & "是当前的误差,你想退出吗?", 36, "提醒!")
'If r = 6 Then End
'End If
Loop
Text1(6).Visible = True
Text1(6).Text = Str(cishu)
Open "F:\批处理神经网络\OUTPUT.txt" For Output As #1
            For p = 1 To RecordNumber
               For l = 1 To OutputNumber
            Print #1, outputdata(p, l) * max(InputNumber + l)
               Next l
            Next p
           Close #1
End Sub
'Open "F:\批处理神经网络\WIH.txt" For Append As #1
 '           Print #1,
  '          m = 0
   '         For i = 1 To InputNumber
    '        For j = 1 To HideNumber
     '       Print #1, WIH(i, j);
      '      m = m + 1
       '     If m Mod HideNumber = 0 Then
        '    Print #1,
         '   End If
          '  Next j
           ' Next i
            'Close #1


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -