머신러닝 공부 - 오버피팅(Overfitting)의 개념과 해결 방법
Overfitting(과적합)이란 머신러닝은 (쉽게 얘기하자면) 대량의 데이터를 알고리즘에 넣어서 일종의 규칙을 생성하고, 그 규칙에 따라 입력값을 분류하도록 하는 거다. 그래서 이 알고리즘에 제공하는 학습 데이터가 매우 중요하다. 학습 데이터의 모든 값들을 하나하나 살펴보면서 규칙을 생성하기 때문이다. overfitting은 모델의 파라미터들을 ...
Overfitting(과적합)이란 머신러닝은 (쉽게 얘기하자면) 대량의 데이터를 알고리즘에 넣어서 일종의 규칙을 생성하고, 그 규칙에 따라 입력값을 분류하도록 하는 거다. 그래서 이 알고리즘에 제공하는 학습 데이터가 매우 중요하다. 학습 데이터의 모든 값들을 하나하나 살펴보면서 규칙을 생성하기 때문이다. overfitting은 모델의 파라미터들을 ...
분류를 수행할 수 있는 기계 학습 알고리즘을 만들고 나면, 그 분류기의 예측력을 검증/평가 해봐야 한다. 모델의 성능을 평가하려면 모델을 생성하기 전부터 애초에 데이터를 학습 세트와 평가 세트로 분리해서, 학습 세트로 모델을 만들고 평가 세트로 그 모델의 정확도를 확인하는 절차를 거친다. 그런데 분류 모델 성능 평가 지표를 소개하기 이전에 정답을 ...
K-최근접 이웃(K-Nearest Neighbors)은 일반적으로 분류(Classification)에 사용되는 지도학습 알고리즘이다. 그러나 이걸로 회귀(Regression)를 수행 할 수도 있다. Classification(분류)는 연속적이지 않은 레이블, 다시 말해 ‘무엇’인지를 예측하지만, 회귀(Regression)는 연속된 수치, 즉 ‘얼마나’...
본 포스팅에서는 파이썬 라이브러리 scikit-learn을 통해 K-최근접 이웃(K-Nearest Neighbor) 알고리즘을 사용한 분류를 직접 수행하는 코드를 소개한다. sklearn KNeighborsClassifier 사용법 실제 데이터 돌려보기 전에 사용법부터 익히고 가자. from sklearn.neighbors import KNeig...
K-최근접 이웃(K-Nearest Neighbor)은 머신러닝에서 사용되는 분류(Classification) 알고리즘이다. 유사한 특성을 가진 데이터는 유사한 범주에 속하는 경향이 있다는 가정하에 사용한다. K-최근접 이웃 알고리즘의 개념 원리를 쉽게 이해하기 위해 아래 그림을 보자. 녹색 점을 파란 사각형으로 혹은 빨간 삼각형으로 분류할지 결정하...
왜 정규화를 해야 하는가 머신러닝 알고리즘은 데이터가 가진 feature(특성)들을 비교하여 데이터의 패턴을 찾는다. 그런데 여기서 주의해야 할 점이 있다. 데이터가 가진 feature의 스케일이 심하게 차이가 나는 경우 문제가 되기 때문이다. 예를 들어 ‘주택’에 관한 정보가 담긴 데이터를 생각해보자. 그 안에 feature로 방의 개수(개),...
이전에 선형회귀에 대한 개념을 소개한 바 있다. X의 값에 따라 Y값이 어떻게 달라질지 예측하는, 기울기와 절편만 있는 단순한 1차 방정식 y = m*X + b로 설명했는데, 이건 그냥 단순선형회귀라고 부른다. 아무튼 우리가 사는 세상은 단순선형회귀로 설명할 수 있을만큼 그렇게 단순하지 않다. 고려해야 하는 변수 X가 하나가 아니라는 의미다. 예를...
본 포스팅에서는 두 점 사이의 거리를 구하는 여러가지 방법을 알아본다. 그런데 거리(distance)를 왜 구해야 할까? 거리는 일종의 유사도(Similarity) 개념이기 때문이다. 거리가 가까울수록 그 특성(feature)들이 비슷하다는 뜻이니까. 그래서 머신러닝 알고리즘에서도 매우 널리 사용된다. 예를 들면 K-최근접 이웃(K-Nearest N...
본 포스팅에서는 파이썬 라이브러리 scikit-learn을 통해 선형회귀(Linear Regression) 분석을 직접 수행하는 예시를 소개한다. 누구나 쉽게 따라할 수 있는 수준으로 작성했다. sklearn LinearRegression 사용법 실제 데이터 돌려보기 전에 사용법부터 익히고 가자. 일단 파이썬 머신러닝 라이브러리 싸이킷런을 불러오...
본 포스팅에서는 머신러닝에서 사용할 선형 회귀 분석에 대한 개념 설명을 누구나 이해할 수 있을 정도의 수준으로 가볍게 소개한다. 선형 회귀란 무엇인가 머신 러닝의 가장 큰 목적은 실제 데이터를 바탕으로 모델을 생성해서 만약 다른 입력 값을 넣었을 때 발생할 아웃풋을 예측하는 데에 있다. 이때 우리가 찾아낼 수 있는 가장 직관적이고 간단한 모델은 ...