非逻辑门感知器算法的实现
在机器学习领域,感知器是一种用于二元分类器的监督学习算法。感知器模型实现以下函数:
对于权重向量的特定选择和偏置参数 ,模型预测输出对于相应的输入向量 .
NOT逻辑函数真值表只有 1 位二进制输入(0 或 1),即输入向量和相应的输出 –
0 | 1 |
1 | 0 |
现在对于相应的权重向量输入向量的 ,相关的感知函数可以定义为:
对于实现,考虑的权重参数是偏置参数为 .
Python实现:
# importing Python library
import numpy as np
# define Unit Step Function
def unitStep(v):
if v >= 0:
return 1
else:
return 0
# design Perceptron Model
def perceptronModel(x, w, b):
v = np.dot(w, x) + b
y = unitStep(v)
return y
# NOT Logic Function
# w = -1, b = 0.5
def NOT_logicFunction(x):
w = -1
b = 0.5
return perceptronModel(x, w, b)
# testing the Perceptron Model
test1 = np.array(1)
test2 = np.array(0)
print("NOT({}) = {}".format(1, NOT_logicFunction(test1)))
print("NOT({}) = {}".format(0, NOT_logicFunction(test2)))
输出:
NOT(1) = 0
NOT(0) = 1
这里,模型预测输出( )对于每个测试输入都与非逻辑门常规输出完全匹配( ) 根据真值表。
因此,验证了非逻辑门的感知器算法被正确实现。