본문 바로가기

데이터 분석75

차원 축소 - t-SNE의 특징 및 PCA와 차이점 이번에는 차원 축소 기법 중 t-SNE에 대해 알아보도록 하겠습니다. t-분포 확률적 임베딩이라고 우리말로 번역할 수 있는데요. 이 알고리즘을 보통은 '티스니'라고 읽습니다. 하지만 '티-에스엔이'라고 그대로 읽는 사람도 있습니다. 읽는 방법은 분석가 마다 편하게 부르기 때문에 너무 규정하지 않는게 좋습니다. 이 알고리즘은 2002년 샘 로이스(Sam Rowise)와 제프리 힌튼에 의해 개발되었는데요. t-SNE는 고차원 데이터에 적합하다고 알려져 있습니다. 특히 2, 3차원으로 줄여 가시화하는데 유용하죠.    t-SNE (t-distributed Stochastic Neighbor Embedding)t-SNE는 t-분포를 활용해 고차원의 공간에 존재하는 data x의 neighbor 간의 distan.. 2023. 10. 11.
차원 축소 - PCA(주성분 분석), Explained Variance Ratio 이번 포스팅에서는 주성분 분석(PCA)에 대해 알아보도록 하겠습니다. 주성분 분석은 차원 축소 방법 중에 가장 많이 사용되는 기법입니다. 그만큼 필수적으로 알아야 할 알고리즘 입니다.    <ins class="adsbygoogle" style="display: inline-block; width: 300px; height: 250px;" data-ad-client="ca.. 2023. 10. 10.
차원축소 - 투영과 매니폴드(manifold) 학습은 어떻게 다른가? 이번 포스팅에서는 투영(projection)과 매니폴드 학습(manifold learning)에 대해 알아보겠습니다. 차원 축소를 설명할 때 이 두개의 개념은 빠질수 없는 원리입니다. 이 두개의 개념이 차원을 추출하는 원리의 근간입니다. 투영(projection) 투영(projection)이란 물체의 그림자를 어떤 물체 위에 비추는 일 또는 그 비친 그림자를 말합니다. 어떤 물체든 그림자는 2차원으로 표현이 될 수 있다는 원리입니다. 용어는 투영, 사영 등 여러가지로 불려집니다. 우리가 분석하려는 대부분의 훈련 샘플은 고차원 공간 안의 있습니다. 그리고 그 그림자가 저차원 부분 공간(subspace)에 놓여 있다고 할 수 있습니다. 이런 경우 투영을 통해 데이터셋의 차원을 줄일 수 있습니다. 물론 모든 .. 2023. 10. 10.
[머신러닝] Feature Selection 방법 - Filter, Wrapper, Embedded 이번 포스팅에서는 Feature Selection(차원 선택)에 대해 살펴 보겠습니다. 변수를 제거한다고 해서 Feature removal이라고도 합니다. 해당 도메인의 비즈니스를 잘 알면 분석가의 감으로 변수 선택도 가능할 것입니다. 그러나 특성이 너무 많을 경우는 기계적인 방법이 필요합니다. 예를 들어, 자동자 회사에서 부품, 센서 등의 정보들은 정말 많습니다. <!-- 디스플레이_고정형_300x250 .. 2023. 10. 6.
[머신러닝] 차원 축소(Dimensionality Reduction) 이유 및 방법 이번 포스팅에서는 차원 축소(Dimensionality Reduction)에 대해 알아보도록 하겠습니다. 차원 축소는 무엇이고 왜 차원 축소를 해야하는지, 그리고 그 효과와 차원 축소 방법까지 알아보도록 하겠습니다. 차원 축소는 데이터 분석의 하나의 절차로 무조건 해줘야 하는 것으로 인식하는 경우도 있습니다. 하지만 차원 축소가 유리한 경우가 있고 필요가 없는 알고리즘도 있습니다. 이번 주제를 제대로 알게되면 그 궁금증이 풀릴 것입니다. 차원 축소(Dimensionality Reduction) 차원 축소는 고차원의 데이터로부터 저차원의 데이터로 변환하는 방법을 말합니다. 일반적으로 데이터 전처리 후 고려하는 단계로 특성 선택(Feature selection)과 특성 추출(Feature extraction.. 2023. 10. 6.
Boosting 알고리즘 - CatBoost 특징(Ordered Boosting, Target Encoding 장단점) 이번 포스팅은 Boosting 알고리즘의 마지막 주제인 CatBoost에 대해 알아보겠습니다. 가장 최근 알고리즘이기 때문에 개인적으로 기대가 컸습니다. 결과부터 말하자면 실제 알고리즘 비교 테스트를 해 본 결과 일반적인 데이터에서는 성능이 좋지 않았습니다. CatBoost 알고리즘의 경우 논문에서 말하는 것처럼 categorical 피처에서만 사용하는이 좋아 보입니다. CatBoost CatBoost는 처음 "CatBoost: unbiased boosting with categorical features"라는 논문으로 알려졌습니다. Yandex에서 개발한 머신러닝 라이브러리 중 하나입니다. Yandex는 러시아의 대표적인 IT 기업 중 하나로, 다양한 인터넷 서비스 및 소프트웨어를 개발하는 회사입니다... 2023. 10. 5.
Boosting 알고리즘 - Light GBM 특징(GOSS, EFB, 장단점) 이번 포스팅에서는 부스팅 알고리즘 중 가장 가벼운데 효율이 좋은 알고리즘인 Light GBM, 줄여서 LGBM에 대해 이야기해보겠습니다. Light GBM은 데이터셋에 따라 다른 알고리즘 대비 속도가 너무 빨라 정상적으로 알고리즘이 돌아간 것 맞냐는 의문까지 서로 했던 기억이 있습니다.    LightGBM 특징LightGBM은 부스팅 알고리즘 중에 2016년 출시로 비교적 최근에 만들어졌습니다. XGBoost보다 2년 후에 만들어지다 보니 XGBoost의 장점은 계승하고 단점은 보완하는 방식으로 개발 되었습니다. Light Graient-Boosting Machine의 약자로 Microsoft에서 개발한 머신 러닝 무료 오픈 소스 프레임워크입니다. 앞에서 언급한 것처럼 기존 알고리즘의 정확도를 유지하면.. 2023. 10. 4.
Boosting 알고리즘 - GBM(Gradient Boosting) 특징과 동작 원리 이번 포스팅은 부스팅 알고리즘 중에서 Gradient Boosting에 대해 알아보도록 하겠습니다. GBM 알고리즘은 부스팅 할 때 Gradient(기울기)를 이용하기 때문에 붙여진 이름입니다. 그러면 알고리즘의 특징, Adaboost와 차이점, 동작 원리, 장단점, 하이퍼파라미터 튜닝 순으로 살펴보도록 하겠습니다. GBM(Gradient Boosting)의 특징은? Gradient Boosting은 다음 모델로 넘겨주는 input을 gradient(기울기)를 이용합니다. 그리고 그 값에 가중치를 부여하는 방식입니다. 모델들은 계속해서 잔차, 즉 실제값과 예측값의 차이를 줄여가는 방향으로 학습합니다. 부스팅에서 이미 배웠듯이 Tree 1, 2, 3을 약한 분류기(weak learner)라고 한다면, 이를.. 2023. 9. 25.
Boosting 알고리즘 - Adaboost 동작 원리 이전 포스팅에서 Boosting 알고리즘에 대해 전반적인 개요을 알아보았습니다. 이번 포스팅에서는 에이다부스트(Adaboost)의 특징과 동작 원리를 알아 보겠습니다. 또한 장단점과 하이퍼파라미터 튜닝까지 살펴 보겠습니다. AdaBoost 특징은? AdaBoost은 Adaptive Boosting의 줄임말입니다. Adaptive(적응적) 학습을 한다는 의미로 진화생물학적 개념과 유사합니다. 각 단계에서 새로운 base learner를 학습하여 이전 단계의 base learner의 단점을 보완 합니다. Training error가 큰 관측치의 선택 확률(가중치)을 높이고, training error가 작은 관측치의 선택 확률을 낮춥니다. 이것은 오분류한 관측치에 보다 집중하기 위함입니다. 앞 단계의 조정된.. 2023. 9. 24.