[데이터 분석] 24. SOM (Self-Organizing Map)
·
Data Science/데이터 분석 📊
1. SOM (자가 조직 지도)이번 장에서 다루게 될 자가 조직 지도, 일명 SOM(Self-Organizing Map) 은 대뇌피질 중 시각피질의 학습과정을 모델화한 인공신경망으로 차원이 축소화된 데이터셋을 토폴로지 개념으로 효과적인 표현을 만들 수 있는 기법이다. 일반적인 신경망과 달리, 비지도학습 기법 중 하나로 주로 군집화에서 많이 사용된다. 또한 데이터의 규모가 작은 경우 K-Means 클러스터링과 유사하게 동작하지만, 데이터의 규모가 커질 수록 복잡한 데이터셋의 토폴로지를 잘 나타내는 성향이 있다. 2. SOM 의 구조노드의 그리드로 구성되며, 각 노드에는 입력 데이터셋과 동일한 차원의 가중치 벡터가 포함되어있다. 각 노드에는 입력 데이터 셋과 동일한 차원의 가중치 벡터가 포함되어 있으며, 무..
[데이터 분석] 23. 클러스터링 Ⅲ : 모델 성능 평가
·
Data Science/데이터 분석 📊
1. 최적의 k 값 찾기비지도학습의 단점은 정답을 모른다는 점이 있다. 데이터 셋에서도 분류문제와 달리 클래스 레이블이 없기 때문에 기존 분류 문제에서 사용했던 성능평가 지표를 사용할 수 없다. 따라서 군집화 모델에 대한 성능평가를 하기 위해서는 알고리즘 자체에서 제공하는 지표를 사용해야만 한다. 앞서 본 K-Means 의 경우, 군집의 성능을 비교하기 위해서는 각 군집 내 SSE(왜곡 혹은 관성)을 사용한다. 또한 파이썬을 사용하는 경우 scikit-learn 의 KMeans() 에서는 모델 학습 시, inertia_ 속성에 계산 및 저장된다. 이처럼 사용해야될 지표가 적고, 모델이 갖는 지표를 활용하게 되므로 결국 최적화를 계산하는 방식으로 성능 평가를 진행해볼 예정이다. 이제부터 다루게 될 2개의 ..
[데이터 분석] 22. 클러스터링 Ⅱ : 계층적 군집
·
Data Science/데이터 분석 📊
1. 계층적 군집이번 장에서 다룰 계층적 군집은 프로토타입 기반의 군집 기법으로 이진 트리 형태의 덴드로그램을 그려서 군집화를 표현한다. 뿐만 아니라 K-Means 처럼 군집의 개수를 사전에 정의할 필요도 없다. 계층적 군집은 다시 군집화 방식에 따라, 병합 계층적 군집방식과 분할 계층적 군집방식으로 나눌 수 있다. 이 후에 자세히 설명하겠지만, 간단하게 설명을 하자면, 병합 계층적 군집방식은 각 샘플이 독립적인 클러스터라고 가정한 상태로 시작해, 하나의 클러스터가 남을 때까지 가장 가까운 클러스터를 합치는 방식이다. 반면 분할 계층적 군집방식은 하나의 큰 클러스터로 시작해서 하나의 샘플이 남을 때까지 계속 분할하면서 군집을 만드는 방식이다. 2. 병합 계층적 군집 방식보통 병합 계층적 군집 방식을 사용..
[데이터 분석] 21. 클러스터링 Ⅰ : K-Means
·
Data Science/데이터 분석 📊
1. 클러스터링?이전까지 회귀나 분류는 정답이 존재하는, 정확히는 반응변수(혹은 결과변수)가 존재하는 지도학습의 과정이였다면, 클러스터링은 비지도학습에 해당하는 대표적인 기법으로 학습 데이터 내에 레이블(label)이 존재하지 않다는 특징이 있다. 비지도학습의 장점은 데이터 셋 내에 사용자도 모르는 숨겨진 구조를 찾아낼 수 있다는 점이다. 이제부터 다뤄볼 클러스터링은 데이터를 각각의 군집으로 묶어서, 같은 군집의 요소들은 서로 비슷하게, 다른 군집에 속한 요소들과는 최대한 다르도록 하여 자연스러운 그룹을 찾는 기법이라고 할 수 있다. 1.1 군집화모델들을 소개하기에 앞서 군집화에 대한 정의를 이해할 필요가 있다. 군집이란 비슷한 객체로 이루어진 그룹을 찾는 기법이며, 앞서 설명한 것처럼, 한 그룹 안의 ..
[데이터 분석] 20. 차원 축소 (Dimensional Reduction) Ⅱ : 커널 PCA, LLE, LDA
·
Data Science/데이터 분석 📊
1. 커널 PCA이전 SVM에 대한 내용 중 샘플을 매우 높은 고차원의 특성 공간에서 암묵적으로 매핑해 SVM의 비선형 분류와 회귀를 가능하게 하는 커널트릭에 대해서 다뤘적이 있는데, 고차원의 특성 공간에서의 선형 결정경계는 원본 공간에서의 복잡한 비선형 결정경계에 해당하는데, 이를 나눌 수 있는 기법을 커널 트릭이라고 설명했다.PCA에서도 커널트릭을 적용해 복잡한 비선형 투영으로의 차원축소가 가능하며, 이를 가리켜, kPCA(커널 PCA, kernel PCA) 라고 부른다. 이 기법은 이전 장에서 봤던 스위스롤과 같은 매니폴드 형태의 데이터 셋을 대상으로 투영한 뒤, 샘플의 군집을 유지하거나, 펼칠 때 주로 사용된다. 이해를 돕기 위해 아래 코드를 실행해서 살펴보자. ...from sklearn.dec..
[데이터 분석] 19. 차원 축소 (Dimensional Reduction) Ⅰ : PCA
·
Data Science/데이터 분석 📊
1. 차원 축소란?일반적으로 현실 세계의 문제는 가공되지 않은 데이터를 처리해야한다. 하지만, 대부분의 머신러닝 모델의 경우 고차원의 데이터를 입력으로 사용하면 학습속도가 느려지게 되고, "차원의 저주"라는 관측 단계 상 메모리 사용이 기하급수적으로 증가하는 현상이 나타난다. 뿐만 아니라, 과대적합의 위험성도 존재하여, 학습을 하는 전반적인 괒어에서 어려움을 겪을 수 있다. 위와 같은 이유로 데이터에서 불필요한 정보들을 제거해주기 위해서 수행하는 작업을 차원 축소 라고 부른다. 2. 차원 축소를 위한 접근법차원 축소를 하는 방법에는 크게, 투영과 매니폴드 학습이라는 2가지 방법이 존재하며, 아래에서 각 과정의 특징과 방법을 자세히 살펴볼 예정이다. 2.1 투영현실문제에서 학습 데이터 샘플은 모든 차원에 ..
[데이터 분석] 18. 분류모델 성능 평가
·
Data Science/데이터 분석 📊
0. 들어가면서지금까지 SVM, 의사결정나무, 앙상블 등 다양한 분류 모델에 대해서 다뤄보았다. 물론, 이 후에도 분류 모델에 대해서는 추가적으로 다룰 예정이지만, 기본적으로 사용할 수 있는 분류 모델들에 대해서는 설명하였고, 신경망의 경우 추후 딥러닝을 다루는 과정에서 등장할 예정이기에 분류 모델에 대한 사용법은 1차적으로 종료하고 다음 분석기법에 대해 설명하기 전, 각 분류 모델을 학습했을 때의 성능 평가를 하는 방법을 설명하고자 작성하였다. 때문에 이번 장에서도 기본적으로 분류모델의 성능을 평가하는 방법과 대표적인 몇 가지 지표에 대해서 설명할 예정이며, 추후에 이번 장에서 설명하지 않은 지표나 평가 방법을 다룰 예정이니 참고하기 바란다.1. 분류 모델의 성능평가앞서 회귀에서 모델의 성능평가를 할 ..
[데이터 분석] 17. 랜덤 포레스트 (Random Forest)
·
Data Science/데이터 분석 📊
1. 랜덤 포레스트 (Random Forest)랜덤 포레스트는 의사결정나무를 기반으로 배깅 앙상블 모형으로, 간단히 설명하자면, 여러 개의 의사결정나무의 평균을 낸 모형이라고 할 수 있다. 구체적으로는 2가지 방법을 사용해서 다양한 의사결정나무를 만든다. 첫 번째는 의사결정나무를 만들 때, 데이터의 일부를 복원추출로 꺼내고 해당 데이터에 대해서만 의사결정나무를 만드는 방법이다. 다른 하나는 노드 내 데이터를 자식 노드로 나누는 기준을 정할 때, 일부 변수만 대상으로 해서 가지를 나눌 기준을 찾는다. 만약 새로운 데이터에 대한 예측을 수행할 때는 여러 개의 의사결정나무가 내놓은 예측결과를 투표방식으로 합한다.각 나무별로 분산이 높다는 단점이 있지만, 앙상블 기법을 이용함으로써 견고한 모델을 만들고, 일반화..
[데이터 분석] 16. 앙상블 (Ensemble)
·
Data Science/데이터 분석 📊
1. 앙상블 기법 (Ensemble)일련의 예측기(분류, 회귀 모델)로부터 예측을 수집하여 가장 좋은 모델 하나보다 더 좋은 예측을 얻을 수 있는 일련의 예측기 혹은 학습 방법론이다. 별도의 노력 없이 더 좋은 모델을 만들 수 있으며, 주로 Feature Engineering을 사용할 수 없는 경우 혹은 Feature에 대한 정보가 없는 경우 사용한다. 사용되는 모델은 서로 차별성이 존재하는 모델을 선택하여 결합을 통한 효과를 높일 수 있다. 모델 간의 결합은 학습이 완료된 모델들로부터 얻어지는 결과를 각 모델의 특성을 고려하여 효과적으로 결합해야 한다. 앙상블 방식에 대해서는 크게 보팅(Voting), 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking)이 있다.2. 보팅 (Vot..
[데이터 분석] 15. 의사결정나무
·
Data Science/데이터 분석 📊
1. 의사결정나무트리 구조의 모델을 형성하며, 연결된 논리적인 결정을 통해 데이터를 분류하는 모델이다. 주로 설명이 중요한 경우에 사용되며, 분류, 회귀 및 다중출력 작업이 가능한 머신러닝 알고리즘이다. 해당 모델의 목표는 입력으로 받은 데이터를 보다 작고 동질적인 그룹으로 분할하는 것이다. 여기서의 동질적이란 "분기별 노드가 보다 순수한(동일한 클래스의 비율이 높은) 성격을 갖는 것"이다. 분류 문제에서의 순수도를 높이는 방법은 정확도를 높이거나 오분류를 낮추는 방법이 있다. 하지만 정확도를 이용하게 되면 하나의 클래스로 분류하는 방식으로 데이터를 분할하기보다는, 오분류를 최소화하는 방식으로 데이터를 분할하는 것에 초점을 두게 되므로 목적에 어긋날 수 있으니 주의하자. 모델의 형태는 아래의 그림과 유사..
SLYK1D
'Data Science' 카테고리의 글 목록