티스토리 뷰


(x1w1 + x2w2 <= θ) = 0 

(x1w1 + x2w2  > θ)  = 1



위의 수식에서 θ을 -b로 바꾸면 


(x1w1 + x2w2 +b <= 0)  = 0

(x1w1 + x2w2 +b > 0)  = 1


이렇게 된다.


이런식으로 편향을 이용하여 AND,OR,NAND 게이트를 구현할 수 있다.


배열끼리의 연산을 하기 위해 numpy를 사용했다.




AND 게이트


1
2
3
4
5
6
7
8
9
10
11
12
13
def AND(x1,x2)
 
    x = np.array([x1,x2])
    w = np.array([0.50.5])
     
     b = -0.7
 
     tmp = np.sum(x*w) + b
 
     if tmp <=0:
         return 0
     else:
         return 1
cs




OR 게이트


1
2
3
4
5
6
7
8
9
10
11
12
13
def OR(x1,x2)
 
    x = np.array([x1,x2])
    w = np.array([0.50.5])
     
     b = -0.3
 
     tmp = np.sum(x*w) + b
 
     if tmp <=0:
         return 0
     else:
         return 1
cs




NAND 게이트


1
2
3
4
5
6
7
8
9
10
11
12
13
def NAND(x1,x2)
 
    x = np.array([x1,x2])
    w = np.array([-0.5-0.5])
     
     b = 0.7
 
     tmp = np.sum(x*w) + b
 
     if tmp <=0:
         return 0
     else:
         return 1
cs



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함