1학년/딥러닝 공부
1_3 퍼셉트론 작동 구현 예시
즈_말
2022. 8. 1. 17:51
< 앨리스 코딩 비교과에서 얻은 자료임.>
- 비의 유무와 여친의 만남 요청 유무 (입력값 x1, x2)
- 비를 얼마나 좋아하는지와 여친을 얼마나 좋아하는지 (가중치 w1, w2)
- 외출을 얼마나 좋아하는지 (Bias B)
위 세 가지 사항과 아래의 표를 고려해서 외출 여부(출력값 yyy)를 판단하는 Perceptron 함수를 만들어보자
'''
1. 신호의 총 합과 외출 여부를 반환하는 perceptron 함수를 만든다.
step1. Bias는 외출을 좋아하는 정도이며 -1로 설정한다
step2. 입력 받은 값과 Bias값을 이용하여 신호의 총 합을 구한다
step3. 지시한 활성화 함수를 참고하여 외출 여부 ( 0 or 1 )를 반환한다.
'''
# 퍼셉트론 함수 구현
def Perceptron(x1, x2, w1, w2):
bias = -1
output = (x1 * w1 + x2 * w2 + bias )
y = 1 if output > 0 else 0
return output, y
# 값 입력받는 함수
def input_fun():
# 비 오는 여부 ( 비가 온다 : 1 / 비가 오지 않는다 : 0 )
x1 = int(input("x1 : 비가 오는 여부 (1 or 0)을 입력하세요. "))
# 여자친구가 만나자고 하는 여부 ( 만난다 : 1 / 만나지 않는다 : 0 )
x2 = int(input("x2 : 여자친구가 만나고자 하는 여부 (1 or 0)을 입력하세요 . "))
# 비를 좋아하는 정도의 값 ( 비를 싫어 한다 -5 ~ 5 비를 좋아한다 )
w1 = int(input("w1: 비를 좋아하는 정도 값( -5~5 )를 입력하세요 . "))
# 여자친구를 좋아하는 정도의 값( 여자친구를 싫어한다 -5~5 여자친구를 좋아한다 )
w2 = int(input("w2 : 여자친구를 좋아하는 정도의 값( -5~5 )을 입력하세요. "))
return x1, x2, w1, w2
'''
2. 다양하게 x1,x2,w1,w2 값을 입력하고 퍼셉트론 함수에서 반환한신호의 총합과 그에 따른 외출 여부를 확인해보자
'''
def main():
x1,x2,w1,w2 = input_fun()
result, go_out = Perceptron(x1,x2,w1,w2)
print("\n신호의 총 합 : %d" % result)
if go_out > 0 :
print("외출 여부 : %d\n ==> 외출한다 ! " % go_out)
else:
print("외출 여부 : %d\n ==> 외출하지 않는다 ㅠㅠ" % go_out)
if __name__ == "__main__":
main()
이런 퍼셉트론 결과 하나하나가 모여서 !! 기계가 학습을 하는구만
728x90