[AI] 오차 행렬을 통한 오류 분석
·
AI/Machine Learning
들어가며이번 글에서는 오차행렬을 조금 더 자세히 들여다 보아서분류기의 성능 향상 방안에 관해 어떤 인사이트들을 얻을 수 있는지 알아볼 것이다 저번 오차행렬 글에서는 이진 분류기에 관한 오차행렬이여서 2x2 형태였다면이번에는 다중 분류의 오차행렬로 10x10 형태를 다뤄볼 것이다 오차 행렬을 통한 오류 분석우선 오차행렬을 컬러 그래프로 나타내면 분석하기가 더욱 쉬울 것이다ConnfusionMatrixDisplay.from_predictions() 함수를 이용하면 된다from sklearn.metrics import ConfusionMatrixDisplayy_train_pred = cross_val_predict(sgd_clf, X_train_scaled, y_train, cv=3)ConfusionMatri..
[AI] 그리드 서치(Grid Search), 랜덤 서치(Random Search)
·
AI/Machine Learning
들어가며이번 글에서는 모델들의 하이퍼파라미터를 미세 튜닝하는 방법들 중그리드 서치와 랜덤 서치에 대해 알아볼 것이다미세 튜닝을 하는 이유는 하이퍼파라미터를 감으로 정하지 않고일반화 성능이 제일 좋은 조합을 찾기 위함이다 그리드 서치(Grid Search)성능이 좋은 하이퍼파라미터 조합을 찾기 위한 원초적이고 가장 단순한 방법은만족할 만한 조합이 나올 때까지 수동으로 조정하는 것이다이 방법은 당연히 매우 지루하고 시간도 오래 걸린다 해결책으로 사이킷런에서 제공하는 GridSearchCV를 이용하는 방법이 있다그리드 서치는 아래 과정으로 이루어진다1. 하이퍼파라미터 값 후보 설정2. 값들의 조합(grid) 생성3. 조합마다 모델 학습4. 가장 성능 좋은 조합 선택from sklearn.model_select..
[AI] 홀드아웃 검증(holdout validation), 교차 검증(cross-validation)
·
AI/Machine Learning
들어가며모델이 새로운 샘플에 얼마나 잘 일반화되는지 확인하려면실제 서비스에 모델을 넣고 잘 작동하는 지 확인하면 된다이 방법은 실전에 투입되는 것이기에 대비되지 않은 예외나 고객들의 불만이 생길 것이다 더 나은 방법으로는 훈련 데이터를 훈련 데이터와 테스트 데이터 세트로 나누는 것이다말 그대로 훈련 세트에서 모델을 훈련시키고 테스트 세트를 통해 모델을 테스트한다테스트 세트에서 모델을 테스트하면서 새로운 샘플에 대한 오차 비율 즉 일반화 오차를 얻을 수 있다이 때 훈련 오차는 작았지만 일반화 오차가 컸다면 훈련 데이터에 과대적합 됐다는 것이다 그럼 규제를 적용시켜 이를 해결할 수 있을 것이다 규제를 통해 일반화 오차가 가장 낮은 모델을 만드는 최적의 하이퍼파라미터를 찾았다고 가정해보자이 모델을 실제 서비스..
[AI] 오프라인 학습(offline learning), 온라인 학습(online learning)
·
AI/Machine Learning
들어가며저번 글에서는 머신러닝 시스템을 훈련 시 어떻게 정보가 주어지는에 따라 분류한준지도학습, 자기지도학습, 강화학습에 대해 알아봤었다이번 글에서는 입력 데이터 스트림에 따라 분류한 즉 데이터가 어떤 흐름으로 유입되는 지에 따라 분류한오프라인 학습과 온라인 학습에 대해 알아볼 것이다 오프라인 학습오프라인 학습이란?오프라인 학습은 배치 학습이라고도 부르며 데이터를 점진적으로 나눠서 학습하는 것이 아닌가용한 데이터를 한 번에 모두 사용해 훈련시키는 방식을 말한다 데이터를 한 번에 다 사용해 훈련시켜 실제 시스템에 적용시키면그 다음부터는 더 이상의 학습 없이 실행된다. 오프라인 학습의 한계오프라인 학습은 기본적으로 가용한 데이터를 한 번에 다 훈련시키므로 시간과 자원이 많이 소모된다또한 한 번 학습하면 더 ..
[AI] 준지도학습(semi-supervised learning), 자기지도학습(self-supervised learning), 강화학습(reinforcement learning)
·
AI/Machine Learning
들어가며저번 글에서는 머신러닝 시스템을 훈련 시 정보가 어떻게 주어지는 지에 따라 분류된 것들 중지도학습과 비지도학습에 대하여 공부했었다이번 글에서는 레이블의 유무로 기준을 나눈 것 중 지도학습과 비지도학습 외의 준지도학습, 자기지도학습,레이블과도 관계가 없고 아예 다른 종류의 알고리즘인 강화학습에 대하여 알아보려고 한다 준지도 학습준지도 학습이란?일반적으로 모든 데이터에 레이블을 다는 것은 시간과 비용적으로 비효율적이고 어렵기 때문에일부 데이터에만 레이블이 있고 레이블된 샘플이 없는 경우가 많다 준지도 학습은 쉽게 말해서 레이블이 전체 데이터에 다 있는 것이 아닌 일부 데이터에만 있어이를 통해 학습하는 것을 말한다 언제 준지도 학습을 사용할까?준지도 학습은 라벨링 비용이 매우 비싸지만 데이터는 넘칠 때..
[AI] 지도학습(supervised learning), 비지도학습(unsupervised learning)
·
AI/Machine Learning
들어가며머신러닝 문제를 처음 마주했을 때 우리는 어떤 모델을 쓸 지 고민하기에 앞서서이 문제가 어떤 학습 방식에 속하는 지를 먼저 분류해야한다 머신러닝 시스템은 종류가 굉장히 많아 넓은 범주에서 분류된다훈련 시 정보가 어떻게 주어지는 지, 데이터가 어떤 방식으로 유입되는지,모델이 패턴을 어떻게 표현하는 지 등 여러 기준에 따라 분류된다 오늘은 그 중에서 훈련 시 정보가 어떻게 주어지는 지에 따라 분류한지도학습, 비지도학습에 대하여 알아보려고 한다지도 학습지도 학습이란?지도학습은 알고리즘에 주입하는 훈련 데이터에 레이블을 포함시켜 학습시키는 방식이다여기서 말하는 레이블이란 입력 데이터에 붙여준 정답 값이라고 생각하면 된다 예를 들면 스팸 메일이 스팸 메일인지 아닌지 정답을 붙여줄 수 있고땅의 면적이 주어졌..