Вместо да навлизаме директно в техническите подробности, нека първо опитаме да анализираме термина „Минимално-максимална нормализация“ и да предвидим какво може да означава. „Мин“ и „Макс“ са очевидни кратки форми на „Минимум“ и „Максимум“.

Преминаване към „Нормализация“. Какво мислите, че означава? Ако познаете нещо близко до „да направите нещо нормално“, Bullseye! Точно това означава. Може да се счита за прекалено опростяване, но това е, което означава в основата. Това е метод за нормализиране на данни въз основа на минималните и максималните стойности.

За да ви дадем по-подходящото определение в термините на неспециалистите, Min-Max Нормализация или Min-Max Scaling е процес на преобразуване на дадените данни в съответните им стойности във фиксирана граница, обикновено [0,1].

(Ще използвам термините Min-Max Normalization и Min-Max Scaling взаимозаменяемо в тази статия, защото означават едно и също нещо).

Това е техника за мащабиране, която се използва широко в моделирането на машинно обучение. Наборът от данни се мащабира с помощта на такава техника за мащабиране, преди да бъде предаден на модела. Но защо трябва да правим това?

Мотивация и цел:

Позволете ми да обясня как горната снимка е свързана с нашата тема, използвайки аналогия.

Да приемем, че лявата половина на картината представлява данните преди Min-Max нормализацията, а дясната половина след Min-Max нормализацията. Тук, както виждате, на 3-те момчета са дадени кутии с еднаква височина. Това не е честно, защото всеки един от тях е с различна височина (или мащаб).

За да бъде справедливо, в дясната половина на картината, на момчетата са дадени кутии, на които да застанат въз основа на техните височини, за да се уверите, че и трите са с една и съща ефективна височина. Това прави Min-Max Normalization.

Момчетата са аналогични на колоните от данни. И кутиите са аналогични на мащабирането им въз основа на техните изисквания, така че накрая всички да са на еднаква височина от земята.

Целта на това е да се избегне пристрастие сред данните. Когато данните се предоставят на модел, трябва да гарантираме, че всички данни получават еднаква тежест.

Например: Да разгледаме набор от данни с 2 колони, представящи оценките на 2 групи ученици — група A и група B. Група A получава оценки от 10, докато група B получава оценки от 100.

Ако предадем тези данни на модел, без да ги трансформираме, моделът ще приеме, че учениците в група B са се представили по-добре от тези в група A, просто защото група B има по-висока числена стойност.

Това е така, защото моделът не познава системата за оценяване или просто казано, той не знае какви са „Минималните“ и „Максималните“ възможни стойности в групите A и B. За да се избегне тази пристрастност, данните обикновено са мащабирани до техните еквивалентни стойности между фиксиран диапазон.

Тъй като няма универсална система за мащабиране, стойностите по подразбиране се преобразуват в съответните им и еквивалентни стойности между диапазона [0,1].

Както можете да видите, горните данни се преобразуват във фиксиран диапазон между [0,1] и сега моделът може да разбере, че и двата знака в двете групи са еквивалентни един на друг.

Математика:

Горната формула се използва за преобразуване на стойност в нейната „Нормализирана“ стойност между [0,1]. Тук,

X = Стойността, която трябва да се нормализира

X’ = Нормализираната стойност на X между [0,1]

Min(X) = Минималната стойност на групата, към която X принадлежи

Max(X) = Максималната стойност на групата, към която X принадлежи

Диапазонът [0,1] е този, който се използва по подразбиране и не е задължителен. Този диапазон може да бъде променен до всеки диапазон по ваш избор чрез промяна на горната формула, както следва:

(V е същото като X в горния сценарий)

NewMax = Новият максимум на диапазона, който искате да трансформирате данните

NewMin = Новият минимум от диапазона, който искате да трансформирате данните

Защо данните не са засегнати от Min-Max нормализиране:

Казано по-просто, трансформацията на данни не влияе на производителността на модела, тъй като ние трансформираме всяка точка от данни с еднакво количество. В по-технически смисъл, ние променяме абсолютните стойности на данните, като същевременно запазваме относителната разлика между данните.

Картината по-горе показва диаграма на разсейване между група A и група B преди мащабиране на мин.-макс. Забележете как скалата за оста x е [0,10], а за оста y е [0,100].

Сега тази горна снимка показва диаграма на разсейване на група A и група B след мащабиране на мин.-макс. Тук скалата по оста x и по оста y е [0,1]. Въпреки тази промяна позицията на точките една спрямо друга не се е променила преди и след нормализирането и следователно тази трансформация не засяга данните по никакъв начин.

Недостатъци на Min-Max нормализация:

Едно от основните ограничения на този метод на мащабиране е наличието на отклонения. Извънредна стойност е всяка точка от данни, която има характеристики, значително различни от останалите точки от данни. Отклонение може да възникне поради човешка грешка или грешни изчисления, водещи до въвеждане на грешка. Поради това грешно въвеждане съществува възможност минималната или максималната стойност на данните да бъдат идентифицирани погрешно като отклонение, което да доведе до неправилно мащабиране на данните.

В лявата снимка, в група Б, оценките на ученик 7 са изброени като 700, което очевидно е отклонение, тъй като максималната възможна оценка е 100. Това отклонение води до погрешно мащабирани стойности в група Б на снимката вдясно. Това се случи, защото моделът прие, че максималната оценка в група B е 700 и й присвои стойност 1. Останалите стойности бяха присвоени с това грешно предположение.

Така че е много важно да извършите премахване на извънредни стойности, преди да извършите Min-Max нормализиране.

Други техники за нормализиране:

Z-Score Normalization е друг тип техника за нормализиране, широко използвана в машинното обучение. Използва се, когато знаем, че данните са „нормално разпределени“ или следват „разпределение на Гаус“. Казва се, че данните са „нормално разпределени“, когато графиката им наподобява тази на Bell Curve. Ако искате да разберете какво е нормално разпределение и защо камбановидна крива, можете да се обърнете към сайта: https://www.ml-concepts.com/3-z-score-normalization/ (Пълно разкриване, I член съм на екипа на ml-concepts)

За разлика от Min-Max Normalization, тук няма фиксирана граница. Z-Score преобразува дадените данни, така че трансформираните данни да имат средна или средна стойност 0 и стандартно отклонение 1, като използва формулата,

Тук x е стойността преди нормализацията, а Z е стойността след нормализацията.

Заключение:

Min-Max нормализирането е една от най-простите техники за мащабиране на данните. Използва се в различни области на машинно обучение и дълбоко обучение за мащабиране и нормализиране на данните, което го прави съвместим с модела. Единственият проблем с иначе перфектната техника е наличието на отклонения. Така че, уверете се, че сте елиминирали отклоненията, преди да приложите тази техника във вашите проекти. До следващия път, Приятно учене!