목록AI 공부/Machine Learning (22)
머신러닝/딥러닝 공부
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dFjafn/btrhUjXgSmZ/k7QDkPnPa8kk3zjbi4D86K/img.jpg)
1 ) 회귀(Regression) 회귀 모델은 주어진 데이터로 학습시켜 연속적인 예측값을 출력하는 모델입니다. 회귀 모델은 크게 선형 회귀 모델(Linear Regression)과 비선형 회귀 모델(Non-Linear Regression)로 나눌 수 있습니다. 여기서 선형(Linear)이란 다음의 성질을 만족시키는 것입니다. 선형의 성질을 만족시키지 못하면 비선형(Non-Linear)이라고 부릅니다. 가장 간단한 선형 회귀 모델은 다음과 같은 모양입니다. 또한 다음과 같은 모양도 선형 모델이라 할 수 있겠네요. 이처럼 변수의 개수만 달라질 뿐 모델이 선형이라는 성질을 가지고 있는 것에는 변함이 없습니다. 모델의 형태를 보면 결국 직선, 혹은 평면, 그리고 4차원 이상의 공간에서는 초평면(hyperplan..
지도 학습의 종류에는 회귀(Regression)와 분류(Classification)가 있다고 했습니다. 이 둘은 비슷한 개념이지만 서로 다른 종류의 출력값을 내놓는 모델을 학습하는 데에 차이를 두고 있습니다. 먼저 우리가 사용하는 데이터는 이산적인(Discrete) 값을 갖는 데이터이거나 연속적인(Continuous) 값을 갖는 데이터 입니다. 어떤 데이터가 이산적인 값을 갖는다고 하는 것은 값이 연속적으로 분포하지 않는다는 것이고, 그 외의 경우는 연속적인 값을 갖는다고 합니다. 예를 들어 키, 몸무게, 비가 올 확률 등은 연속적인 데이터이고 물건의 상표명, 동물의 종류, 비가 왔는지 유무 등은 이산적인 데이터라고 할 수 있습니다. 회귀 모델은 예측값으로 연속적인 값을 출력하고, 분류 모델은 예측값으로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/F7Aza/btrhFiDlhpL/qLMaOiwbNqdk6nJU55N890/img.png)
이전 포스팅에서는 경사하강법(GD)가 가지는 문제들에 살펴보았습니다. 경사하강법의 기울기를 이용한 방법 때문에 근복적으로 생기는 문제들을 완화하기 위해 여러 가지 다른 옵티마이저들이 고안되었습니다. 그중에서 이번 포스팅에서는 확률적 경사하강법(Stochastic Gradient Descent, SGD)와 미니배치 경사하강법(mini-batch Gradient Descent)에 대해 정리해보겠습니다. 그전에 배치(batch)와 에포크(epoch), 반복(iteration)에 대해 알아보겠습니다. - 배치(batch)란 머신러닝의 모델에서 모델의 가중치들을 한 번 업데이트시킬 때 사용하는 데이터들의 집합입니다. - 배치 사이즈(batch size)는 말 그대로 배치의 크기, 즉 모델의 가중치들을 한 번 업데..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cBDz4z/btrhqK7G8rZ/VIHRUsqwRgFB5waHSuOVU0/img.png)
경사하강법은 머신러닝에서 모델을 주어진 데이터에 맞게 학습시킬 수 있는 좋은 방법입니다. 하지만 경사하강법은 기본적으로 기울기를 이용하여 가중치를 업데이트하기 때문에 근본적인 몇 가지 문제점을 갖습니다. 1) 많은 연산량과 컴퓨터 자원 소모 경사하강법은 데이터(입력값) 하나가 모델을 지날 때마다 모든 가중치를 한 번씩 업데이트합니다. 가중치가 적은 모델의 경우 문제가 될 것이 없으나, 만약 모델의 가중치가 매우 많다면 모든 가중치에 대해 연산을 적용하기 때문에 많은 연산량을 요구합니다. 또한 실제로 모델을 학습시킬 때 수많은 데이터를 모델에 주입시키기 때문에 상당한 연산량과 컴퓨터적 자원을 요구하게 됩니다. 모델을 평가할 때 정확도뿐만 아니라 연산량, 학습시간, 메모리 소비량 등도 평가 요소가 되기 때문..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lAzpM/btrgTDWuXTs/1X1KzSzaoG7RDiKwu2dkk1/img.jpg)
1 ) 손실 함수 ( Loss function) 여태까지 다룬 내용을 한 줄로 정리해보면, '머신러닝은 타깃과 예측값( 모델에 입력값을 넣었을 때 나오는 값, 즉 출력값)의 오차를 최소화하는 방향으로 모델의 파라미터들을 조정하여 가장 알맞은 모델을 찾아내는 것' 이라고 할 수 있습니다. 지금부터 모델이 어떤 방식으로 파라미터들을 조정하는지 정리해보겠습니다. 먼저 오차를 최소화한다고 했는데 오차는 어떤식으로 정의를 할까요? 오차를 정의하는 방법에는 여러가지가 있습니다. - 평균 제곱 오차 (Mean Squre Error, MSE) - 평균 제곱근 오차 (Root Mean square Error, RMSE) - 이진 교차 엔트로피 ( Binary Cross-entropy) - 카테고리컬 교차 엔트로피 ( C..