분류 전체보기 74

[Trouble Shooting] 라이브러리 버전호환의 중요성

머신러닝 과제를 하던중 하이퍼파라미터 튜닝을 시도해보다가 사고가 났다. 전처리와 스케일링을 다끝낸후 모델을 학습하고자 했는데그리드서치를 사용해서 여러값들중 최적을 찾고싶었다from sklearn.model_selection import GridSearchCVgrid_xgb = xgb.XGBRegressor(random_state=42)param_grid_xgb = { 'n_estimators': [50, 100, 150], 'learning_rate': [0.01, 0.1, 0.2], 'max_depth': [3, 5, 7], 'subsample': [0.8, 1.0], 'colsample_bytree': [0.8, 1.0], 'gamma': [0, 0.1, 0.2]}gr..

개발지식 2024.12.30

[ML] 앙상블 학습 - XGBoost

XGBoost 란?XGBoost (Extreme Gradient Boosting)는 그래디언트 부스팅(Gradient Boosting) 알고리즘의 고급 구현체로,매우 빠르고 효율적이며 강력한 성능을 자랑하는 머신러닝 모델입니다.XGBoost는 대규모 데이터셋과 높은 정확도를 요구하는 문제에서 뛰어난 성능을 보여주며,여러 머신러닝 대회에서 널리 사용됩니다.XGBoost의 주요 특징:그래디언트 부스팅 알고리즘:XGBoost는 그래디언트 부스팅 알고리즘을 기반으로 하며, 모델을 여러 개의 결정 트리를 결합하여 점진적으로 예측 성능을 향상시킵니다. 각 트리는 이전 모델의 예측 오류를 보정하는 방식으로 훈련됩니다.병렬 처리:XGBoost는 트리 학습의 병렬화(parallelization)를 통해 속도를 크게 개선..

AI/ML 2024.12.29

[ML] 앙상블 학습 - 그래디언트 부스팅 머신 (GBM)

GBM 이란?GBM 은 부스팅(Boosting) 기법을 사용하는 앙상블 학습 알고리즘으로, 약한 학습기(weak learner)인 결정 트리(Decision Tree)를 반복적으로 학습하여 강한 학습기(strong learner)를 만들어 가는 방식입니다. 그래디언트 부스팅은 이전 모델이 잘못 예측한 부분을 다음 모델이 개선하도록 훈련하여, 모델의 성능을 점진적으로 향상시킵니다.그래디언트 부스팅의 기본 원리:약한 학습기 결합:그래디언트 부스팅은 일반적으로 결정 트리와 같은 약한 학습기를 사용합니다. 이 모델은 각 학습 단계에서 잘못 예측된 부분을 보완하며 점차 성능을 향상시킵니다.순차적 학습:그래디언트 부스팅은 이전 모델의 예측 오류(residual)를 학습하는 방식으로 작동합니다. 즉, 첫 번째 모델이..

AI/ML 2024.12.29

[ML] 앙상블 학습 - 랜덤 포레스트

랜덤 포레스트란?랜덤 포레스트(Random Forest)랜덤 포레스트(Random Forest)는 배깅(Bagging) 기법을 기반으로 한 앙상블 학습 모델입니다.여러 개의 결정 트리(Decision Tree)를 학습시키고, 그 예측 결과를 결합하여 최종 예측을 수행합니다.각 트리가 독립적으로 학습되기 때문에, 과적합을 방지하고 예측 성능을 향상시킬 수 있습니다.랜덤 포레스트의 주요 특징:결정 트리 기반:랜덤 포레스트는 여러 개의 결정 트리를 결합합니다. 각 결정 트리는 데이터의 특성에 따라 예측을 수행합니다.배깅 기법 적용:각 트리는 데이터 샘플의 부트스트랩 샘플(bootstrap sample)을 사용하여 훈련됩니다. 이는 원본 데이터에서 무작위로 샘플을 뽑고 중복을 허용하는 방식입니다.각 트리는 독립..

AI/ML 2024.12.29

[ML] 앙상블 학습 - 배깅, 부스팅, 스태킹

앙상블 학습이란?앙상블 학습(Ensemble Learnning)여러 개의 학습 모델을 결합하여 하나의 강력한 모델을 만드는 기법앙상블 학습은 개별 모델의 예측을 결합함으로써, 단일 모델보다 더 높은 예측 성능과 일반화 능력을 얻을수 있음주요 기법으로는 배깅(Bagging) 과 부스팅(Boosting) 이 있음배깅이란?배깅(Bagging, Bootstrap Aggregating)여러 개의 학습 모델을 병렬로 학습시키고그 예측 결과를 평균 또는 다수결로 결합하는 앙상블 기법배깅은 데이터의 샘플링 과정에서 부트스트래핑(Bootstrap) 기법을 사용하여,원본 데이터셋에서 중복을 허용한 무작위 샘플을 생성각 모델은 서로 다른 데이터 샘플을 학습하게 되어,모델 간의 상관성을 줄이고 예측 성능을 향상시킴 배깅의 장..

AI/ML 2024.12.29

[ML] 비지도학습 - 차원축소 (LDA)

LDA 란? LDA (Linear Discriminant Analysis, 선형 판별 분석)차원축소와 분류 에 모두 사용될 수 있는 비지도 학습 기법클래스 간의 분산을 최대화하고, 클래스 내 분산을 최소화 하는 방향으로 데이터를 변환데이터의 분류 성능을 향상시키고, 저차원 공간에서 데이터의 구조를 시각화할 수 있음LDA의 주요 목표차원 축소: 고차원 데이터를 저차원 공간으로 변환하여 시각화하거나, 계산 효율성을 높입니다.분류 성능 향상: 차원 축소 후에, 더 구분하기 쉬운 클래스를 만드는 방향으로 데이터를 변환하여, 분류 모델의 성능을 향상시킵니다.클래스 간 분리: 각 클래스가 서로 최대한 분리되도록 데이터를 변환합니다.LDA 작동 원리LDA는 다음과 같은 과정으로 작동합니다:클래스 간 분산 (Betwe..

AI/ML 2024.12.29

[ML] 비지도학습 - 차원축소 (t-SNE)

t-SNE 란? t-SNE (t-Distributed Stochastic Neighbor Embedding)고차원 데이터를 저차원으로 변환하여 시각화하는 차원 축소 기법데이터 포인트 간의 유사성을 보존하면서, 고차원 데이터를 2차원  또는 3차원 공간으로 변환데이터의 구조와 패턴을 시각적으로 이해할 수 있다주요 개념1. 고차원 공간에서의 데이터 관계 유지:데이터 포인트 간의 유사도를 고차원 공간과 저차원 공간 모두에서 확률로 정의하고,이를 최대한 일치시키도록 저차원 임베딩을 생성2. 확률적 유사도 정의:고차원 공간 : 각 데이터 포인트 i 와 j 사이의 유사도를 조건부 확률 p 로 정의 저차원 공간 :여기서 t-분포를 사용하여 거리 계산의 민감도를 줄입니다.3. 목적 함수 : 두 확률 분포 P 와 Q 간..

AI/ML 2024.12.29

[ML] 비지도학습 - 차원축소 (PCA)

PCA 란? PCA (Principal Component Analysis, 주성분 분석) 고차원 데이터를 저차원으로 변환하는 차원 축소 기법PCA 는 데이터의 분산을 최대한 보존하면서, 데이터의 주요 특징을 추출해 저차원 공간으로 변환데이터의 시각화, 노이즈 제거, 계산 효율성 향상 등의 이점이 있음주요 목표데이터 압축: 데이터의 구조를 최대한 유지하면서 차원을 줄여 메모리 사용량 및 계산 복잡도를 감소시킴.특징 추출: 중요한 특징(주성분)을 식별해 분석 및 시각화에 활용.노이즈 제거: 데이터의 주요 정보를 보존하며 불필요한 노이즈를 제거.PCA 작동 원리1. 평균 중심화 (Mean Centering):각 데이터 특징(feature)의 평균값을 0, 분산을 1로 맞춤2. 공분산 행렬 계산 (Covaria..

AI/ML 2024.12.29

[ML] 비지도학습 - 군집화모델 (DBSCAN)

DBSCAN 이란?DBSCAN (Density-Based Spatial Clustering of Applications with Noise)DBSCAN은 밀도 기반 군집화 알고리즘으로,데이터의 밀도(density)에 따라 클러스터를 형성하며, 이상치(outlier)를 효과적으로 처리할 수 있는 비지도 학습 알고리즘입니다.밀도가 높은 영역을 군집으로 간주하고, 밀도가 낮은 영역은 노이즈로 처리핵심 개념DBSCAN은 다음의 두 가지 주요 개념을 기반으로 작동합니다:ε-이웃 (Epsilon Neighborhood, ε):특정 데이터 포인트를 중심으로 반경 ε 내에 포함된 다른 데이터 포인트들을 말합니다.밀도 기준 (Density Criterion):포인트는 밀도를 기준으로 세 가지로 분류됩니다:코어 포인트(C..

AI/ML 2024.12.29

[ML] 비지도학습 - 군집화모델 (계층적 군집화)

계층적 군집화 란? (Hierarchical Clustering)계층적 군집화는 데이터 포인트를 계층 구조(hierarchy)로 그룹화하는 비지도 학습 기법입니다.클러스터의 수를 사전에 정의할 필요 없이, 데이터 간의 유사도를 기반으로 그룹화 과정을 시각적으로 표현할 수 있습니다.이 방법은 병합형(Agglomerative)과 분할형(Divisive) 두 가지 주요 방식으로 나뉩니다.1. 병합형 군집화 (Agglomerative Clustering)Bottom-up 접근법을 사용하여 모든 데이터 포인트를 각각 하나의 클러스터로 시작합니다.각 반복 단계에서 가장 가까운 두 클러스터를 합치며, 최종적으로 하나의 클러스터가 될 때까지 진행합니다.2. 분할형 군집화 (Divisive Clustering)Top-d..

AI/ML 2024.12.29