Нормалізація не завжди потрібна, але вона рідко болить.
Деякі приклади:
K-означає :
Кластеризація K-засобів є "ізотропною" у всіх напрямках простору і тому має тенденцію створювати більш-менш круглі (а не подовжені) кластери. У цій ситуації залишення дисперсій неоднаковим є рівнозначним надаванню більшої ваги змінним з меншою дисперсією.
Приклад у Matlab:
X = [randn(100,2)+ones(100,2);...
randn(100,2)-ones(100,2)];
% Introduce denormalization
% X(:, 2) = X(:, 2) * 1000 + 500;
opts = statset('Display','final');
[idx,ctrs] = kmeans(X,2,...
'Distance','city',...
'Replicates',5,...
'Options',opts);
plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
'Location','NW')
title('K-means with normalization')
(FYI: Як я можу виявити, чи мій набір даних кластеризований чи не кластеризований (тобто формує один єдиний кластер )
Розподілена кластеризація :
Порівняльний аналіз показує, що результати розподіленої кластеризації залежать від типу процедури нормалізації.
Штучна нейронна мережа (входи) :
Якщо вхідні змінні поєднуються лінійно, як у MLP, тоді рідко необхідно строго стандартизувати входи, принаймні теоретично. Причина полягає в тому, що будь-яке масштабування вхідного вектора може бути ефективно скасовано, змінивши відповідні ваги та ухили, залишивши вас з такими ж результатами, як і раніше. Однак є цілий ряд практичних причин, через які стандартизація входів може зробити навчання швидшим і зменшити шанси зациклюватися на місцевих оптимах. Крім того, зниження ваги та байєсівська оцінка можна зробити зручніше за допомогою стандартизованих входів.
Штучна нейронна мережа (входи / виходи)
Чи варто робити щось із ваших даних? Відповідь - це залежить.
Стандартизація вхідних або цільових змінних, як правило, покращує навчальний процес за рахунок поліпшення числового стану (див.
Ftp://ftp.sas.com/pub/neural/illcond/illcond.html ) проблеми оптимізації та забезпечення різних за замовчуванням значення, які беруть участь у ініціалізації та припиненні, є відповідними. Стандартизація цілей також може впливати на цільову функцію.
До стандартизації справ слід підходити обережно, оскільки вона відкидає інформацію. Якщо ця інформація не має значення, стандартизація справ може бути дуже корисною. Якщо ця інформація важлива, то стандартизація випадків може бути згубною.
Цікаво, що зміна одиниць вимірювання може навіть призвести до того, щоб побачити зовсім іншу структуру кластеризації: Кауфман, Леонард та Пітер Дж. Руссоєв. "Пошук груп у даних: вступ до кластерного аналізу". (2005).
У деяких додатках зміна одиниць вимірювання може навіть призвести до того, що можна побачити зовсім іншу структуру кластеризації. Наприклад, вік (у роках) та зріст (у сантиметрах) чотирьох уявних людей наведено в Таблиці 3 та зображено на рисунку 3. Видається, що {A, B) та {C, 0) - це два добре розділені скупчення . З іншого боку, коли висота виражена в стопах, отримуємо таблицю 4 і рисунок 4, де зараз очевидні скупчення {A, C} і {B, D}. Цей розділ повністю відрізняється від першого, оскільки кожен предмет отримав іншого супутника. (Малюнок 4 був би згладжений ще більше, якби вік вимірювався днями.)
Щоб уникнути цієї залежності від вибору одиниць вимірювання, є можливість стандартизації даних. Це перетворює вихідні вимірювання в безроздільні змінні.
Кауфман та ін. продовжує деякі цікаві міркування (стор. 11):
З філософської точки зору стандартизація насправді не вирішує проблему. Дійсно, вибір одиниць вимірювання породжує відносні ваги змінних. Вираження змінної у менших одиницях призведе до збільшення діапазону для цієї змінної, що потім матиме великий вплив на отриману структуру. З іншого боку, стандартизуючи спроби надати всім змінним однакову вагу в надії на досягнення об'єктивності. Як такий, він може бути використаний практикуючим лікарем, який не має попередніх знань. Однак цілком може бути, що деякі змінні за своєю суттю важливіші, ніж інші, у певній програмі, і тоді призначення ваг має ґрунтуватися на знаннях про предмет (див., Наприклад, Abrahamowicz, 1985). З іншої сторони, були спроби розробити методи кластеризації, які не залежать від масштабу змінних (Friedman and Rubin, 1967). Пропозиція Харді та Рассона (1982) полягає у пошуку перегородки, яка мінімізує загальний об'єм опуклих корпусів кластерів. В принципі такий метод є інваріантним щодо лінійних перетворень даних, але, на жаль, не існує алгоритму його впровадження (за винятком наближення, яке обмежується двома вимірами). Тому в даний час дилема стандартизації видається неминучою, і програми, описані в цій книзі, залишають вибір на користувачі. Пропозиція Харді та Рассона (1982) полягає у пошуку перегородки, яка мінімізує загальний об'єм опуклих корпусів кластерів. В принципі такий метод є інваріантним щодо лінійних перетворень даних, але, на жаль, не існує алгоритму його впровадження (за винятком наближення, яке обмежується двома вимірами). Тому в даний час дилема стандартизації видається неминучою, і програми, описані в цій книзі, залишають вибір на користувачі. Пропозиція Харді та Рассона (1982) полягає у пошуку перегородки, яка мінімізує загальний об'єм опуклих корпусів кластерів. В принципі такий метод є інваріантним щодо лінійних перетворень даних, але, на жаль, не існує алгоритму його впровадження (за винятком наближення, яке обмежується двома вимірами). Тому в даний час дилема стандартизації видається неминучою, і програми, описані в цій книзі, залишають вибір на користувачі.