6 Data Mining Classification

Post on 26-Nov-2014

130 views 10 download

Tags:

transcript

Класификация и предсказване

Задача за класификация

Въведение Класификацията (classification) и

предвиждането (prediction) са две форми на анализа на данни, които могат да бъдат използвани за извличането на важни и полезни модели. Тези модели могат да бъдат използвани както за: описанието на важни класове от данни за предвиждането на бъдещи

тенденции в изменението на данните.

Що е класификация? Задача на класификацията – класификацията е

операция по разпределянето на различни обекти в няколко отделни класа. Класовете могат да бъдат определени чрез бизнес-правила, чрез своите граници или чрез някаква математическа зависимост. Класификацията принадлежи към групата модели, наречени “ръководено обучение” (supervised learning)

Целта на класификацията е да създаде кратък обобщен модел на изменението на зависимия атрибут, свързано с поведението на атрибута-предиктор (атрибутите-предиктори).

Що е класификация? Класификацията е най-простата и бай-често

решаваната задача от областта на Data Mining. Като се има предвид разпространеността на тази задача е необходимо ясно разбиране на същността на това понятие.

Популярни определения: Класификация – системно разпределение на

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

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

Класификация и предвиждане Класификация – предвижда резултат под формата

на категорийни (дискретни, символни) състояния на данните (етикети на класовете) Класифицираме клиентите в групи,

класифицираме стоките и услугите и т.н.) Предвиждане – резултатът се получава под формата

на стойности на непрекъсната числова функция Предвиждаме тенденцията в изменение на

обема на продажбите, тенденцията в изменение на пазарния дял и т.н.

Класификацията и предвиждането се отнасят към методите на “ръководено обучение” (обучение с учител).

Класификация-примерКато разполагаме със стари данни за

кредитополучатели и обслужваните от тях кредити да предскажем надеждността на новите кредитоискатели.

ВъзрастПрофесияГодишен доходОбразованиеТип на клиента

Старикредитополучатели

Класификация Решаващи правилаSalary > 5 L

Prof. = ExecДА/НЕ

Данни за кредитоискателя

Типове задачи на класификацията

Двоична класификация – принадлежи ли обектът към дадена група или не? (Два възможни изхода - ...)

Класификация с множество възможни изходи (класове) – какъв продукт от дадена гама ще купи клиентът?

Едномерна (по един признак) и многомерна класификация (по множество признаци)

Основни въпроси при класификацията Какво е естеството на съвкупността от данни,

която трябва да се класифицира? Трябва да бъде определено предназначението на

класификацията и то трябва да бъде свързано с интерпретацията на очакваните резултати

Каква трябва да бъде точността на класификацията? Постигането на висока точност в повечето случаи изисква

продължителна работа на алгоритмите, което може да се окаже неподходящо за целите на бизнеса

Доколко разбираеми трябва да бъдат класовете? Някои от моделите (дървета на решенията) дават

резултати, които обясняват по-добре връзката между предикторната и зависимата променлива, докато при други (невронни мрежи) тази връзка не е така изяснена.

Подготовителни стъпки за класификация1. Определя се типа на класификационната задача.

Определят се броят и видът на целевите класове.2. Определят се границите на всеки клас според типа на

входните променливи3. Конструира се съвкупност от решаващи правила,

базирани на границите на класовете за определяне на принадлежността на обекта към всеки от класовете.

4. Определя се предварителна оценка на вероятността за всеки от класовете, основаваща се на честотата на поява на този клас в общата съвкупност от данни.

5. Ако е необходимо може да бъде определена “цената” за “лош” избор в разглежданите случаи за всеки от класовете (особено важна задача за критични области като медицина, ядрена енергетика и др.).

Фази на процеса “класификация”

1. Съставяне на модела (фаза на обучение) – описание на множеството от предефинирани класове.

1. Всеки обект от извадката се свързва с един от предефинираните класове чрез атрибута “етикет на клас” (ръководено обучение)

2. Избира се множество от обекти, използвани за съставяне на модела – т.нар. “обучаващо множество”

3. Моделът се представя като система от класификационни правила, дървета на решенията или математически формули

2. Прилагане на модела – за класифициране на нови обекти

1. Точността на модела се оценява чрез т.нар.”тестово множество

2. Точността на модела се определя от процента правилно класифицирани обекти в тестовото множество

3. Тестовото множество не бива да съвпада с обучаващото множество

Фази на процеса “класификация”

Apply

Model

Induction

Deduction

Learn

Model

Model

Tid Attrib1 Attrib2 Attrib3 Class

1 Yes Large 125K No

2 No Medium 100K No

3 No Small 70K No

4 Yes Medium 120K No

5 No Large 95K Yes

6 No Medium 60K No

7 Yes Large 220K No

8 No Small 85K Yes

9 No Medium 75K No

10 No Small 90K Yes 10

Tid Attrib1 Attrib2 Attrib3 Class

11 No Small 55K ?

12 Yes Medium 80K ?

13 Yes Large 110K ?

14 No Small 95K ?

15 No Large 67K ? 10

Test Set

Learningalgorithm

Training Set

Съставяне на модела

Обучение – обучаващите данни се анализират от обучаващия алгоритъм

Прилагане на модела

Класификация – тестовите данни се използват за да се оцени точността на модела

Пример – задача за класификация

Код клиент Възраст Доход Клас

1 18 25 А

2 22 100 А

3 30 70 А

4 32 120 А

5 24 15 B

6 25 22 A

7 32 50 B

8 19 45 B

9 22 75 A

10 40 90 B

Пример – задача за класификация (2)

Клиент клас B

Клиент клас A

Въ

зраст

Доход

Нов клиент клас ?

Пример – задача за класификация Възможни решения

Линейна регресияДърво на решенията

Невронна мрежа

Модели за класификация Дървета на решенията; CHAID; Случайни “гори” и усилени

дървета; Логистична регресия; Невронни мрежи; “Най-близкия съсед”; Наивна Бейсова класификация и

др.

Оценка на ефективността и точността на класификационния модел

Класификационният модел се проверява чрез прилагане върху тестови данни с известни целеви стойности (етикети на класовете) и сравняване на предсказаните стойности с фактическите стойности.

Матрица на грешките (Confusion matrix, contingency table)

Брой (процент) на коректно класифицираните случаи. True Positive (TP) rate (дял на правилно класифицираните) – е частта от

екземпляри, които са класифицирани в клас X, разделена на всички екземпляри от клас X. За клас A: 7/(7+2)=0.778, за клас B: 4/(3+4)= 0.571.

False Positive (FP) rate (дял на неправилно класифицираните) – е частта от екземпляри, които са класифицирани в клас X, но принадлежат на други класове, разделена на всички екземпляри, които не принадлежат към клас X. За клас A:3/(3+4)= 0.428, за клас B:2/(3+4)=0.286.

А B

A 7 2

B 3 4

Дей

стви

тел

ни

Класифицирани

Оценка на класификационния модел (2)

Точност (Precision) - е отношението на броя на екземлярите, които действително имат клас X към броя на всички екземпляри, класифицирани в клас X.

F-Measure е отношението: 2*Precision*Recall/(Precision+Recall)

Оценка на класификационния модел (3)

False Positives

True Positives

False Negatives

Действителни

Класифицирани

ROC-криваКривата Receiver Operating

Characteristic (ROC) изобразява графика на връзката на true positive rate (Sensitivity) във функция от false positive rate (100-Specificity) за различни точки на разделяне. Всяка точка от ROC-кривата е свързана със специфичен праг на решението. Проверката с перфектно дискриминиране (без припокриване между разпределенията) има ROC-крива, която преминава през горния ляв ъгъл. Колкото по близо е кривата ROC до горния ляв ъгъл, толкова е по-добра общата точност на проверката.

Обща формулировка на задачата

Всеки класификационен подход използва съвкупност от признаци, за да класифицира отделен обект. Нека тези признаци се представят от случайните променливи X1, …, Xk (предикторни променливи) а Y е зависимата променлива, съдържаща стойностите (етикетите) на възможните класове. Xi притежава домейн dom(Xi) (i=1,...k). Y притежава домейн dom(Y). P е съвместното вероятностно разпределение на dom(X1) x … x dom(Xk) x dom(Y). Обучаващата база от данни Dт е случайна извадка от P.

Предиктор d е функцията:

d: dom(X1) … dom(Xk) dom(Y)

Обща формулировка на задачата (2) Ако Y е категорийна променлива, задачата е

класификационна и използваме етикета на класа C вместо Y.|dom(C)| = J.

C – етикет на класа, d - класификатор. Нека r е запис, случайно подбран от P.

Дефинира се мярка на погрешната класификация (misclassification rate) of d:RT(d,P) = P(d(r.X1, …, r.Xk) != r.C)

Дефиниране на задачата: Нека съвкупността от данни D е случайна извадка от вероятностното разпределение P, да се намери класификатор d,който да минимизира RT(d,P).

Класификационни дървета (дървета на решенията) - понятиеКласификационното дърво

е структура от възли и връзки между тях, като всеки възел има една входяща и две изходящи връзки към съседни възли.

Дървото моделира процеса на вземане на решение относно класа, към който трябва да бъде отнесен класифицирания обект чрез поредица от проверки на логически условия.

Възлите биват междинни (разклонения) и крайни (листа). Междинните възли съответстват на логическите проверки, крайните – на класовете.

Елементи на дървото на решението Възлите биват

вътрешни (междинни, разклонения) и крайни (листа). Вътрешните възли съответстват на логическите проверки, крайните – на класовете.

Всеки вътрешен възел има асоцииран разделящ предикат:

Age <= 20Profession in {student,

teacher}5000*Age + 3*Salary –

10000 > 0

Как се използват дърветата на решенията?Взема се един обект

(запис), X, за който асоциираният етикет на класа е неизвестен. Стойностите на негоеите атрибути се тестват чрез дървото на решенията. Трасира се пътят, от корена на дървото до крайния възел, който съдържа предсказания клас за този обект.

Дървото на решенията може лесно да бъде преобразувано в касификационни правила.

Пример за дърво на решенията

Tid Refund MaritalStatus

TaxableIncome Cheat

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 No Single 90K Yes10

categoric

al

categoric

al

continuous

class

Refund

MarSt

TaxInc

YESNO

NO

NO

Yes No

Married Single, Divorced

< 80K > 80K

Splitting Attributes

Training Data Model: Decision Tree

Друг пример за дърво на решенията

Tid Refund MaritalStatus

TaxableIncome Cheat

1 Yes Single 125K No

2 No Married 100K No

3 No Single 70K No

4 Yes Married 120K No

5 No Divorced 95K Yes

6 No Married 60K No

7 Yes Divorced 220K No

8 No Single 85K Yes

9 No Married 75K No

10 No Single 90K Yes10

categoric

al

categoric

al

continuous

classMarSt

Refund

TaxInc

YESNO

NO

NO

Yes No

Married Single,

Divorced

< 80K > 80K

За едни и същи данни може да има различни варианти на дървото на решенията!

Дървета на решенията - предимства Интуитивно представяне – лесни за разбиране.

Класификационните правила могат да бъдат представени на естествен език

Дърветата на решенията са непараметрични модели и са подходящи за изследователско откриване на знания

Дърветата на решенията могат да бъдат конструирани относително по-бързо спрямо другите модели

Дърветата на решенията могат да поддържат и представят многомерни данни

Бърз процес на обучение на модела Мащабируемост – времето, изразходвано за обучение

расте линейно с обема на обучаващия пример Точността на дърветата на решенията е сравнима с

точността на другите модели

Дърво на решенията (ДР) в STATISTICA Data Miner

Процес на конструиране на дървото на решенията

Алгоритмите на конструирането на дърво на решенията се състоят от два етапа:

“построяване" или “изграждане" на дървото (tree building) и

“съкращаване“ (“окастряне”,”орязване”) на дървото (tree pruning).

В процеса на създаването на дървото се решават въпроси, свързани с избора на критерий за разклонение и прекратяване на обучението.

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

Обща схема за построяване на дърво на решенията

Низходяща схема за конструиране на дърво на решенията: Изследва се обучаващата база от

данни и се намира най-добрият разделящ предикат за възела в корена на дървото.

Разделя се обучаващата база от данни.

Процесът се повтаря рекурсивно за всеки нов възел.

Общ алгоритъм за построяване на дърво на решенията

BuildTree(Node t, Training database D, Split Selection Method S)

(1) Приложи S към D за да намериш критерий за разделяне

(2) if (t не е краен възел)(3) Създай дъщерни възли за t(4) Раздели D на дъщерни дялове(5) Изпълни рекурсивно за всеки дял(6) endif

Критерии за разклонениеПроцесът на създаване на дървото е низходящ (от

неговия основен възел - корен). Алгоритъмът за създаването на ДР работи с критерий за разклонение, който да раздели множеството на класифицираните обекти на подмножества, асоциирани с проверката в дадения възел. Всеки вътрешен възел се отнася до определен атрибут (възраст, доход, пол и т.н.). Правилото за избор на атрибута, проверяван във всеки възел изисква изходното множество от данни да се разделя по такъв начин, че обектите от подмножествата, получени от това разделяне да са представители само на един клас или да са максимално приближени към класовете на разделяне (количеството “примеси” във всеки от класовете да е минимално – максимално хомогенни подсъвкупности).

Избор на “най-добрата” предикторна променлива в алгоритмите

Класификационните алгоритми, които се основават на съставяне на дърво на решенията, обикновено работят чрез избора на една променлива на всяка стъпка, която е поредната “най-добра” променлива за разделяне на множеството от обекти. Изборът на “най-добрата” предикторна променлива се определя от това, колко добре тя разделя изходното множество на подмножества, които имат същата стойност като целевата променлива. Различните алгоритми използват различни средства и метрики за определяне на “най-добрата” променлива.

Критерии за разклонение (2)Най-често използваните критерии за разклонение са

два: Мярка на “информационната печалба” (алгоритъм

ID3) – представлява мярка за информативността на подпространствата на атрибутите и се основава на понятието “ентропия”;

Индекс Gini (предложен от Breiman, реализиран в алгоритъма CART)

30 35Age

“Да”

“Не”

Метрики за избор на атрибути Информационна печалба (ID3/C4.5)

Предполага се, че всички атрибути са категорийни Може да бъде модифициран и за атрибути с

непрекъснати стойности

Gini-индекс Всички арибути са непрекъснати величини Предполага се, че съществувт няколко възможни

разделяния за всеки атрибут Може да се наложи използването на други техники

(напр.клъстеризация) за да се получат възможните стойности за разделяне (split-values)

Може да бъде модифициран и за категорийни атрибути

Ентропия Формула, която изчислява хомогенноста на в една съвкупност от обекти

(данни). Напълно хомогенната съвкупност има ентропия 0. Съвкупността с еднакво поделени в подмножества стойности на атрибут

има ентропия 1. За съвкупност, състояща се от “положителни” (+) и “отрицателни” (-)

елементи ентропията E(S) е:

където p+ и p- са вероятностите, честотите на положителните и отрицателните елементи е съвкупността S.

Крайната формула за ентропия Е(S) на съвкупност S, състояща се от C подсъвкупности (класове) е:

където pi, i=1,…,n са вероятностите (честотите) на подсъвкупностите, съдържащи различните стойности на класа.

ppppSE 22 log.log.)(

C

iii ppSE

12log.)(

Ентропия (2)

Фигурата илюстрира стойностите на максимапната ентропия за различен брой класове n, за които честотата (вероятността) е еднаква: p=1/n.

Информационна печалба Информационната печалба се основава на намаляването на

ентропията след разделяне на съвкупността от обекти по стойностите на избран атрубут.

Въпрос:”Кой атрибут създава най-хомогенни разклонения?” Най-напред се изчислява ентропията на общата съвкупност от

обекти. Общата съвкупност се разделя по различни атрибути. Изчислява се ентропията по всяко разклонение. След това всяка от

изчислените ентропии се сумира пропорционално, за да се получи общата ентропия на разделянето.

Получената ентропия се изважда от ентропията преди разделянето.

Резултатът е информационната печалба или намаляването на ентропията.

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

Възелът с ентропия 0 е лист и не се подлага на следващо разделяне.

Възел, за който ентропията е > 0 се подлага на разделяне, за да се класифицира съвкупността от обекти.

Информационна печалба (2)Информационната печалба, изчислена при разделянето по

един атрибут А:

където: E(S) – ентропията на съвкупността преди

разделянето по атрибута А;m е броя на раличните стойности на атрибута А в

съвкупността S;pS(Ai) – e честотата (пропорцията) на обектите в S,

имащи стойност Ai за атрибута А;SAi е подмножество на S, в което обектите имат

стойност Ai за атрибута A.

)(.)()(),(1

iA

m

iiS SEApSEASG

Информационна печалба – примерИзходна съвкупност от данни:

Attribute1 Attribute2 Attribute3 Class

A 70 True CLASS1

A 90 True CLASS2

A 85 False CLASS2

A 95 False CLASS2

A 70 False CLASS1

B 90 True CLASS1

B 78 False CLASS1

B 65 True CLASS1

B 75 False CLASS1

C 80 True CLASS2

C 70 True CLASS2

C 80 False CLASS1

C 80 False CLASS1

C 96 False CLASS1

Информационна печалба – пример Ентропия на изходната съвкупност S (преди

разделянето):

Е(S)=-9/14.log2(9/14) – 5/14.log2(5/14) = 0.940 bits

Ентропия след разделянето по стойностите на Art1:

EAtr1(S) = 5/14(-2/5.log2(2/5) – 3/5.log2(3/5)) +4/14(-4/4.log2(4/4) – 0/4.log2(0/4)) + 5/4(-3/5.log2(3.5) – 2/5.log2(2/5)) = 0.694 bits

Информационна печалба:

G(S,Atr1) = 0.940 – 0.694 = 0.246 bits

Информационна печалба – пример (2) Ентропия след разделянето по стойностите на

Art3:

EAtr2(S) = 6/14(-3/6.log2(3/6) – 3/6.log2(3/6)) +8/14(-6/8.log2(6/8) – 2/8.log2(2/8)) = 0.892 bits

Информационна печалба:

G(S,Atr1) = 0.940 – 0.892 = 0.048 bits

Въз основа на този резултат се избира Attribute1 за начална проверка за разделяне на S.

Gini-индекс Индексът Gini се използва за оценяване на качеството

(хомогенността) на разделянето на S по алтернативи на атрибут.

Ако множеството от обекти (данни) съдържа екземпляри от C класа, индексът Gini се дефинира така:

където pi е честотата на поява на екземпляри от клас i в съвкупността C.

Ако съвкупността S е разделена на две съвкупности, то Gini-индекса за раделените обекти (данни) се изчислява така:

C

iipSgini

1

21)(

)(||

||)(

||

||)( 2

21

1 SginiS

SSgini

S

SSgini split

Gini-индекс (2)

Фигурата показва максималните стойности на Gini-индекса за различен брой класове n, за които вероятността е еднаква: p=1/n.

Приложение на критерия за разделяне Gini-индекс

Изисква се изчисляване само на разпределението на стойностите на класовете за всяка от подсъвкупностите на разделянето.

За да се намери най-доброто разделяне за даден възел, се обхожда списъкът от атрибути. Атрибутът, съдържащ точки на раделяне с най-ниска стойност на индекса Gini се използва за разделяне на съвкупността от обекти в този възел.

Какъв е разумният размер на ДР?

В случаите когато ДР съдържа неоправдано голям брой възли и разклонения изходното множество от обекти се разбива на твърде много множества, съдържащи твърде малко елементи. В резултат на това способността ДР към обобщение намалява, намалява и способността на съставения модел да дава верни отговори.

В процеса на построяване на ДР се използват специални процедури, които ограничават тази опасност и позволяват да се създадат ДР с “подходящи” размери (Breiman,1984).

Целесъобразен размер на ДР

Две възможни стратегии: Нарастване на ДР до определен размер,

в съответствие с параметри, зададени от изследователя (определени по емпиричен път).

Използване на набор от процедури, определящи “подходящия” размер на ДР (тези процедури са по-сложни от предишната стратегия):

Съкращаване на дървото чрез отсичане (pruning) на разклонения

Използване на правила за спиране на обучението

Алгоритми за построяване на ДР

Понастоящем са известни много алгоритми за построяване на ДР: CART, C4.5, CHAID, CN2, NewId, ITrule и др. Алгоритмите за построяване на ДР се различават по следните техни особености:

Видът на разделянето – бинарен (двоичен) или множествен (multi-way)

Критерий за разделянето – ентропия, Gini или друг Възможност за обработка на липсващи стойности Процедура за съкращаване (“окастряне”) на

клоните Възможност за извличане на правила от ДР.

Алгоритъм CART (C&RT) за построяване на ДРАлгоритъмът CART (Classification and Regression Tree), както се

вижда от наименованието, решава задачата за класификация и регресия. Разработен е през 1974-1984 г. от професорите по статистика - Leo Breiman (Berkeley), Jerry Friedman (Stanford), Charles Stone (Berkeley) и Richard Olshen (Stanford).

Атрибутите на множеството от дани (обекти) могат да имат както числови, така и нечислови стойности. Алгоритъмът е предназначен за построяване на двоично (бинарно) ДР. На всяка стъпка от построяването на ДР (за всеки негов възел) се използва правило, което дели съвкупността от обекти на две подсъвкупности – такава, в която правилото се изпълнява и такава, в която то не се изпълнява.

Други особености на алгоритъма CART: Функция за оценка на качеството на разклонението; Механизъм за орязване на ДР; Алгоритъм за обработка на липсващи стойности; Построяване на регресионни дървета.

Предимства на CART Може да се остави ДР да се разрастне

твърде голямо, след което да бъде обратно “окастрено” до оптималния му размер. Този подход минимизира вероятността да бъде подценена същестевната структура на съвкупността от данните поради преждевремено спиране на процеса.

CART обединява както проверката с тестово множество от данни, така и кръстосаната валидация за да постигне по прецизно качество на съответствие.

Алгоритъм CHAID (Chi-Square Automatic Interaction Detector)Алгоритъмът CHAID се различава от CART по това, че

позволява множествено разделяне във възела. Поначало алгоритъмът работи само с категорийни променливи. CHAID се основава на χ2–тест за определяне на най-доброто разделяне на всяка стъпка.

Ключови елементи на CHAID-процеса са: Подготовка на предикторните променливи – непрекъснатите

променливи се дискретизират чрез разделяне на интервала, към които принадлежат стойностите им на подинтервали – категории. Това позволява на CHAID-алгоритъма да работи и с непрекъснати числови данни.

Обединение на категориите – категориите по отделните променливи се анализират с оглед обединяването им и намаляване на броя им.

Избор на най-доброто разделяне – търсят се точки на разделяне са най-малка изравнена p-стойност (adjusted p-value).

Предимства на CHAID Бързодействие; CHAID изгражда “по-широко”

(“отворено”) ДР, понеже за разлика от CHAID не е ограничено от двоичен избор еъе еътрешните възли (предпочитан алгоритъм за маркетингови изследвания);

CHAID може да създаде много крайни възли, свързани с един клон, които могат да бъдат удобно обобщени в проста двумерна таблица с много категории за всяка променлива.

Недостатъци на CHAID Тъй като се допуска множествено разделяне на

обхвата на променливите на по-малки подобхвати, алгоритъмът изисква по-големи обеми от данни за да се осигурят надеждни резултати.

Може да се получи нереалистично и безинтересно CHAID-дърво поради множественото разделяне, което в много случаи не съответства на реалните нужди на бизнеса.

Реалните стойности принудително се трансформират преди анализа в категорийни, което обезличава определената за тях наредба (CHAID може да съпостави групите “ниска стойност” и “висока стойност” срещу “средна стойност”).

Случайни гори и усилени дървета

Алгоритъмът на “случайните гори” е алгоритъм н машинно обучение, предложен от Leo Brieman и Adele Cutler (2001). Този алгоритъм се основава на използването на ансамбъл от дървета на решенията. Резултантният клас се определя като мода от класовете, получени по отделните дървета. Алгоритъмът съчетава две основни идеи: един метод на Brieman, наречен bagging и методът на случайните подпространства на Tin Kam Ho. Алгоритъмът се прилага както в задачите за класификация, така и за целите на регресията и клъстеризацията.

Алгоритъм на “случайните гори”Всички дървета в ансамбъла се построяват независимо едно от

друго по следната процедура: Генерира се случайна подизвадка с повторение с размер N от

обучаващата извадка (N е рамерът на обучаващата извадка – някои от обектите участват многократно в подизвадката, а други не участват).

Построява се ДР, класифициращо обектите от дадената извадка, като при създаването на поредния възел на ДР признакът, по който се извършва разделянето се избира не сред всички M признаци, а сред m случайно избрани (m<M). Изборът на най-добрия от тези m признака може да се извърши по различен начин (критерий на Gini, информационна печалба и др.).

Дървото се строи до пълно изчерпване на подизвадката и не се подлага на окастряне.

Класификацията на обектите се извършва чрез гласуване: всяко дърво от ансамбъла отнася класифицирания обект към един от класовете. Приема се класът, за който са гласували най-голям брой дървета.

Предимства Високо качество на модела. Способност да се обработват ефективно данни с

голям брой признаци и класове. Нечувствителност към мащабирането на

признаците Еднакво добре се обработват както дискретни,

така и непрекъснати признаци. Съществуват разновидности на алгоритъма, които допускат обработката и на липсващи стойности.

Съществуват методи за оценка на значимостта на отделните признаци в модела.

Висока скалируемости паралелизуемост.Недостатък – голям размер на модела.

Логистична регресияЧесто използван метод за двоична класификация е логистичната регресия.

Апроксимиращата функция се получава след като общото уравнение на линейната регресия:

се подложи на трансформацията:

Освен за двоична класификация, логистичната регресия се използва и за прдсказване на вероятността за настъпване на някакво събитие въз основа на множество признаци.

)1(

1)(

yeyf

nn XaXaXaaY ...22110

Невронни мрежиИдеята на изкуствените невронни мрежи е взаимствана от

познанията ни за структурата и функционирането на централната нервна система – човешкият мозък. Невронните елементи са изградени от еднотипни елементи, значително опростени модели на клетките – изграждащи нервната система. Невроните са способни да получават външни сигнали, да ги обработват, обобщават, трансформират, да изработват съответен сигнал, който може да бъде предаден наа други съседни неврони или като обобщен резултат от работата на цялата невронна мрежа. Невроните могат да бъдат свързвани в различни конфигурации (архитектури или обработващи структури), с което да се променя характера на функционирането на модела и възможността му да решава една или друга задача.

Невронни мрежи (2)

Архитектура на неврон:X1,…,Xl – са входни сигнали за неврона;W1,…,Wl – тегла на входните сигнали.

Обобощаващафункция

Активационнафункция

Активационна функция

Активационната (предавателна) функция е ненамаляваща: най-често стъпаловидна, линейна, полулинейна или сигмоидална:

Основни характеристики на невронните мрежи

Невронните мрежи се типизират според характеристиките:

топология на мрежата; параметрите на обработващите

елементи; типът на входните стойности; метод за обучение на мрежата и

използваното обучаващо правило.

Архитектура на невронна мрежаWij – са тегла на връзките между невроните в мрежата;

Fj(…), F(…) – са активационни функции на вътрешния и на изходния слой;

Xi – са входните сигнали. За класификационните задачи изходният слой съдържа толкова изхода, колкото са класовете.

Обучение на невронната мрежа Математически е доказано, че всяка невронна мрежа с

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

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

Обучението на една невронна мрежа се постига чрез промяна на теглата на връзките между невроните и се осъществява чрез правила, които определят как да се променят тези тегла. Най-разпространеното сред тях е метода на обратното разпространение на сигнал за грешка (back-propagation).

Невронна мрежа с обратно разпространение на грешката

Предимства на невронните мрежи Те са универсален общ класификатор. Те могат да

решават задачи с много променливи и са в състояние да класифицират добре обекти, дори когато разпределението на тези обекти в N-мерното пространство на параметрите е много сложно.

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

Могат да бъдат използвани в числени предикторни задачи (напр.регресия).

Не изискват предварителна информация за вероятностното разпрееление на данните.

Те са много добри за моделиране на нелинейни връзки. Скритият слой на невронната мрежа притежава способността да моделира ефективно силно нелинейни функции.

Недостатъци на невронните мрежи

Възможно е да се окажат сравнително бавни както във фазата на обучение, така и в приложението си.

Трудно е да се проследи как мрежата прави избора си. По тази причина невронните мрежи се разглеждат като модели на “черната кутия”.

Не се проверяват хипотези и не се определят p-стойности на изхода за сравняване на променливите.

“Наивна” Бейсова класификация

Това е метод за класификация на категорийни данни, основаващ се на теоремата на Бейс със строги (“наивни”) предположения за независимост.

По своята производителност “наивният” Бейсов класификатор е сравним с дървото на решенията и с някои невронни класификатори.

Бейсова теорема - основи Нека X е екземпляр от данни

Нека H е хипотеза, че X принадлежи към клас C

Класификационната задача изисква да се определи P(H|X), т.е. Вероятността да се реализира хипотеза H, при условие, че се наблюдава екземляра X

Пример: потребителят X ще купи ли компютър, като са известни неговата възраст и доход.

Бейсова теорема - основи P(H) (априорна вероятност), начална вероятност

Напр., X ще купи компютър, независимо от възрастта, дохода и т.н.

P(X): вероятност да се наблюдава екземпляр X

P(X|H) (постериорна вероятност), вероятността да се наблюдава X, при условие, че е реализирана хипотезата H Напр. Като приемем, че X ще купи компютър, каква е

вероятността X да е между 31..40, да има среден доход и т.н.

Теорема на Бейс

Като се имат предвид обучаващите данни X, постстериорната вероятност на хипотезата H, P(H|X), съгласно теоремата на Бейс е:

)()()|()|(

XXX

PHPHPHP

Идея на Бейсовата класификация Нека D е обучаващо множество от

записи и асоциираните с тях етикети на класовете, и всеки запис се представя чрез n-мерния вектор на атрибутите X = (x1, x2, …, xn)

Допускаме, че имаме m класа C1, C2, …, Cm.

Класификацията изисква да се определи максималната постстериорна вероятност на класа P(Ci|X)

Идея на Бейсовата класификация

Това може да бъде изведено от теоремата на Бейс:

Тъй като P(X) е константа за всички класове, то се максимизира:

)()()|(

)|(X

XX

PiCPiCP

iCP

)()|()|( iCPiCPiCP XX

Идея на Бейсовата класификация

Опростяващо допускане: атрибутите са условно независими (т.е.няма релация на зависимост между атрибутите):

Това рязко съкращава изчислителните операции:

Взема се под внимание само разпределението на класовете.

)|(...)|()|(1

)|()|(21

CixPCixPCixPn

kCixPCiP

nk

X

Идея на Бейсовата класификация

Ако атрибутът Ak е категориен, P(xk|Ci) е броят на записите в Ci имащи стойност xk за Ak, разделен на |Ci, D| (броят на записите Ci в D).

Ако Ak взема непрекъснати стойности, P(xk|Ci) обикновено се изчислява на база на Гаусово разпределение с матем.очакване μ и стандартно отклонение σ:

и P(xk|Ci) е:

2

2

2

)(

2

1),,(

x

exg

),,()|(ii CCkxgCiP X

НБ класификация – обучаващо множество данни - пример

age income studentcredit_ratingbuys_computer<=30 high no fair no<=30 high no excellent no31…40 high no fair yes>40 medium no fair yes>40 low yes fair yes>40 low yes excellent no31…40 low yes excellent yes<=30 medium no fair no<=30 low yes fair yes>40 medium yes fair yes<=30 medium yes excellent yes31…40 medium no excellent yes31…40 high yes fair yes>40 medium no excellent no

Клас:C1:buys_computer =

‘yes’C2:buys_computer = ‘no’

Екземляр от данни: X = (age <= 30, Income = medium, Student = yes Credit_rating = Fair)

НБ класификация - пример P(Ci): P(buys_computer = “yes”) = 9/14 = 0.643 P(buys_computer = “no”) = 5/14 = 0.357

Изчислява се P(X|Ci) за всеки клас:

P(age = “<=30” | buys_computer = “yes”) = 2/9 = 0.222 P(age = “<= 30” | buys_computer = “no”) = 3/5 = 0.6 P(income = “medium” | buys_computer = “yes”) = 4/9 = 0.444 P(income = “medium” | buys_computer = “no”) = 2/5 = 0.4 P(student = “yes” | buys_computer = “yes) = 6/9 = 0.667 P(student = “yes” | buys_computer = “no”) = 1/5 = 0.2 P(credit_rating = “fair” | buys_computer = “yes”) = 6/9 = 0.667 P(credit_rating = “fair” | buys_computer = “no”) = 2/5 = 0.4

НБ класификация - пример Тестов екземпляр:

X = (age <= 30 , income = medium, student = yes, credit_rating = fair)

P(X|Ci) :

P(X|buys_computer = “yes”) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044 P(X|buys_computer = “no”) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019

P(X|Ci)*P(Ci) : P(X|buys_computer = “yes”) * P(buys_computer = “yes”) = 0.028 P(X|buys_computer = “no”) * P(buys_computer = “no”) =

0.007

Следователно, X принадлежи към класа (“buys_computer = yes”)

Сравнение на моделите за класификация и предвиждане

Характеристиките, по които могат да бъдат сравнявани моделите за класификация са:

Скорост – време, необходимо за създаването на модела и за неговото внедряване

Робастност – устойчивост към някакви отклонения в изходните предпоставки (“шум” в данните, пропуснати стойности и т.н.)

Интерпретируемост – възможност за разбиране на модела Размер на класификационното дърво Компактност на клсификационните правила

Надеждност