본문 바로가기

ML

(8)
2. 역전파 역전파 - 모델내부의 파라미터의 최적화는 미분의 성질과 연쇄법칙(Chain rule)을 기반으로 한 역전파를 통해 진행된다. - 역전파는 모델이 복잡할 수록 계산 과정이 복잡해져 코드를 직접 구현하기에는 어려움이 있다. - 하지만 파이토치에는 간단하게 사용할 수 있는 다양한 최적화 방법을 제공하고 있다. 1. 그레디언트 텐서 - 일반적으로 인공 신경망의 최적화는 손실 함수의 최솟값(Global minimum)이 나오게 하는 신경망의 최적 가중치를 찾는 과정이다. - 따라서 최적화를 위해 변화량을 나타내는 미분은 필수적인 요소이다. - 인공신경망의 구조는 다음과 같이 입력 값이 들어와 여러 레이어를 지나 출력 값을 산출하는 합성 함수의 형태이다. - 따라서 연쇄법칙을 통해 원하는 변수에 대한 미분값을 구할..
1. 텐서 텐서 - 파이토치의 기본 단위, GPU 연산을 가능하게 함. - 또한 Numpy의 배열과 유사하여 Numpy를 공부한 사람이라면 손쉽게 다룰 수 있음. 1. empty, ones, empty, zeros import torch import numpy as np x = torch.empty(5,4) print(x) tensor([[1.8515e+28, 1.7744e+28, 5.3831e-14, 1.8037e+28], [6.7120e+22, 2.8231e+23, 7.1377e+31, 5.3740e+19], [1.8888e+31, 1.9011e-19, 1.2711e+31, 4.2321e+21], [4.5581e+30, 1.1725e-19, 5.0746e+31, 7.5338e+28], [2.8884e+12, 7..
회귀를 위한 신경망의 출력층에서는 어떤 활성화 함수를 사용하는지 분류 문제는 클래스에 대한 확률을 출력하기 위해 활성화 함수를 사용한다. 회귀의 출력은 임의의 어떤 숫자이므로 활성화 함수를 적용할 필요가 없다. 즉 출력층의 선형 방정식의 계산을 그대로 출력한다. 이렇게 하려면 Dense 층의 Activation 매개변수에 아무런 값을 지정하지 않는다.
로지스틱 회귀(Logistic Regression) 1. 로지스틱 회귀란? - 로지스틱 회귀는 회귀를 사용하여 데이터가 어떤 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해 주는 지도 학습 알고리즘이다. - 로지스틱 회귀의 분류 모델은 이진 분류 모델로 클래스가 딱 2개 있을때만 사용이 가능하다. - 로지스틱 '회귀' 인데 갑자기 왜 뚱딴지같은 분류 모델이 나오지 라고 생각할 수 있는데, 로지스틱 '회귀'를 통해서 '분류'를 하는 것을 의미한다. - 예를 들어보면 제품을 받았을때 그것이 불량일 확률이 0.5 이상이면 불량으로 분류하고, 확률이 0.5보다 작은 경우 양품으로 분류하는 것이다. 이렇게 데이터가 2개의 범주 중 하나에 속하도록 하는 것을 2진 분류(binary classific..
회귀 모델 평가 분류 모델의 성능을 평가하기 위해서 주로 Accuracy, Precison, Recall 등을 사용한다. 회귀 모델의 경우 다음과 같은 방식을 사용하여 모델을 평가한다. 더보기 우리가 오차들을 계산할때 각 오차들은 부호(+-)로 인해서 상쇄될 가능성이 있다. 그러한 에러를 방지하기 위해 절댓값을 씌우거나 제곱을 할 수 있다. 1. MAE (Mean Absolute Error) - MAE는 위와 같은 문제를 방지하기 위해 오차에 절댓값을 씌워 계산한 값들의 평균을 구하는 방법이다. - 오차들의 부호로 인해서 오차가 서로 상쇄되는 문제를 해결할 수 있는 방식. 2. MSE (Mean Squared Error) - MSE는 오차간의 부호 문제를 각 오차를 제곱하여 계산한 값들의 평균 - MSE의 경우 MAE와..
퍼셉트론(단층) 1. 신경망 - 인공 신경망: 생물학적인 신경망에서 영감을 받아서 만들어진 컴퓨팅 구조이다. 생물학적인 신경망에서 수학적인 구조로 모델링 한 것 - 퍼셉트론: 신경망(딥러닝)의 기원이 되는 알고리즘 퍼셉트론(인공 뉴런): 다수의 신호를 입력으로 받으면 Activation function(활성화 함수)를 거쳐 특정 하나의 신호를 출력. 2. 뉴런을 사용한 논리 연산 - 생물학적 뉴런에서 착안한 매우 단순한 신경망 모델임 - A,B는 input - 첫번째 네트워크는 항등함수. (뉴런 A가 활성화 되면 뉴런 C도 활성화 된다.) - 두번째 네트워크는 논리곱 연산을 수행. (뉴런 A,B 모두 활성화 될때만 뉴런 C가 활성화 됨.) - 세번째 네트워크는 논리합 연산을 수행. (뉴런 A, B 둘 중 하나라도 활성화..
다중 공산성 문제 다중공산성 문제란? -독립 변수간의 상관관계가 매우 높을때, 하나의 독립변수의 변화가 다른 독립변수에 영향을 미쳐, 결과적으로 모델이 크게 흔들리는 것을 말함. -일반적으로 회귀 분석에서는 어떤 설명 변수의 영향력을 파악할 때 설면 변수들 끼리 서로 독립이라는 가정을 하고 있다. 그래야 알아보고자 하는 변수의 영향력만을 오롯이 알 수 있기 때문이다. -다중공산성에 문제가 발생한다는 것은 독립변수 x1과 x2가 있을때 x1이 종속 변수에 대해 설명한 부분을 x2가 또 설명해 주고 있다고 생각하면 된다. -이렇게 되는 경우 변수들 각각의 설명력이 약해지게 되며 이는 변수들의 표준 오차의 증가로 여실히 드러나게 됨. 다중공선성 문제가 발생했는지 어떻게 알 수 있는가? 1) correlation matrix를 ..
1.선형 회귀(Linear Regression) 1. 회귀 - 회귀는 주어진 입력- 출력 쌍을 학습한 후, 새로운 입력값이 들어왔을 때 합리적인 출력 값을 예측하는 것. -회귀에서 학습시키는 데이터는 이산적이지 않고 연속적이다. (입력과 출력이 모두 실수이다.) 이산적 : 변수가 취할 수 있는 값의 수가 유한한 경우, 정수로 표시된 자료 --> 일정 기간 동안 교통사고 발생건수, 특정 가구의 자녀수 연속적 : 체중, 거리, 시간 과 같이 무한히 작은 단위로 측정이 가능하여 모든 실수 값을 취할 수 있는 자료. --> 무게, 온도, 부피 결국 회귀는 입력(x)와 출력(y)가 주어질 때, 입력에서 출력으로의 매핑 함수를 학습하는 것이라고 할 수 있다. 2.선형 회귀 소개 - 직선의 방정식 : f(x) = mx+b - 선형 회귀는 입력 데이터를 가장 잘 설..