AI/MachineLearning

AI/MachineLearning

역전파(Back propagation) 구현

역전파(Back propagation) 역전파(Back propagation)는 다층 퍼셉트론 모델을 이루는 가중치들을 개선하기 위해 개발된 여러 알고리즘들 중 가장 유명하고 널리 쓰이는 방법입니다. 이번 실습에서는 역전파를 간단하게 실습해보기 위해, 퍼셉트론 한 개의 가중치들을 개선시키는 역전파를 구현해 보도록 합니다. 다음 그림은 이번 실습에서 사용되는 퍼셉트론을 나타냅니다. 입력은 x_1, x_2, x_3x1​,x2​,x3​ 세 개의 정수로 주어지고, 각각 w_1, w_2, w_3w1​,w2​,w3​의 계수가 곱해져 sigmoid 함수를 통과할 값은 x_1w_1 + x_2w_2 + x_3w_3x1​w1​+x2​w2​+x3​w3​가 됩니다. 여기서 w_1, w_2, w_3w1​,w2​,w3​가 바로 ..

AI/MachineLearning

Gradient descent 알고리즘 구현하기

Gradient descent 알고리즘 Gradient descent 알고리즘은 손실 함수(loss function)의 미분값인 gradient를 이용해 모델에게 맞는 최적의 가중치(weight), 즉 손실 함수의 값을 최소화 하는 가중치를 구할 수 있는 알고리즘이다. 이번 실습에서는 Gradient descent 알고리즘을 직접 구현한 후, 이를 이용해 데이터를 가장 잘 설명하는 선형 회귀 직선의 기울기와 y절편, 즉 선형 회귀 모델에게 맞는 최적의 가중치를 찾아보자. 선형 회귀 직선의 수식은 다음과 같은 1차 함수 형태이며, 우리가 Gradient descent 알고리즘을 사용해 찾을 값, 즉 가중치는 w_0w0​과 w_1w1​이다. f(x) = w_0+w_1 xf(x)=w0​+w1​x 손실 함수 (..

AI/MachineLearning

다층 퍼셉트론으로 XOR gate 구현하기

앞선 실습에서 단층, 즉 한 개의 퍼셉트론으로 가중치와 Bias를 조정하여 AND, OR, NAND, NOR Gate를 구현했다. 이들은 하나의 직선으로 영역을 나눈 후 출력을 조정하여 나온 결과라고 할 수 있다. 하지만 XOR Gate는 구현하지 못했습니다. XOR Gate를 완벽히 구현하기 위해선 어떻게 가중치와 Bias를 조정해야 할까? import numpy as np ''' 1. AND_gate 함수를 완성하세요. ''' def AND_gate(x1,x2): x = np.array([x1, x2]) weight = np.array([0.5, 0.5]) bias = -0.7 y = np.matmul(x, weight) + bias return Step_Function(y) ''' 2. OR_gat..

AI/MachineLearning

비선형 XOR 문제

XOR 문제는 주어진 두 x1, x2의 값이 다르면 결과가 1이 나오고 같으면 0이 나오는 문제이다. 이번 실습에서는 이진 분류가 가능한 선형 분류기 하나로 XOR 문제를 풀면 어떤 결과가 나오는지 확인해보자. XOR 문제의 경우는 지금까지 만든 AND, OR, NAND, NOR gate처럼 선형 분류기 하나로 문제를 해결할 수 없다. 즉 이는 로지스틱 회귀(Logistic Regression)로 문제를 해결할 수 없다는 뜻과 같다. 로지스틱 회귀는 범주형 변수를 회귀 예측하는 알고리즘을 말한다. XOR gate를 포함한 AND, OR, NAND, NOR gate는 0과 1의 입력쌍을 통해 0 또는 1, 즉 두 종류의 변수를 예측한다.. 따라서 지금까지 배운 gate 알고리즘은 모두 로지스틱 회귀 알고리..

AI/MachineLearning

NAND & NOR gate

앞선 실습에서는 가중치(Weight), Bias, Step Function을 이용하여 단층 퍼셉트론인 AND gate와 OR gate를 구현해보았다. 이번 실습에서는 가중치와 Bias 값을 조정해보며 동일한 단층 퍼셉트론 NAND gate와 NOR gate를 구현해보도록 하자. import numpy as np ''' 1. NAND_gate 함수를 완성하세요. Step01. 이전 실습을 참고하여 입력값 x1과 x2를 Numpy array 형식으로 정의한 후, x1과 x2에 각각 곱해줄 가중치도 Numpy array 형식으로 적절히 설정해주세요. Step02. NAND_gate를 만족하는 Bias 값을 적절히 설정해주세요. Step03. 가중치, 입력값, Bias를 이용하여 가중 신호의 총합을 구합니다. ..

AI/MachineLearning

AND gate & OR gate

AND gate와 OR gate는 한 개의 퍼셉트론으로 만들어졌기 때문에 단층 퍼셉트론이라고 부른다. 단층 퍼셉트론인 AND gate와 OR gate를 직접 구현해보며 적절한 가중치(Weight)와 Bias 값을 찾아보고, 가장 기본적인 활성화 함수인 Step Function을 구현해보도록 하자. import numpy as np ''' 1. AND_gate 함수를 완성하세요. Step01. 입력값 x1과 x2에 각각 곱해줄 가중치는 0.5, 0.5로 설정되어 있습니다. Step02. AND_gate를 만족하는 Bias 값을 설정합니다. 여러 가지 값을 대입해보며 적절한 Bias 값을 찾아보세요. Step03. 가중치, 입력값, Bias를 이용하여 신호의 총합을 구합니다. Step04. Step Func..

향식이
'AI/MachineLearning' 카테고리의 글 목록 (4 Page)