深度學習-感知器
阿新 • • 發佈:2018-11-19
感知器是神經網路的基礎構成元件,是一個“神經元”。輸入與權重和偏差構成線性關係,再經由啟用函式轉化為輸出。感知器可以表示某些邏輯運算子,比如AND,OR,NOT運算子。
下面簡單編寫一個AND感知器,其中權重和偏差是自己設定的。
import pandas as pd
weight1 = 1
weight2 = 1
bias = -2
test_inputs = [(0,0),(0,1),(1,0),(1,1)]
test_outputs = [False,False,False,True]
outputs = []
for test_input,test_output in zip(test_inputs,test_outputs):
linear_combination = test_input[0]*weight1 + test_input[1]*weight2 + bias
output = int(linear_combination >= 0)
is_correct = 'Yes' if output == test_output else 'No'
outputs.append([test_input[0],test_input[1],linear_combination,output,is_correct])
num_wrong = len([output[4 ] for output in outputs if output[4]=='No'])
output_frame = pd.DataFrame(outputs,columns = ['Input1','Input2','Linear combination','Activation output','Is correct'])
if not num_wrong:
print('You have a good job,all correct')
else:
print('You have {} wrong.Please try again.'.format(num_wrong))
print(output_frame.to_string(index=False ))
OR,NOT感知器的編碼基本一樣,只要稍微修改一下即可。