Мащабирането е важен процес на инженеринг на функции.
С помощта на мащабиране се опитваме да приведем данните си в същия диапазон.
Някои видове методи за мащабиране са:
· Минимално-максимална скала: (диапазон от 0 до 1)
X = (X-min от X) / Диапазон
· Стандартизация: (Диапазон -3 и 3)
Z = (X-средно на X)/ (Стандартно отклонение на X)
·Десетично мащабиране (диапазон от -1 до 1)
X = X /(10^d)
d = Брой цифри
тоест за стойност да речем 4997, d= 4
следователно X/ (10⁴) = 0,4
Забележка: Можем да използваме всяка техника за мащабиране, но добрата практика е да избягваме минимално-максимално мащабиране, когато има извънредни стойности, и да използваме стандартизиране.
В случай на категорична променлива като пол след едно горещо кодиране, се препоръчва да се използва минимално-максимално мащабиране за оставащата променлива.
Част 1:
Ефекти от мащабирането върху алгоритъма за машинно обучение, базиран на разстояние.
В горния пример стойността на заплатата е много висока в сравнение със стойността на възрастта. Така че заплатата ще доминира над възрастта...
Както в случая с K-NN, когато намираме разстоянието между възрастта и заплатата, разстоянието е силно повлияно от заплатата.
Част 2:
Ефекти от мащабирането върху базирания на градиентния алгоритъм за машинно обучение.
Мащабирането също е необходимо, когато се появява градиентно спускане. Ако имаме променлива с различен мащаб, градиентното спускане ще избере скорост на обучение (алфа), която е приложима за характеристиката на най-малкия мащаб.
Без мащабиране:
Една стойност на скоростта на обучение не е приложима и за двете променливи. Ако степента на обучение е избрана според променливата за възрастта и след това същата степен на обучение се приложи към променливата на заплатата, тогава ще отнеме време за сближаване.
След мащабиране:
Тук една и съща скорост на обучение е избрана и за двете променливи
Така че градиентното спускане няма да отнеме време за сближаване.
Обикновено обучаваме нашия ML модел офлайн, но ако трябва да обучим нашия модел онлайн, времето за обучение е много важно.
Така че можем да кажем, че целта на скалирането е да се намали времето за обучение и няма значителен ефект върху точността.