線性神經網路(異或)

2021-10-13 17:15:53 字數 3368 閱讀 6249

v= np.dot(x,w)#np.dot(x,w) array矩陣相乘 4*3乘3*1等於4*1

w_ =lr*(x.t.dot(y-v))/int(x.shape[0])#np.dot(x,w) array矩陣相乘 3*4乘4*1等於3*1

v= (np.dot(x,w))#np.dot(x,w) array矩陣相乘 4*3乘3*1等於4*1

w_ =lr*(x.t.dot(y-v))/int(x.shape[0])#np.dot(x,w) array矩陣相乘 3*4乘4*1等於3*1

w = w+w_

return w

def calc_(x,w,r):

a=w[5]

b=w[2]+x*w[4]

c=w[0]+x*w[1]+x*x*w[3]

if r == 1:

return (-b+np.sqrt(b*b-4*a*c))/(2*a)

elif r == 2:

return (-b-np.sqrt(b*b-4*a*c))/(2*a)

def main():

x_,y_=create_data()

w= (np.random.random([6,1])-0.5)*2

for i in range(10000):

w= update_ws(x_,y_,w,0.11)

x1 = [0,1]

y1 = [1,0]

x2 = [0,1]

y2 = [0,1]

#w =np.concatenate((w),axis=0)#水平組合

令x1=x ,x2=y;

w0 + x*w1 +y*w2 + x^2*w3 + x*y*w4+ y^2*w5 = 0

根據a*x^2+b*x+c=0求解知;

a*y^2+b*y+c=0可推出;

線性神經網路 解決異或問題

日常三大包 import numpy as np import pandas as pd import matplotlib.pyplot as plt多想想upadte函式的原理,這裡是先隨機乙個權重w,然後w的置換與x相乘去,得到的是乙個列 w1x1 w2x2 w3x3的形式 然後其與y進行比較...

神經網路 異或 神經網路學習之感知器

基於m p模型中權重引數需要人為設定的問題,1958年羅森布拉特 roseblatt 提出了感知器,經過訓練,計算機能夠確定神經元的連線權重,由此,神經網路迎來了第一次熱潮。感知器結構 感知器主要由輸入層和輸出層,其中,輸入層接收外界輸入訊號後傳遞給輸出層,輸出層是m p神經元。表示式 感知器如何自...

BP神經網路 解決異或問題

import numpy as np import matplotlib.pyplot as plt 輸入資料 4,3 x np.array 1,0,0 1,0,1 1,1,0 1,1,1 標籤y np.array 0,1,1,0 權值初始化,1行3列,取值範圍 1到1 v np.random.ra...