위 그림에서 m = 4로 설정, 따라서 입력값(Input)은 x_1, x_2, x_3, x_4로 총 4개, 가중치(Weight)도 w_1, w_2, w_3, w_4로 총 4개임
가중치 w_0에 대한 입력값은 1이므로 두 값이 곱해진 값은 상수 w_0이고, 이는 곧 Bias입니다. 따라서 Bias b = 1 * w_0 = w_0 라고 할 수 있음
입력값 x_1, x_2, x_3, x_4와 가중치 w_1, w_2, w_3, w_4, 그리고 1과 w_0까지 Net input function에 입력되면 y = w_1x_1 + w_2x_2 + w_3x_3 + w_4x_4 + b, 즉 신호의 총합 값이 나오게 됨
y는 이제 Activation function, 즉 활성화 함수에 입력값으로 들어가고, 우리의 퍼셉트론은 값에 따라 최종 신호 0 또는 1을 반환하게 됨
'''
1. 가중치와 Bias 값을
임의로 설정해줍니다.
Step01. 0이상 1미만의 임의의 값으로 정의된
4개의 가중치 값이 들어가있는
1차원 리스트를 정의해줍니다.
Step02. Bias 값을 임의의 값으로 설정해줍니다.
'''
def main():
x = [1,2,3,4]
w = [0.3, 0.5, 0.1, 0.7]
b = -2
output, y = perceptron(w,x,b)
print('output: ', output)
print('y: ', y)
'''
2. 신호의 총합과 그에 따른 결과 0 또는 1을
반환하는 함수 perceptron을 완성합니다.
Step01. 입력 받은 값과 Bias 값을 이용하여
신호의 총합을 구합니다.
Step02. 신호의 총합이 0 이상이면 1을,
그렇지 않으면 0을 반환하는 활성화
함수를 작성합니다.
'''
def perceptron(w, x, b):
output = x[0] * w[0] + x[1] * w[1] + x[2] * w[2] + x[3] * w[3] + b
output = sum([x_i * w_i for x_i, w_i in zip(x,w)]) + b
y = 1 if output >= 0 else 0
return output, y
if __name__ == "__main__":
main()
출처: 앨리스 교육
반응형