본문 바로가기

Careers/Data Project

머신러닝 엔지니어가 할 수 있는 Top 6 Error (출처: medium)

1. Default Loss Function을 사용하는 것

Mean-squared error는 훌륭한다. 하지만 실제 비즈니스 데이터에 이 손실 함수는 적용이 잘 되지 않는다. Fraud Detection을 예로 들자면, fraud 때문에 달러 손실을 겪는 비즈니스 문제가 대두될 수 있다. mean squared error는 이것을 괜찮다고 오판할 수 있다.

실제 데이터 문제에는 Custom Loss Function을 만들어서 문제 해결에 사용하는 것이 좋을 수 있다.

많은 과학자들로부터 성능이 이미 입증된 훌륭한 통계적인 도구와 도메인을 반영한 custom 도구 사이에서 갈등할 수 밖에 없을 것이다. 일일히 검증 결과를 확인하는 것은 custom 도구를 사용하게 해줄 것이다.

 

2. 모든 문제에 대해 1가지 Algorithm/Method만 사용하는 것

1가지의 알고리즘이나 방법론만 사용해보고, 좋은 결과를 얻었다고 판단하여 다른 방법론을 사용하지 않고 넘어가는 것은 아주 나쁜 결과를 초래할 수 있다. 데이터를 전처리하고서, 다양한 방법론에 적용해보고 결과를 확인해봐야 한다. 게으른 분석가는 최고의 모델 성능을 얻을 수는 없다.

 

3. 이상치를 무시하는 것

이상치는 중요할 수도 있고, 상황에 따라서는 완전히 무시해도 될 수도 있다. Pollution Forecasting에 대해 예를 들어보자면, aire pollution에서 급작스러운 spike는 나타날 수 있고, 그것들을 면밀히 검토해보는 것은 중요하다. 이 경우 이상치는 센서 에러일 수도 있고, 그런 경우에는 완전히 무시하고 데이터에서 제거 혹은 평균치로 대치하는 것이 필요할 것이다.

특정 모델은 이상치에 대해 매우 민감하다. Adaboost의 경우, 이상치를 매우 어려운 케이스로 여기고, Decision Tree가 한가지의 이상치를  이상치에 아주 큰 가중치를 둔다. 

 

4. Not Properly Dealing with Cyclical Features

데이터를 다루다보면 hours, days, months, 바람 방향과 같이 cyclical feature들이 있을 것이다. 많은 머신러닝 엔지니어들은 이 feature를 23시와 0시 사이는 매우 가깝다는 점을 반영한 정보로 변형하여 사용하려고 하지 않는다. hour를 예로 더 들자면, 이를 원의 (x,y) 좌표를 sin, cos component로 변형하여 사용하면 좋다.

 

5. L1, L2 Regulation without Standardization

L1, L2 정규화는 선형 회귀나 로지스틱 회귀를 정규화하는 가장 일반적인 방법이다. 하지만 많은 머신러닝 엔지니어들은 정규화를 적용하기 전에 feature를 표준화하는 것이 중요하다고 생각하지 않는다. 만일 거래 내역에 대한 feature를 선형 회귀 모델에 적용한다고 가정해보자. 모든 feature를 표준화하여 같은 y 값 범위에 feature를 위치하게 한 뒤에, 정규화를 진행한다. 표준화를 하지 않고 정규화를 하면 안된다는 점 명심하자.

 

6. 선형 회귀 혹은 로지스틱 회귀에서 coefficients를 feature의 중요도로 해석하는 것

선형회귀는 종종 각 coefficient의 p-value를 반환한다. 머신 러닝 엔지니어들은 이 coefficients 값이 클수록, feature가 중요한 것으로 믿는다. 이것은 변수가 변함에 따라 절댓값이 변하는 scale이 같은 경우에는 진실이다. 만일 feature들 사이 관계가 비선형이라면, coeffiicients는 한 개의 feature에서 다른 feature로 변경될 수 있다. 즉 데이터 셋에서 feature들(x_1, x_2, x_3, ...)이 비선형 관계를 많이 가질 수록, coefficients에 따라 feature의 중요도를 해석하는 것은 신뢰도가 떨어질 수 있다는 의미이다. 

 

 

 

References

https://medium.com/ai%C2%B3-theory-practice-business/top-6-errors-novice-machine-learning-engineers-make-e82273d394db