Po pierwsze, nie sądzę, aby było wiele pytań w postaci „Czy dobrą praktyką jest zawsze X w uczeniu maszynowym”, gdzie odpowiedź będzie ostateczna. Zawsze? Zawsze zawsze? Wśród modeli parametrycznych, nieparametrycznych, bayesowskich, Monte Carlo, nauk społecznych, czysto matematycznych i milionów modeli cech? Byłoby miło, prawda!
A konkretnie, oto kilka powodów, na które: to po prostu zależy.
Czasami normalizacja jest dobra:
1) Przychodzi mi do głowy kilka algorytmów, w szczególności maszyny SVM, które czasami mogą zbiegać się znacznie szybciej na znormalizowanych danych (chociaż dlaczego, dokładnie, nie pamiętam).
2) Gdy model jest wrażliwy na wielkość, a jednostki dwóch różnych cech są różne i arbitralne. To tak, jak w przypadku, który sugerujesz, w którym coś wywiera większy wpływ niż powinno.
Ale oczywiście - nie wszystkie algorytmy są wrażliwe na wielkość w sposób, który sugerujesz. Współczynniki regresji liniowej będą identyczne, jeśli wykonasz lub nie skalujesz danych, ponieważ analizuje się proporcjonalne relacje między nimi.
Czasami normalizacja jest źle:
1) Gdy chcesz zinterpretować współczynniki, a one nie normalizują się dobrze. Regresja na czymś takim jak dolary daje znaczący wynik. Regresja dotycząca proporcji maksymalnej kwoty dolarów w próbie może nie być.
2) Kiedy w rzeczywistości jednostki na twoich cechach mają znaczenie, a odległość ma znaczenie! Wracając do maszyn SVM - jeśli próbujesz znaleźć klasyfikator maksymalnego marginesu, wtedy jednostki, które wchodzą w ten „maksymalny”, mają znaczenie. Funkcje skalowania algorytmów klastrowania mogą znacząco zmienić wynik. Wyobraź sobie cztery skupiska wokół źródła, każda w innym kwadrancie, wszystkie ładnie wyskalowane. Teraz wyobraź sobie, że oś Y jest rozciągnięta do dziesięciokrotnej długości osi X. zamiast czterech małych grup ćwiartek otrzymasz długą, zgniecioną bagietkę danych pokrojoną na cztery części wzdłuż jej długości! (Ważną częścią jest to, że możesz preferować którekolwiek z nich!)
W moim niezadowalającym podsumowaniu najbardziej ogólną odpowiedzią jest to, że musisz poważnie zadać sobie pytanie, co ma sens w przypadku danych, i model, którego używasz.