본문 바로가기

딥러닝 & 머신러닝/머신러닝 지식

(12)
교차 검증 (Cross Validation) & 훈련/검증/테스트 데이터 # Cross Validation은 무엇이고 어떻게 해야 하나요? 모델에 들어가는 데이터를 크게 훈련 데이터, 검증 데이터, 테스트 데이터로 나눌 수 있습니다. 이때 교차 검증이란 훈련 데이터로 모델이 잘 훈련되었는지를 검증 데이터를 사용해 검증하는 방법 중 하나입니다. 훈련 집합: 모델을 학습시킬 때 사용하는 데이터 집합 검증 집합: 수많은 종류의 학습된 모델이 있을 때, 그 중 최적의 모델(즉 최적 하이퍼 파라미터)을 선택하기 위해 사용하는 데이터 집합 테스트 집합: 검증을 거친 최종 모델의 일반화 성능을 검증할 때 사용하는 데이터 집합 보통 훈련 데이터로 모델을 훈련한 후, 검정 데이터를 사용해 모델이 어떻게 검증되나를 지켜보며 그에 따라 모델의 하이퍼 파라미터를 조정하고 모델의 성능을 올립니다. ..
차원의 저주와 차원 축소 개념 # 차원의 저주에 관해 설명해주세요. 차원의 저주는 저차원에서의 직관이 고차원에서는 성립하지 않는다는 것에서 시작됩니다. 2차원의 단위면적을 가진 정사각형 안에 있는 점을 무작위로 선택할 때 가장자리에 있는 점을 선택할 가능성은 매우 낮다고 합니다. 하지만 10,000차원의 단위면적을 가진 초입방체(hyper cube)에서는 이 가능성이 99.99 이상이라고 합니다. 이처럼 저차원에서의 직관이 고차원에서는 성립하지 않습니다. 또한, 고차원일수록 데이터가 차지하는 공간이 적어집니다. 즉, 특정 범위 안에 들어가는 데이터의 개수가 적어집니다. 그에 따라 필요한 데이터의 개수도 기하급수적으로 증가하고, 그러므로 계산량도 많아져 계산 시간도 오래 걸립니다. 이런 문제들이 바로 차원의 저주라 할 수 있겠습니다. ..
정규화(Normalization)의 목적과 방법들 # 정규화를 왜 해야 할까요? 정규화의 방법은 무엇이 있나요? 우리가 아무리 좋은 데이터를 갖고 있어도 모델에 학습시키기 위해선 스케일링(Scaling)을 해줘야 합니다. 머신러닝 모델은 데이터가 가진 feature(특징)을 뽑아서 학습합니다. 이때 모델이 받아들이는 데이터의 크기가 들쑥날쑥하다면 모델이 데이터를 이상하게 해석할 우려가 있습니다. 예를 들어 아파트 가격을 예측한다고 합시다. 아파트 가격에 영향을 미치는 요소로는 지어진 지 몇 년이나 되었는지, 현재 가격은 얼마인지, 연 가격 상승률은 얼마인지 등등이 있을 것입니다. 각각을 5, 1억, 0.1이라고 칩시다. 그렇다면 모델이 세 가지의 feature를 보고 학습할 땐 5와 0.1은 무시하고 1억만 중요하게 볼 수도 있겠죠? 저는 실제로 이러한..
회귀 / 분류시 알맞은 metric과 그에 대한 설명 # 회귀 / 분류시 알맞은 metric은 무엇일까요? # 알고 있는 metric에 대해 설명해주세요(ex. RMSE, MAE, recall, precision …) 모델에게 주어진 목표를 얼마나 잘 달성했는가를 측정해야 어떤 모델이 좋은 모델인지 알 수 있습니다. # 회귀 문제 회귀 문제에서는 실제 값과 모델이 예측하는 값의 차이에 기반을 둔 metric(평가)을 사용합니다. 대표적으로 RSS(단순 오차 제곱 합), MSE(평균 제곱 오차), MAE(평균 절대값 오차)가 있습니다. RSS는 예측값과 실제값의 오차의 제곱합, MSE는 RSS를 데이터의 개수만큼 나눈 값, MAE는 예측값과 실제값의 오차의 절대값의 평균입니다. 그리고 RMSE와 RMAE라는 것도 있는데, 각각 MSE와 MAE에 루트를 씌운 ..