AIB Section2 챌린지 오답노트
두 번째 달인 섹션2를 마치며.. 챌린지(퀴즈) = 15/20
오답노트 : FP = 맞다고 잘못 생각한 문장 / FN = 틀리다고 잘못 생각
<빼박오답>
(오답 1) FN : 다중선형모델은 2개 이상의 독립 변수를 가진다.
-> 맞는 말. 다항회귀모델(한 독립변수의 여러 차수의 항으로 이뤄진 회귀모델)과 헷갈림
(하나의 독립 변수가 아닌, 복수 개의 독립 변수와 한개의 종속 변수의 인과관계를 분석한 것을 다중 선형 회귀 모형)
(오답2) FP : 릿지회귀는 편향을 줄이고 분산을 높혀 정규화를 수행한다?
-> 편향을 더하고 분산을 줄여 정규화를 수행
(정규화는 모델을 변형하여 과적합을 완화해 일반화 성능을 높여주기 위한 기법)
= 릿지 회귀모델은 기존 다중회귀선을 훈련데이터에 덜 적합하도록 만든다.
< RandomizedSearchCV >
(오답3) FN : n_iter=50, cv=3일때 검증은 150회 이뤄진다. - 파라미터 조합 다따지면 훨씬많을듯.
= 맞는 말이었음. RandomizedSearchCV를 너무 작동원리 이해 없이 썼다.
(오답4) FP : dists에 주어진 하이퍼파라미터 수치의 조합을 모두 검증한다.
- 이건 Gridsearch에 대한 내용이다. Random Search는 하이퍼파라미터의 그리드를 설정하고 임의 조합을 선택하여 모델을 훈련하고 점수를 매겨 그 조합의 수를 명시적으로 제어함. 검색반복횟수는 시간 또는 리소스를 기준으로 설정.
https://medium.com/@peterworcester_29377/a-comparison-of-grid-search-and-randomized-search-using-scikit-learn-29823179bc85
(오답5) FN : 첫 번째 학습에서 accuracy score가 0.99가 나왔다면 정보의 누수를 의심해 볼 수 있다.
-> 점수가 높게 나왔다고 꼭 누수는 아닌가보다.
(오답6) FP : 전처리 과정에서 정규화(normalization)를 한 후 train set와 test set로 나누어도 정보의 누수 문제는 발생하지 않는다.
-> 정규화 과정에서 테스트셋 분포가 영향 미치는듯. (예를들어 회귀문제라고 생각했을때)
Train-Test Contamination : Train 데이터와 Val 데이터를 제대로 구분하지 않았을 때 발생하게 된다.
Train data와 val data를 나누기 전에 전처리를 실행한다고 생각해보면, (결국, 전처리 하고 data split한다는 것) 당연히 모델의 검증 점수가 올라갈 수 밖에 없다. val data를 예측 방법에 통합했기 때문이라고 생각하면 된다. 그럼 특정 데이터에 대해서는 좋은 성능을 내겠지만, Unseen data에 대해서는 성능이 좋지 못하다. 이러한 문제는 특성 공학이 복잡해 질 수록 더욱 위험해 진다.
결국 train-test set을 나누고 전처리를 하는 것이 좋으며, 이러한 문제는 pipeline을 이용하여 휴먼 에러를 방지할 수 있다. 특히 교차검증을 할 때는 이 pipeline을 이용하는 것이 아주 중요하다는 것을 기억하자.
https://velog.io/@73syjs/정보의-누수-데이터-랭글링
<아리송>
- 다항회귀모델(Polynomial regression)은 선형모델이라고 볼 수 없는가?
- LinearRegression의 model.score가 0.5라는 의미는?
- 단순선형회귀 모델을 시그모이드 함수를 이용해 0과 1의 범위로 나타낸 것이 로지스틱회귀 모델이다.?
- n_estimators=기본모델(weak base learner)?
<맞말>
- MSE는 제곱을 하기 때문에 특이값에 민감하고 MAE는 단위 유닛이 같으므로 해석에 용이하다.
- scikit-learn 분류기를 사용할 경우 class_weight 와 같은 클래스의 밸런스를 맞추는 파라미터를 활용해 클래스 불균형 문제를 해결할 수 있다.
- Gradient Boosting 모델은 랜덤포레스트 모델보다 하이퍼파라미터 셋팅에 민감하다. 왜였지.
- Adaboost는 트리를 만들 때 샘플의 가중치를 조정하는 대신 잔차(residual)을 학습한다.
- xgboost, LightGBM, CatBoost는 모두 Gradient Boosting의 일종이다.
한 달 동안 배웠는 데도 이렇게 오답과 아리송한게 많다니..
반성하고 좋은 기회였다.
오늘 미제출 과제와 챌린지 화이팅하자.