분류 전체보기270 [머신러닝] 차원 축소(Dimensionality Reduction) 이유 및 방법 이번 포스팅에서는 차원 축소(Dimensionality Reduction)에 대해 알아보도록 하겠습니다. 차원 축소는 무엇이고 왜 차원 축소를 해야하는지, 그리고 그 효과와 차원 축소 방법까지 알아보도록 하겠습니다. 차원 축소는 데이터 분석의 하나의 절차로 무조건 해줘야 하는 것으로 인식하는 경우도 있습니다. 하지만 차원 축소가 유리한 경우가 있고 필요가 없는 알고리즘도 있습니다. 이번 주제를 제대로 알게되면 그 궁금증이 풀릴 것입니다. 차원 축소(Dimensionality Reduction) 차원 축소는 고차원의 데이터로부터 저차원의 데이터로 변환하는 방법을 말합니다. 일반적으로 데이터 전처리 후 고려하는 단계로 특성 선택(Feature selection)과 특성 추출(Feature extraction.. 2023. 10. 6. 리눅스를 쓰는 이유 - 커널(kernel)과 쉘(shell) 여러분은 리눅스를 쓰는 이유를 뭐라고 생각하시나요? 아마도 현재 업무에서 리눅스를 시스템으로 사용하기 때문에 이 글을 찾게 되셨을 것입니다. 우리가 매일 사용하는 윈도우도 리눅스처럼 OS입니다. 하지만 윈도우가 아니라 리눅스를 사용하는 이유가 궁금하셨을 것입니다. 결론부터 이야기하면 리눅스는 서버로 활용하기에 윈도우보다 더 적합하기 때문입니다. 이제 사용자들이 리눅스를 택하는 이유를 한번 살펴보도록 하겠습니다. 리눅스란 리눅스는 1991년 '리누스 토발즈'에 의해 오픈소스로 개발되었습니다. 유닉스(UNIX)는 오픈소스가 아니었기 때문에 유닉스 호환 OS인 리눅스를 개발한 것이었습니다. 개발 당시에는 사실 커널만을 의매했습니다. 현재의 GNU 프로젝트를 통해 다양한 라이브러리를 포함한 리눅스 배포판으로 발.. 2023. 10. 5. 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. Boosting 알고리즘(AdaBoost, GBM, XGBoost, LightGBM, CatBoost) 이번 포스팅은 부스팅 알고리즘에 대해 이야기 해보겠습니다. Boosting 알고리즘은 최근 Kaggle 대회에서 Deep Learning 다음으로 높은 수상 비중을 차지하고 있습니다. 그 이유는 우선 다른 모델보다 정확도가 비교적 높으며, 회귀(Regression), 분류(Classification), 순위 학습(Ranking), 텍스트 분석(NLP), 이미지 분석 등 여러가지 머신 러닝 문제를 해결하는데 사용됩니다. 다양한 오픈 소스 라이브러리와 도구를 활용할 수 있습니다. XGBoost, LightGBM, CatBoost 등이 Kaggle에서 특히 인기 라이브러리들 입니다. 또 부스팅 알고리즘은 병렬 처리와 GPU를 효과적으로 활용할 수 있는 모델 중 하나입니다. 이제 Boosting 알고리즘에 대해.. 2023. 9. 23. 랜덤 포레스트(Random Forest) 장단점 - 특성(변수) 중요도 랜덤 포레스트(random forest)에서 특성 중요도를 쉽게 측정할 수가 있는데요. 어떤 특징 때문에 가능한 것일가요? 그리고 장단점은 무엇인지 알아보도록 하겠습니다. 만약 Random Forest의 동작 원리에 대해 글을 읽지 않으셨다면 링크의 글을 읽어 보시는 것을 추천드립니다. 특성 중요도 랜덤 포레스트는 작은 트리들(trees)을 이용하는 방법을 사용해 특성의 상대적 중요도를 측정하기 쉽다는 특징이 있습니다. 랜덤 포레스트 특성 중요도는 Decision Tree 보다 더 신뢰할 만합니다. 이유는 여러 Tree를 통해 일반화 했기 때문이죠. 평균적인 불순도가 얼마나 감소하는지를 확인해 특성 중요도를 측정 가능합니다. 더 정확히 말하면 각 노드(node)의 속한 샘플의 가중치 평균이라고 계산한다고.. 2023. 9. 22. 랜덤 포레스트(Random Forest) 동작 원리 및 OOB, Random Subspace 저번 포스팅에서 Random Forest의 특징에 대해 살펴봤다면 이번 포스팅에서는 그 동작원리와 OOB 개념, 그리고 파라미터 튜닝 등에 대해 알아보도록 하겠습니다. 『 '데이널'의 컨텐츠에 포함된 정보는? 』 알고리즘 동작 원리Random Forest 알고리즘은 Bootstrap 기법(복원 추출)을 이용하여 다수 훈련 데이터 생성합니다. 이것을 이전 포스팅에서 이야기 했듯이 배깅(Bagging)이라고 합니다. 생성된 훈련 데이터로 무작위 변수를 이용한 의사결정나무 모델 구축합니다. 이것을 Random Subspace 방식이라고 하는데, 아래에 다시 다루겠습니다. 마지막으로 예측 종합(Final predicted value) 과정을 거칩니다. Bootstrap 기법으로 데이터 추출무작위 변수를 이용한.. 2023. 9. 21. 이전 1 ··· 25 26 27 28 29 30 다음