[Machine Learning] LightGBM
·
DataScience/MachineLearning
0. 들어가면서이번 장에서는 또 다른 GBM인 LightGBM에 대해서 알아보도록 하겠습니다. LightGBM 역시 XGBoost와 동일하게 부스팅 계열 알고리즘에서 가장 각광을 받고 있습니다. 앞서 XGBoost에 대해서도 알아봤듯이, 매우 뛰어난 부스팅 알고리즘이지만, 학습시간이 오래 걸린다는 단점이 존재합니다. 특히 GridsearchCV를 통해 하이퍼 파라미터를 튜닝하다보면 수행시간이 너무 오래걸려서 많은 파라미터를 튜닝하기에 어렵습니다. 대용량 데이터의 경우에는 만족할 만한 학습 성능을 기대하려면 많은 CPU 코어를 가진 시스템에서 병렬적으로 학습을 진행해야하며, 그렇지 않은 시스템을 사용할 경우 당연히 더 많은 시간이 필요하기에 불편합니다. 이에 대해서 LightGBM은 어떤 장점을 갖고 있는..
[Machine Learning] XGBoost (eXtreme Gradient Boosting)
·
DataScience/MachineLearning
0. 들어가면서 이번 장에서는 부스팅 알고리즘 중 하나인 XGBoost에 대해서 알아보도록 하겠습니다. 머신러닝 대회를 조금이라도 경험해봤다면 XGBoost라는 이름을 한 번쯤 들어보셨을 겁니다. Kaggle의 수많은 우승 모델에서 채택되었고, 실무에서도 범용성과 성능 면에서 꾸준히 사랑받는 모델이죠. 이번 장에서는 XGBoost가 왜 강력한지, 어떤 특징을 가지는지, 그리고 간단한 코드 예시까지 함께 정리해보려 합니다. 1. XGBoost가 왜 강력한가?먼저, XGBoost에 대한 모델이 어떻게 탄생한 건지에 대한 배경을 알아보도록 하겠습니다. 이전 장에서 GBM에 대해 설명을 했는데, 여기서 사용된 Gradient Boosting 알고리즘을 최적화 시킨 것이 XGBoost 알고리즘입니다. 기존의 Gr..
[Machine Learning] GBM (Gradient Boosting Model)
·
DataScience/MachineLearning
0. 시작하면서이번 장에서는 앞서 앙상블에서 설명한 내용 중 그레디언트를 이용한 부스팅 모델인 GBM에 대해서 몇 가지를 더 살펴보고자 합니다. 일반적으로 부스팅 방식으로 동작하는 모델은 크게 AdaBoost 계열과 GradientBoost 계열이 있습니다. 단어에서 알 수 있듯이, 경사하강법을 이용하는 방법인데 추후 딥러닝에서 학습과 관련해 다룰 내용인 만큼 중요한 내용이 되겠습니다. 1. 경사 하강법 (Gradient Descent)먼저, 경사 하강법에 대해서 설명하도록 하겠습니다. 의미 자체를 검색해보면 위키피디아에 아래와 같이 용어가 정의되어 있습니다. 경사 하강법 (Gradient Descent)1차 근삿값 발견용 최적화 알고리즘이다. 기본 개념은 함수의 기울기(경사)를 구하고 경사의 반대 방..
[Machine Learning] 인공신경망
·
DataScience/MachineLearning
0. 시작하면서이번 장에서는 딥러닝에서도 많이 사용되는 모델인 인공신경망에 대해서 알아보려 합니다. 추후에 딥러닝에 대해서 이야기하겠지만, 사람의 뇌는 다수의 신경 세포로 구성이 되어있는데, 이러한 신경 세포의 동작을 모방해서 만든 것이 바로 인공신경망입니다. 이번 장에서는 데이터 분석과 머신러닝에서의 분류문제를 해결하기 위한 인공신경망 모델의 사용과 동작원리에 대해서 다룰 예정이며, 딥러닝까지의 이야기는 추후에 별도로 딥러닝에 대해 이야기할 때 말씀 드리겠습니다. 1. 인공 신경망에 대하여우선 글의 초반부에서도 말씀드렸듯이, 인공 신경망은 어떻게 생물적으로 뇌가 감각 입력의 자극에 반응하는지에 대한 이해로부터 얻어진 모델을 사용해 입력 신호와 출력 신호 간의 관계를 모델링한 것입니다. 마치 뇌가 막대..
[Machine Learning] 연관 분석
·
DataScience/MachineLearning
0. 시작하면서이번 장에서는 비지도학습 중 하나인 연관분석에 대해서 알아보도록 하겠습니다. 이 알고리즘은 상품 추천이나 마케팅 분야에서 어떤 상품이 다른 상품과 연관성이 높은가와 같은 문제를 해결할 때 효과적인 방법인데요. 한 번 아래에서 좀 더 알아보도록 하겠습니다. 1. 연관 분석 (Associate Analysis)연관 분석은 일련의 거래 및 사건 안에 존재하는 항목간의 일정한 규칙을 발견하는 분석기법이며, "조건-결과" 식으로 표현되는 유용한 패턴을 연관규칙이라고 부릅니다. 간단히 말해서, 룰 기반의 모델로써, 요소와 요소 사이에 어떤 연관이 있는지 찾아내는 기법이라고 볼 수 있습니다. 간혹 장바구니 분석이라고도 부르는데, 이는 유통업에서 사용되는 용어이며, 연관분석의 한 종류라고 할 수 있습니다..
[Machine Learning] SOM (Self-Organizing Map)
·
DataScience/MachineLearning
0. 시작하면서이번 장에서는 비지도학습 중에서 신경망 구조를 이용하는 자가 조직 지도(SOM, Self Organizing Map) 알고리즘에 대해서 알아보도록 하겠습니다. 1. 자가 조직 지도 (SOM, Self Organizing Map)이번 장에서 다루게 될 자가 조직 지도, 일명 SOM(Self-Organizing Map)은 대뇌피질 중 시각피질의 학습과정을 모델화한 인공신경망으로, 차원이 축소화된 데이터셋을 토폴로지 개념으로 효과적인 표현을 만들 수 있는 기법입니다. 일반적인 신경망과 달리, 비지도학습 기법 중 하나로 주로 군집화에서 많이 사용됩니다. 또한 데이터의 규모가 작은 경우 K-Means 클러스터링과 유사하게 동작하지만, 데이터의 규모가 커질 수록 복잡한 데이터셋의 토폴로지를 잘 나타..
[Machine Learning] 클러스터링
·
DataScience/MachineLearning
0. 시작하면서이번 장에서는 비지도학습의 대표적인 알고리즘인 K-Means 에 대해서 알아볼 예정입니다. 머신러닝의 맨 처음에 배웠던 kNN 과 같이 비슷한 데이터 k개를 찾는 것이 비슷할 수 있지만, kNN과 달리 데이터 자체에 분류 클래스가 없이, 유사한 성격의 데이터로 묶는 "군집화"와 관련된 알고리즘이라는 점이 다릅니다. 이 외에도 계층적 군집과, 군집화 알고리즘의 모델 평가 등 클러스터링에 관련된 내용에 대해서 알아보도록 하겠습니다. 1. 클러스터링?이전까지 회귀나 분류는 정답이 존재하는, 정확히는 반응변수(혹은 결과변수)가 존재하는 지도학습의 과정이였다면, 클러스터링은 비지도학습에 해당하는 대표적인 기법으로 학습 데이터 내에 레이블(label)이 존재하지 않다는 특징이 있습니다. 비지도학습의 ..
[Machine Learning] 차원 축소 (Dimensional Reduction) Ⅱ : 커널 PCA, LLE, LDA
·
DataScience/MachineLearning
0. 시작하면서이번 장에서는 앞서 본 차원축소의 개념이 적용된 여러 알고리즘에 대해서 살펴보도록 하겠습니다. 크게 커널함수를 적용한 PCA 방식과 지역 선형 임베딩, 선형 판별 분석이라고 하는 3가지 알고리즘에 대해서 각각 어떻게 동작하고, 차원축소가 어떻게 적용되었는지를 살펴보도록 하겠습니다. 1. 커널 PCA이전 SVM에 대한 내용 중 샘플을 매우 높은 고차원의 특성 공간에서 암묵적으로 매핑해 SVM의 비선형 분류와 회귀를 가능하게 하는 커널트릭에 대해서 다뤘적이 있는데, 고차원의 특성 공간에서의 선형 결정경계는 원본 공간에서의 복잡한 비선형 결정경계에 해당하는데, 이를 나눌 수 있는 기법을 커널 트릭이라고 설명했었습니다.PCA에서도 SVM에서 적용했듯이, 커널트릭을 적용해 복잡한 비선형 투영으로의 ..
[Machine Learning] 차원 축소 (Dimensional Reduction) Ⅰ : PCA
·
DataScience/MachineLearning
0. 시작하면서이번에는 차원 축소에 대해서 알아보도록 하겠습니다. 차원 축소라는 개념이 나온 것을 간략하게 이야기하자면, 성능이 좋은 모델을 쓴다고 한들, 모델에 주입하는 데이터가 너무 변수가 많고, 복잡해서 그만큼 학습이 어렵고, 시간도 오래 걸리는 문제점을 해결하기 위해, 필요한 데이터만 사용하고 싶고, 그러기 위해서는 어떻게 데이터를 가공할 지를 고민하면서 나오게 되었습니다. 이번 장에서는 어떻게 복잡한 데이터에서 필요한 데이터만을 추출하는 지와 변형을 해도 학습이 잘 되는 이유, 그리고 필요한 변수를 어떻게 찾을 수 있는 지에 대해 알아보도록 하겠습니다. 1. 차원 축소란?일반적으로 현실 세계의 문제는 가공되지 않은 데이터를 처리해야합니다. 하지만, 대부분의 머신러닝 모델의 경우 고차원의 데이터를..
[Machine Learning] 분류모델 성능 평가
·
DataScience/MachineLearning
0. 시작하면서지금까지 SVM, 의사결정나무, 앙상블 등 다양한 분류 모델에 대해서 다뤄보았습니다. 물론, 이후에도 분류 모델에 대해서는 추가적으로 다룰 예정이지만, 기본적으로 사용할 수 있는 분류 모델들에 대해서는 설명하였고, 신경망의 경우 추후 딥러닝을 다루는 과정에서 등장할 예정이기에 분류 모델에 대한 사용법은 1차적으로 종료하고 다음 분석기법에 대해 설명하기 전, 각 분류 모델을 학습했을 때의 성능 평가를 하는 방법을 설명하고자 작성하였습니다. 때문에 이번 장에서도 기본적으로 분류모델의 성능을 평가하는 방법과 대표적인 몇 가지 지표에 대해서 설명할 예정이며, 추후에 이번 장에서 설명하지 않은 지표나 평가 방법을 다룰 예정이니 참고하기 바랍니다. 1. 분류 모델의 성능평가앞서 회귀에서 모델의 성능평..
SLYK1D
'DataScience/MachineLearning' 카테고리의 글 목록