인공지능/머신러닝 6

Support Vector Machine(SVM)

서포트 벡터 머신이란, 결정 경계(Decision Boundary), 즉 분류를 위한 기준 선을 정의하는 모델이다. 그래서 분류되지 않은 새로운 점이 나타나면 경계의 어느 쪽에 속하는지 확인해서 분류 과제를 수행할 수 있게 된다. 만약 데이터에 2개 속성(feature)만 있다면 결정 경계는 이렇게 간단한 선 형태가 된다. 속성이 3개로 늘어난다면 3차원으로 그려야 한다. 이때의 결정 경계는 선이 아닌 평면이 된다. 우리가 시각적으로 인지할 수 있는 범위는 3차원까지며, 차원, 즉 속성의 개수가 늘어날수록 복잡해진다. 이에 따라 결정 경계도 단순한 평면이 아닌 고차원이 되며 이를 “초평면(hyperplane)”이라고 한다. 결정 경계는 무수히 많이 존재할 수 있다. 어떤 경계가 좋은 경계일까? 직관적으로..

로지스틱 회귀

⛄ 로지스틱 회귀란? 로지스틱 회귀(Logistic Regression)는 회귀를 사용하여 데이터가 어떤 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해주는 지도 학습 알고리즘이다. 로지스틱 회귀에서 데이터가 특정 범주에 속할 확률을 예측하기 위해서는 다음과 같은 단계를 거친다. 모든 속성(feature)들의 계수(coefficient)와 절편(intercept)을 0으로 초기화한다. 각 속성들의 값(value)에 계수(coefficient)를 곱해서 log-odds를 구한다. log-odds를 sigmoid 함수에 넣어서 [0,1] 범위의 확률을 구한다. 이를 이해하기 위해, log-odds의 개념을 알아보자. ⛄ Log-Odds 선형..

Simple Linear Regression : Gradient Descent Method

⛄ Gradient Descent Method(경사하강법) 비용함수를 최소화하는 w와 b를 구하는 최적화 알고리즘을 옵티마이저(Optimizer)라고 하는데, 경사하강법(Gradient Descent)은 가장 기본적인 옵티마이저이다. 이때, 경사하강법의 기본 개념은 함수의 기울기를 구하고 경사의 절댓값이 낮은 쪽으로 계속 이동시켜 극값에 이를 때까지 반복시키는 것이다. (예를 들어, 위 사진의 경우 노란색 점에 도달하고자 함) 그런데, 우리는 보통 함수의 최솟값을 찾고자 할 때 미분계수를 구함으로써 찾는다. 이 방법을 사용하지 않고 경사하강법을 사용하는 이유는 무엇일까? 1. 실제 분석에서, 특히 딥러닝 알고리즘을 활용하는 경우에 보게 되는 함수들은 형태가 굉장히 복잡해서 미분계수와 그 근을 계산하기 어..

validation set & K-fold cross validation

⛄ Validation set validation set : 학습이 이미 완료된 모델을 검증하기 위한 set (중간 점검) test set : 학습과 검증이 완료된 모델의 최종 성능 평가용 〰 주어진 데이터를 단순히 train set, test set으로 분리했을 때의 문제점 〰 : test set을 검증용으로 사용하면 훈련에 사용되었다고 보기 때문에 모델 수정 후 동일한 test set으로 검증하면 정확한 성능평가가 어려움 따라서, validation set이 필요하다! 보통 Train : Test 데이터를 8 : 2로 나누는데 여기서 Train 데이터 중 일부를 validation set으로 이용한다. 즉, 일반적으로 Train : Validation : Test 을 6 : 2 : 2로 이용한다. 〰..

편향과 분산

"예측값들과 정답이 대체로 멀리 떨어져 있으면 결과의 편향(bias)가 높다고 말하고, 예측값들이 자기들끼리 대체로 멀리 흩어져있으면 결과의 분산(variance)가 높다고 말한다." (1,1) 그림 : 예측값과 정답이 가까움(low bias), 예측값들끼리 가까움(low variance) (1,2) 그림 : 예측값과 정답이 가까움(low bias), 예측값들끼리 멀리 흩어짐(high variance) (2,1) 그림 : 예측값과 정답이 멀리 떨어짐(high bias), 예측값들끼리 가까움(low variance) (2,2) 그림 : 예측값과 정답이 멀리 떨어짐(high bias), 예측값들끼리 가까움(high variance) 왼쪽 그림 예측..

머신러닝 시스템의 종류

머신러닝 시스템의 종류는 굉장히 많기 때문에, 넓은 범주에서 분류하면 도움이 된다. 사람의 감독하에 훈련하는 것인가? (지도, 비지도, 준지도, 강화 학습) 실시간으로 점진적인 학습을 하는가? (온라인 학습과 배치 학습) 단순하게 알고 있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인가? 아니면 훈련 데이터셋에서 패턴을 발견하여 예측 모델을 만드는가? (사례 기반 학습과 모델 기반 학습) 1. 지도 학습과 비지도 학습> 머신러닝 시스템은 학습하는 동안의 감독 형태나 정보량에 따라 분류할 수 있다. 이 기준에 따라 지도 학습, 비지도 학습, 준지도 학습, 강화 학습 등 네 가지 주요 범주로 분류할 수가 있다. 지도 학습 (Supervised Learning) : 지도 학습에는 알고리즘에 주입하는 훈련..