Мащабирането е важен процес на инженеринг на функции.

С помощта на мащабиране се опитваме да приведем данните си в същия диапазон.

Някои видове методи за мащабиране са:

· Минимално-максимална скала: (диапазон от 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 модел офлайн, но ако трябва да обучим нашия модел онлайн, времето за обучение е много важно.

Така че можем да кажем, че целта на скалирането е да се намали времето за обучение и няма значителен ефект върху точността.