And:
from typing import Any
import numpy as np
class Perception:
def __init__(self,input_length,weights=None,bias=None):
if weights is None:
self.weights =np.ones(input_length)*1
else:
self.weights=weights
if bias is None:
self.bias = -1
else:
self.bias=bias
@staticmethod
def activation_function(x):
if x > 0:
return 1
return 0
def __call__(self,input_data):
weighted_input=self.weights*input_data
weight_sum=weighted_input.sum()+self.bias
return Perception.activation_function(weight_sum)
weights =np.array([1,1])
bias =-1
AND_Gate =Perception(2,weights,bias)
input_data =[np.array([0,0]) , np.array([0,1]), np.array([1,0]),np.array([1,1]) ]
for x in input_data:
out =AND_Gate(np.array(x))
print(x,out)
OR:
from typing import Any
import numpy as np
class Perception:
def __init__(self,input_length,weights=None,bias=None):
if weights is None:
self.weights =np.ones(input_length)*1
else:
self.weights=weights
if bias is None:
self.bias = -1
else:
self.bias=bias
@staticmethod
def activation_function(x):
if x > 0:
return 1
return 0
def __call__(self,input_data):
weighted_input=self.weights*input_data
weight_sum=weighted_input.sum()+self.bias
return Perception.activation_function(weight_sum)
weights =np.array([1,1])
bias =-0.5
OR_Gate =Perception(2,weights,bias)
input_data =[np.array([0,0]) , np.array([0,1]), np.array([1,0]),np.array([1,1]) ]
for x in input_data:
out =OR_Gate(np.array(x))
print(x,out)
沒有留言:
張貼留言