다층 퍼셉트론(multilayer perceptron) - 입력층과 출력층 사이에 한 개 이상의 은닉층(hidden layer)을 포함한 신경망 구조 - 퍼셉트론 두 개를 각각 처리하는 은닉층을 만들어 두 개를 한 번에 계산하면 XOR 문제 해결 가능 설계 : 입력 값인 x1과 x2에 각각 가중치(w)를 곱하고 바이어스(b)를 더해 은닉층(node)으로 전송 : 은닉층에 모인 값들은 활성화 함수(ex. 시그모이드 함수)를 통해 최종 값으로 결과 보냄 : 각각의 가중치(w)와 바이어스(b) 값 결정 XOR 문제 해결 - 각각의 가중치와 바이어스 값 설정 - x1 값과 x2 값을 입력해 원하는 y 값이 나오는지 확인 XOR 문제 해결 - 파이썬 코드로 구현 1. 가중치와 바이어스 선언 import numpy..
인공 신경망(artificial neural network, ANN) - 뇌의 동작 원리를 모방한 컴퓨터 알고리즘으로, 여러 층의 퍼셉트론들이 데이터를 처리하고 학습하는 모델 - 역전파라고 불리는 과정을 통해 뉴런들 사이의 연결의 무게를 조정함으로써 학습하며, 패턴을 인식하고 예측 퍼셉트론(perceptron) : 신경망을 이루는 기본 단위 : 입력과 가중치를 곱한 값을 활성화 함수에 적용하여 출력을 결정 아달라인(Adaline) : 퍼셉트론에 경사 하강법을 도입해 최적의 경계선을 그릴 수 있게 함 XOR 문제 - 네 점 사이에 직선을 그을 때, 한 쪽에는 검은 점만 있고 다른 한 쪽에는 흰 점만 있게끔 그을 수 있을까? - XOR 문제는 선형 분리(퍼셉트론, 아달라인)가 불가능한 문제로, 하나의 단층 ..
머신 러닝 용어 가설 함수(hypothesis) - H(x) : 문제를 해결하기 위해 가정하는 식 (ex.y = ax + b) 가중치(weight) : y = ax + b에서 변수 x에 어느 정도의 가중치를 곱하는지 결정하는 기울기 a 편향(bias) : y = ax + b에서 데이터의 특성에 따라 따로 부여되는 값 b 머신 러닝에서 y = ax + b => H(x) = wx + b 가중합 : 입력 값과 가중치를 모두 곱한 후 바이어스(bias)를 더한 값 활성화 함수(activation function) : 입력된 값을 다음 층으로 넘길 때 각 값을 어떻게 처리할지를 결정하는 함수 : 가중합의 결과를 0 또는 1로 판단하는 함수 손실 함수(loss function) : 실제 값과 예측 값 사이의 오차에..
다중 선형 회귀(Multiple linear regression) - 2개 이상의 독립 변수로부터 종속 변수 예측 - 단순 선형 회귀보다 더 정확한 예측 가능 다중 선형 회귀 예제 - 파이썬 코드로 구현 - 중간고사를 본 4명의 학생의 공부한 시간, 과외 수업 횟수와 성적 조사 - 독립 변수 : 공부한 시간, 과외 수업 횟수 / 종속 변수 : 성적 공부한 시간 2 4 6 8 과외 수업 횟수 0 4 2 3 성적 71 93 91 97 1. 환경 및 데이터 준비 - 독립 변수 x1(공부 시간), x2(과외 시간)로 종속 변수 y(성적)를 만들 경우, 식은 y = a1x1 + a2x2 + b import numpy as np import matplotlib.pyplot as plt # 공부 시간 x1과 과외 시..
기울기와 오차의 관계 - y = ax + b에서 기울기 a와 오차는 이차 함수 관계 - 기울기를 너무 크게 잡거나 너무 작게 잡으면 오차 커짐 - 적절한 기울기(m)를 찾았을 때 오차 최소화 경사 하강법(gradient decent) - 오차의 변화에 따라 이차 함수 그래프를 만들고 적절한 학습률을 설정해 미분 값이 0인 지점을 구하는 것 계산법 1. 어느 한 점(a1)에서 미분을 구한다 2. 구한 기울기의 반대 방향(기울기가 +면 음의 방향, -면 양의 방향)으로 얼마간 이동시킨 점(a2)에서 미분을 구한다 3. 앞에서 구한 미분 값이 0이 아니면 1, 2번 반복 학습률(learning rate) : 매회 얼마의 강도로 업데이트 되어야 하는지 제어하는 척도 : 기울기를 바꿔 이동할 때 적절한 학습률을 ..
평균 제곱 오차(Mean Square Error, MSE) - 실제 데이터와 예측 데이터 차이(=오차)의 제곱에 대해 평균을 취한 것 - 입력 값이 여러 개인 경우, 가설을 세우고 값이 조건에 충족하는지 판단해서 조금씩 수정해 나가면서 오차가 최소가 될 때까지 반복하는 방법 사용 - 값을 조금씩 수정해 나가는 과정에서 오차를 평가하는 방법이 평균 제곱 오차 - 평균 제곱 오차에서 구한 값을 바탕으로 오차 최소화되는 값 구해야 함 계산법 1. 각 데이터에서 오차를 구한다 2. 각 오차 값을 제곱한 후, 모두 더한다(부호가 있으면 정확한 오차 구하기 힘드므로 제곱 사용) 3. 오차의 제곱 합을 원소의 총 개수로 나눈다 예제에 적용 1. y = 3x + 76이라는 직선의 방정식을 가설로 세웠을 때, 오차는 공..