아가개발자/머신러닝
-
차원 축소 (Dimension Reduction)아가개발자/머신러닝 2020. 12. 7. 03:06
차원 축소 주로 데이터 전처리과정에서 사용되며 고차원의 데이터를 저차원으로 줄이는 과정이다. 고차원의 데이터를 왜 저차원으로 축소시키는 걸까? 차원 축소가 왜 필요할까? 예를 들어, 넷플릭스에서 데이터 분석을 하고자 한다. 여기서 넷플릭스 사용자와 넷플릭스에 있는 많은 컨텐츠들을 데이터를 매트릭스로 표현하여 활용하기에는 너무나도 큰 매트릭스가 될 것이다. 또한, 차원이 증가하면 데이터는 차원의 저주에 빠지게 된다. 차원의 저주란 차원이 증가할 때 동일한 정보량을 표현하기 위해 필요한 데이터의 수는 지수적으로 증가한다는 의미이다. 즉, 쉽게 말해 1D 데이터를 표현하기 위한 데이터가 50%가 있었다면 이 데이터를 가지고 2D 데이터를 만들면 해당 데이터는 2D 데이터에 25%밖에 표현하지 못한다는 것이다...
-
군집화 (Clustering)아가개발자/머신러닝 2020. 12. 6. 01:54
Clustering 유사한 속성(기준)을 갖는 데이터를 묶어 전체 데이터를 몇 개의 군집으로 나누는 것 각 군집끼리의 데이터는 유사도가 낮아야 하며, 군집 안에서의 데이터끼리는 유사도가 높아야 한다. 군집화는 다시 말해 비슷한 성질을 갖는 데이터끼리 묶는 방법인데 그렇다면, 군집화와 분류의 차이점은 무엇일까? 분류는 이미 사전에 정의된 범주가 있는 데이터를 가지고 예측 모델을 학습하는 지도 학습이다. 군집화는 사전에 정의된 범주가 따로 없는 데이터를 가지고 최적의 그룹을 찾아가는 비지도 학습이다. 더 쉽게 이해를 하기 위해 예시를 들어보자, 여러 가지 기사 데이터를 주고 기사 내의 단어들을 가지고 유사한 기사끼리 모아 기사의 토픽을 군집화 할 수 있다. 이번에는 모델에게 유튜브 영상 데이터를 주자. 모델..
-
서포트 벡터 머신(SVM) 실습아가개발자/머신러닝 2020. 12. 5. 19:56
서포트 벡터 머신 (SVM) : 두 개의 카테고리 중 하나의 속한 데이터 집합이 주어졌을 때 주어진 데이터의 집합을 바탕으로(지도 학습 모델) 새로운 데이터가 어느 카테고리에 속하는지 판단하는 비 확률적 이진 선형 분류 모델 혹은 커널 트릭을 사용하여 비선형 분류 문제도 해결 가능 서포트 벡터 머신(SVM) 개념 포스트 서포트 벡터 머신 (SVM) SVM 기계학습의 방법론으로서 패턴인식, 자료 분석을 위한 지도 학습 모델 분류/회귀에 사용 두 카테고리가 있을 대 주어진 데이터를 바탕으로 새로운 데이터가 어느 카테고리에 속할지 판단하 yu1moo.tistory.com 데이터 셋 불러오기 싸이킷 런의 datasets 라이브러리를 통하여 실습에 사용할 데이터인 iris 데이터 셋을 불러온다. 더보기 manua..
-
서포트 벡터 머신 (Linear SVM / Non-linear SVM)아가개발자/머신러닝 2020. 12. 4. 18:18
Hard Margin SVM & Soft Margin SVM Hard Margin SVM : 선형 분리가 가능한 문제 Soft Margin SVM : 선형 분리가 불가능한 문제 → 에러를 허용 위의 오른쪽 사진과 같이 soft margin SVM은 학습 데이터의 에러가 0이 되도록 완벽하게 나누는 것이 불가능하다. 따라서, Soft Margin SVM의 목적은 에러를 허용하면서 margin을 최대화 하는 것이다. SVM의 원래 식의 C를 통하여 에러의 허용 정도를 조절 할 수 있다. C가 커지면 에러를 상대적으로 허용하지 않음(Overfitting) → margin 작아짐 C가 작아지면 에러를 상대적으로 허용함(Underfitting) → margin 커짐 Nonlinear SVM 데이터를 선형으로 분류..
-
서포트 벡터 머신 (SVM)아가개발자/머신러닝 2020. 12. 3. 16:49
SVM 기계학습의 방법론으로서 패턴인식, 자료 분석을 위한 지도 학습 모델 분류/회귀에 사용 두 카테고리가 있을 대 주어진 데이터를 바탕으로 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델 비선형 분류 문제에도 사용하기 위해 커널트릭을 활용 SVM의 학습 방향 : margin이 최대가 되도록 설계 해야 함 더보기 Hyperplane - 서로 다른 클래스를 분류하는 기준 (성분, 평면) Support Vector - 결정 경계에 가장 가까이 있는 각 클래스의 데이터 Margin - 어떤 데이터도 포함하지 않는 영역 → 결정 경계(hyperplane)를 margin이 가장 넓도록 설정함 (결정 경계 근처에 취하는 새로운 데이터가 들어와도 강인한 분류를 함)
-
의사결정나무 - Decision Tree아가개발자/머신러닝 2020. 10. 20. 15:41
의사결정나무 : 학습데이터를 분석하여 데이터의 내재된 패턴을 통해 새로운 데이터를 예측/분류 하는 모델 - 의사결정나무 생성 과정 학습 데이터의 Y값과 X 데이터를 적절한 분리 기준과 정지 규칙(ex. 트리의 깊이 등)을 지정하여 의사결정나무를 생성 - 의사결정나무의 장점 1. 나무구조로 되어 있기 때문에 모델을 이해기가 쉽고 적용하기가 용이하다 2. 의사결정에 대한 설명(해석)이 가능하다 → 왜 이렇게 예측 되었는지에 대해 설명이 가능함 3. 중요한 변수를 선택하는데 유용하다 → 상단에서 사용된 설명 변수가 가장 중요한 변수 4. 데이터의 통계적 가정이 필요 없음 → 예를 들어 LDA는 데이터의 정규성을 가정함 - 의사결정나무의 단점 1. 좋은 모형을 만들기 위해서는 많은 데이터를 필요로 한다. 2. ..
-
선형 판별 분석(LDA) 실습아가개발자/머신러닝 2020. 10. 14. 15:38
Linear Discriminant Analysis(LDA): 범주화된 클래스들의 표본들이 어떻게 분포되어 있는지를 파악하여 결정경계를 분석하여 새로운 표본이 어느 클래스에 해당하는지 결정하는 방법론 판별 분석 (Discriminant Analysis)개념 포스트 선형 판별 분석(LDA)/ 이차 판별 분석(QDA)개념 포스트 본 포스팅에서 실습할 문제는 iris dataset을 이용하여 iris의 품종을 분류하는 문제를 풀어볼 것이다. (사용한 라이브러리의 매뉴얼은 접은글에 첨부하였음) 데이터 불러오기 앞서 여러실습에서 살펴보았듯이 싸이킷런에 학습에서 사용되는 많은 데이터셋을 불러올 수 있다. 더보기 manual: scikit-learn.org/stable/modules/generated/sklearn...
-
선형 판별 분석(LDA)/ 이차 판별 분석(QDA)아가개발자/머신러닝 2020. 10. 13. 11:57
선형 판별 분석(LDA: LinearDiscriminantAnalysis) 가정(Assumptions) 선형 판별 분석은 각 클래스 집단이 정규분포의 형태의 확률 분포를 가진다고 가정함 선형 판별 분석은 각 클래스 집단이 비슷한 형태의 공분산 구조를 가진다고 가정함 판별과 차원 축소의 기능 2차원(두 가지 독립변수)의 두 가지 범주를 갖는 데이터를 분류하는 문제에서 LDA는 하나의 차원에 Prohection을 하여 차원을 축소 시킴 - LDA는 차원 축소의 개념을 포함함 - 2차원 자료들을 판별 축에 정사영 시킨 분포의 형태를 고려 결정 경계의 특징 결정 경계: projection축에 직교하는 축(점선) 결정 경계는 우측 그림과 같이 각 클래스 집단의 평균의 차이가 크고 분산이 작은 지점을 결정 경계로 ..