AI 25

주성분 분석(principal component analysis, PCA)

차원과 차원 축소 우리는 데이터가 가진 속성을 특성이라고 불렀습니다. 전 글에서 다룬 과일 데이터의 경우 10,000개의 픽셀이 있기 때문에 10,000개의 특성이 있다고 할 수 있습니다. 머신러닝에서 이런 특성을 차원(dimension)이라고도 부릅니다. 실무에서 접하게 되는 데이터는 특성의 수가 대체로 큽니다. 데이터의 크기가 크다보니 학습 속도에도 영향을 미치고 다루기가 쉽지 않습니다. 이런 차원을 줄일 수 있다면 저장공간을 절약할 수 있고 학습 속도를 높힐 수 있을 것입니다. 특성이 많으면 선형 모델이 성능이 높아지고 훈련 데이터에 쉽게 과대적합될 수 있습니다. 차원 축소는 데이터를 가장 잘 나타내는 일부 특성을 선택해 데이터 크기를 줄이고 지도 학습 모델의 성능을 향상시킬 수 있는 방법입니다. ..

AI 2021.08.06

Clustering (K-Means, DBSCAN)

클러스터링, 군집화? 지금까지 다루었던 데이터들은 레이블을 가지고 있기 때문에 데이터와 레이블을 기반으로 예측이나 분류를 수행하는 지도학습을 다뤘습니다. 그러나 데이터들이 항상 레이블을 가지고 있을 수는 없고 레이블이 없는 데이터 안에서 패턴과 구조를 발견하는 비지도 학습이 있습니다. 그 중 가장 대표적인 비지도 학습 기술이 Clustering(군집화)입니다. 클러스터링을 응용하여 다음과 같은 것들에 적용할 수 있습니다. 유사한 인구통계나 구매 패턴을 가진 그룹으로 고객 세분화 알려진 클러스터를 벗어나는 사용 패턴을 식별하여 무단 네트워크 침입 탐지 비슷한 값을 가진 특징을 더 적은 수의 동종 범주로 그룹화해 데이터셋 단순화 K-Means Clustering K-Means 알고리즘은 가장 유명한 클러스터..

AI 2021.08.03

랜덤 포레스트 vs 엑스트라 트리

Random Forest vs Extra Trees 랜덤 포레스트와 엑스트라 트리의 차이점은 부트스트랩 샘플(중복된 훈련 샘플)을 사용하지 않는다는 점에 있습니다. 엑스트라 트리는 결정 트리를 만들어 낼 때 훈련 세트 전체를 사용하기 때문에 Bagging이라고는 할 수 없습니다. 또 랜덤포레스트는 주어진 모든 feature에 대한 정보이득을 계산하고 가장 높은 정보 이득을 가지는 feature를 Split Node로 선택하고 그것들은 전부 비교해서 가장 최선의 feature를 선정합니다. 이 과정을 통해 성능이 좋은 결정트리를 만들 수 있지만 연산량이 많이 든다는 단점이 있습니다. 반면에 엑스트라 트리는 Split을 할 때 무작위로 feature를 선정합니다. feature중에 아무거나 고른 다음 그 f..

AI 2021.08.02

랜덤 포레스트 (Random Forest)

앙상블 학습 랜덤 포레스트 (ensemble learning random forest) Decision Tree의 overfitting되는 약점을 보완해 줄 Random Forest 알고리즘은 여러개의 decision tree를 만들고 각 트리에 데이터를 통과시켜 나온 결과를 종합해 최종 분류하는 알고리즘입니다. 여러개의 트리 중 일부는 overfitting 될 수 있지만 많은 수의 트리를 생성함으로 overfitting이 예측하는데 있어 큰 영향을 끼치지 않게 합니다. 배깅 (Bagging) 배깅은 트리를 만들 때 training set에서 일부 데이터를 활용해 트리를 만드는 것을 말합니다. 예를 들어 training set에 1000개의 데이터가 있다면 100개의 데이터만 임의로 선정해 트리를 만드는..

AI 2021.08.02