Intro to machine learning - (9) Feature Scaling
Cameron과 Sarah의 몸무게, 키, 옷 사이즈 데이터가 있습니다. 새로운 사람인 Chris의 몸무게, 키를 기반으로 옷 사이즈를 예측하고자 한다. 보면 Chris의 키와 몸무게가 Sarah보다는 Cameron과 가깝기 때문에 L 사이즈의 옷을 입어야 할 것 같네요.(S,L 사이즈만 있고, M은 없습니다.)
하지만 우리가 가진 데이터가 키와 몸무게라는 사전지식이 없다고 생각해봅시다. 단순히 숫자로만 보고 키+몸무게를 평가지표로 활용하면, Chris의 키+몸무게가 Cameron의 합 보다는 Sarah의 합과의 차이가 적은 것을 볼 수 있습니다. 그럼 Cameron은 S 사이즈의 옷을 입어야 할까요? 왜 같은 데이터임에도 이런 차이를 보이는 걸까요?
이는 키와 몸무게의 단위 차이에 있습니다. 키는 대략 5~7 사이의 값을 갖는 반면, 몸무게는 115~175의 값을 갖습니다. 따라서 키와 몸무게를 합치면, 몸무게의 큰 단위가 키를 먹어버리게 되는 것이죠. 키에게 몸무게는 단순히 에러 정도에 지나지 않습니다. 두 변수가 동등한 위치에 있지 않은 것이죠.
이럴때 쓰는 것이 Feature Scaling입니다. Scale이라는 단어는 여러 뜻을 갖는데, "공통 척도를 가지다"라는 뜻도 있습니다.
Feature Scaling은 다양한 단위를 갖는 변수들을 비교 가능한 단위로 바꿔줍니다. 그렇다고 해서 데이터 자체가 달라지는 것은 아닙니다. 여전히 동일한 정보를 가지고 있는 상태에서 다른 그릇에 담길 뿐입니다. 위의 예시에서 Scaling을 하면, 몸무게가 더 이상 키를 잡아먹지 않습니다.
여러 Scaler가 있지만, 강의에서는 MinMaxScaler를 소개합니다.
$\frac{X - X_{min}}{X_{max} - X_{min}}$
위의 공식으로 Scaling을 합니다. 그러면 Data는 0과 1 사이의 값을 갖게 됩니다.
MinMaxScaling의 장점은 Scaling의 결과로 나오는 수치가 예상가능한 범위 내에 있다는 것이고,
단점은 Outlier가 존재할 때 Scaling이 망가질 수 있다는 것입니다. 분모인 $X_{max} - X_{min}$이 커지기 때문에 상대적으로 차이가 덜 나는것처럼 보일수도 있습니다.
Feature Scaling을 통해서 결과에 영향을 받는 알고리즘을 보면, 위의 네 가지 중에서는 SVM, K-Means가 해당됩니다.
SVM은 데이터들과 분류 경계 간의 거리를 계산하고, K-Means는 데이터들과 Centroid 사이의 거리를 계산한다는데 있습니다.