ID3 (Iterative Dichotomiser 3) — це алгоритм, розроблений [en], який використовується для генерації дерев рішень у машинному навчанні з деякого набору даних. ID3 є попередником алгоритму C4.5 та зазвичай використовується в областях машинного навчання і обробки природної мови.
Алгоритм
На початку роботи алгоритму будується дерево з початковою множиною у кореневому вузлі. На кожній ітерації алгоритму, він перебирає усі невикористані атрибути множини та обчислює ентропію (або [en]) цих атрибутів. Потім він вибирає атрибут з найменшим значенням ентропії (або найбільшим інформаційним виграшем). Потім проводиться розбиття множини за вибраним атрибутом для отримання підмножин даних. (Наприклад, вузол може бути розбитий на дочірні вузли на підставі підмножин населення, вік яких менше 50, від 50 до 100 і більше 100.) Алгоритм продовжує рекурсивно виконуватись на кожній підмножині, враховуючи лише ті атрибути, які раніше не були вибрані.
Рекурсія на підмножині може зупинитися в одному з таких випадків:
- Кожен елемент у підмножині належить до одного класу; в цьому випадку вузол перетворюється в листовий вузол і позначається класом прикладів.
- Більше немає атрибутів для вибору, але приклади ще не належать до одного класу. У цьому випадку вузол стає листовим вузлом і позначається найпоширенішим класом прикладів у підмножині.
- У підмножині немає прикладів: це трапляється, коли жодного прикладу у батьківській множині не знайдено, щоб відповідати певному значенню вибраного атрибута. Прикладом може бути відсутність особи серед населення віком понад 100 років. Потім створюється листовий вузол, який позначається найпоширенішим класом прикладів у множині батьківського вузла.
Алгоритм будує дерево рішень, де нетермінальні вузли (внутрішні вузли) представляють вибраний атрибут, на якому дані були розділені, а термінальні вузли (листові вузли) — мітку класу кінцевої підмножини цього вузла розгалуження.
Опис
- Обчислити ентропію кожного атрибута набору даних .
- Розділити множину на підмножини, використовуючи атрибут, для якого вислідна ентропія після розбиття зведена до мінімуму; або, що еквівалентно, інформаційний приріст є максимальним.
- Створити вузол дерева рішень, що містить цей атрибут.
- Повторити алгоритм на підмножинах, використовуючи атрибути, що залишилися.
Псевдокод
ID3 (Приклади, Цільові_Атрибути, Атрибути) Створити кореневий вузол для дерева. Якщо всі приклади додатні, повернути дерево з міткою = «+». Якщо всі приклади від'ємні, повернути дерево з міткою = «-». Якщо множина атрибутів порожня, повернути дерево з міткою = найбільш поширене значення цільового атрибута в прикладах. Інакше ← Атрибут, який найкраще класифікує приклади. Встановити значення кореня = . Для кожного можливого значення множини Додати нову гілку під коренем, що відповідає перевірці . Нехай буде підмножиною прикладів зі значенням . Якщо множина порожня, тоді Додати під новою гілкою листовий вузол з міткою = найбільш поширене значення цільового атрибута в прикладах. Інакше Додати під новою гілкою піддерево ID3 (, Цільові_Атрибути, Атрибути ) Повернути корінь
Властивості
ID3 не гарантує оптимального рішення. Він може сходитися до локального оптимуму. Він використовує жадібну стратегію, вибираючи локальний кращий атрибут для розбиття множини даних на кожній ітерації. Оптимальність алгоритму може бути покращена шляхом використання пошуку з вертанням під час пошуку оптимального дерева рішень, але це може призвести до погіршення швидкості роботи.
ID3 може перенавчитися. Для уникнення перенавчання варто надавати перевагу меншим деревам рішень замість великих. Цей алгоритм зазвичай будує невеликі дерева, але він не завжди дає найменше дерево рішень.
ID3 важче використовувати на неперервних даних. Якщо значення будь-якого атрибута неперервні, то існує багато місць для розбиття даних за цим атрибутом і пошук найкращого значення для розбиття може зайняти багато часу.
Використання
Алгоритм ID3 навчається на наборі даних для створення дерева рішень, яке зберігається в пам'яті. Під [en], це дерево рішень використовується для класифікації нових тестових даних (векторів ознак) шляхом обходу дерева рішень, використовуючи ознаки початкових даних, щоб прийти до листового вузла. Тестові дані класифікуються класом термінального вузла.
Метрики
Ентропія
Ентропія — це міра невизначеності в наборі даних (тобто ентропія характеризує набір даних ).
Де
- — набір даних, для якого розраховується ентропія.
- — множина класів у .
- — відношення числа елементів у класі до числа елементів у множині .
Коли , множина відмінно класифікована (тобто всі елементи належать до одного класу).
У алгоритмі ID3 ентропія обчислюється для кожного атрибута. На кожній ітерації атрибут з найменшою ентропією використовується для розбиття множини . У теорії інформації ентропія вимірює кількість інформації, яку очікують отримати при вимірюванні випадкової величини. Постійна величина має нульову ентропію, оскільки її розподіл відомий. Навпаки, рівномірно розподілена випадкова величина (дискретно або неперервно рівномірна) має максимальну ентропію. Тому, чим більше ентропія у вузлі, тим менше ми маємо відомої інформації про класифікацію даних та більший потенціал для поліпшення класифікації на даному етапі дерева.
ID3 — це жадібний евристичний алгоритм, що виконує пошук за першим найкращим збігом для локально оптимальних значень ентропії. Його точність можна поліпшити шляхом попередньої обробки даних.
Інформаційний приріст
[en] — це міра різниці ентропії початкової множини та ентропії множини після розбиття за атрибутом .
Де
- – підмножини, створені після розбиття множини за атрибутом такі, що .
- – ентропія множини .
- – ентропія підмножини .
- – відношення числа елементів у до числа елементів у множині .
У ID3 для кожного атрибута замість ентропії може бути обчислений інформаційний приріст. Атрибут з найбільшим інформаційним приростом використовується для розбиття множини .
Див. також
Примітки
- Quinlan, J. R. 1986. Induction of Decision Trees. Mach. Learn. 1, 1 (Mar. 1986), 81–106
- Taggart, Allison J; DeSimone, Alec M; Shih, Janice S; Filloux, Madeleine E; Fairbrother, William G (17 червня 2012). Large-scale mapping of branchpoints in human pre-mRNA transcripts in vivo. Nature Structural & Molecular Biology. 19 (7): 719—721. doi:10.1038/nsmb.2327. ISSN 1545-9993. PMC 3465671. PMID 22705790.
Література
Посилання
- Семінари — http://www2.cs.uregina.ca/ [ 25 жовтня 2008 у Wayback Machine.]
- Опис та приклади — http://www.cise.ufl.edu/ [ 5 грудня 2008 у Wayback Machine.]
- Опис та приклади — http://www.cis.temple.edu/ [ 10 грудня 2008 у Wayback Machine.]
- Дерева рішень та класифікація політичних партій [ 16 квітня 2019 у Wayback Machine.]
- Реалізація ID3 на Python [ 20 вересня 2020 у Wayback Machine.]
- Реалізація ID3 на Ruby [ 9 жовтня 2016 у Wayback Machine.]
- Реалізація ID3 на Perl
- Реалізація ID3 на Prolog [ 5 березня 2016 у Wayback Machine.]
- Реалізація ID3 на C (Коментарі на італійській мові) [ 5 листопада 2019 у Wayback Machine.]
- Реалізація ID3 на R [ 30 квітня 2015 у Wayback Machine.]
- Реалізація ID3 на JavaScript [ 11 червня 2018 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
ID3 Iterative Dichotomiser 3 ce algoritm rozroblenij en yakij vikoristovuyetsya dlya generaciyi derev rishen u mashinnomu navchanni z deyakogo naboru danih ID3 ye poperednikom algoritmu C4 5 ta zazvichaj vikoristovuyetsya v oblastyah mashinnogo navchannya i obrobki prirodnoyi movi Mozhlive derevo rishen pobudovane algorimom ID3 Atributi roztashovuyutsya u viglyadi vuzliv za zdatnistyu klasifikuvati prikladi Znachennya atributiv predstavleni gilkami AlgoritmNa pochatku roboti algoritmu buduyetsya derevo z pochatkovoyu mnozhinoyu S displaystyle S u korenevomu vuzli Na kozhnij iteraciyi algoritmu vin perebiraye usi nevikoristani atributi mnozhini S displaystyle S ta obchislyuye entropiyu H S displaystyle mathrm H S abo en IG S displaystyle IG S cih atributiv Potim vin vibiraye atribut z najmenshim znachennyam entropiyi abo najbilshim informacijnim vigrashem Potim provoditsya rozbittya mnozhini S displaystyle S za vibranim atributom dlya otrimannya pidmnozhin danih Napriklad vuzol mozhe buti rozbitij na dochirni vuzli na pidstavi pidmnozhin naselennya vik yakih menshe 50 vid 50 do 100 i bilshe 100 Algoritm prodovzhuye rekursivno vikonuvatis na kozhnij pidmnozhini vrahovuyuchi lishe ti atributi yaki ranishe ne buli vibrani Rekursiya na pidmnozhini mozhe zupinitisya v odnomu z takih vipadkiv Kozhen element u pidmnozhini nalezhit do odnogo klasu v comu vipadku vuzol peretvoryuyetsya v listovij vuzol i poznachayetsya klasom prikladiv Bilshe nemaye atributiv dlya viboru ale prikladi she ne nalezhat do odnogo klasu U comu vipadku vuzol staye listovim vuzlom i poznachayetsya najposhirenishim klasom prikladiv u pidmnozhini U pidmnozhini nemaye prikladiv ce traplyayetsya koli zhodnogo prikladu u batkivskij mnozhini ne znajdeno shob vidpovidati pevnomu znachennyu vibranogo atributa Prikladom mozhe buti vidsutnist osobi sered naselennya vikom ponad 100 rokiv Potim stvoryuyetsya listovij vuzol yakij poznachayetsya najposhirenishim klasom prikladiv u mnozhini batkivskogo vuzla Algoritm buduye derevo rishen de neterminalni vuzli vnutrishni vuzli predstavlyayut vibranij atribut na yakomu dani buli rozdileni a terminalni vuzli listovi vuzli mitku klasu kincevoyi pidmnozhini cogo vuzla rozgaluzhennya Opis Obchisliti entropiyu kozhnogo atributa a displaystyle a naboru danih S displaystyle S Rozdiliti mnozhinu S displaystyle S na pidmnozhini vikoristovuyuchi atribut dlya yakogo vislidna entropiya pislya rozbittya zvedena do minimumu abo sho ekvivalentno informacijnij pririst ye maksimalnim Stvoriti vuzol dereva rishen sho mistit cej atribut Povtoriti algoritm na pidmnozhinah vikoristovuyuchi atributi sho zalishilisya Psevdokod ID3 Prikladi Cilovi Atributi Atributi Stvoriti korenevij vuzol dlya dereva Yaksho vsi prikladi dodatni povernuti derevo z mitkoyu Yaksho vsi prikladi vid yemni povernuti derevo z mitkoyu Yaksho mnozhina atributiv porozhnya povernuti derevo z mitkoyu najbilsh poshirene znachennya cilovogo atributa v prikladah Inakshe A displaystyle A Atribut yakij najkrashe klasifikuye prikladi Vstanoviti znachennya korenya A displaystyle A Dlya kozhnogo mozhlivogo znachennya vi displaystyle v i mnozhini A displaystyle A Dodati novu gilku pid korenem sho vidpovidaye perevirci A vi displaystyle A v i Nehaj Examples vi displaystyle Examples v i bude pidmnozhinoyu prikladiv zi znachennyam A vi displaystyle A v i Yaksho mnozhina Examples vi displaystyle Examples v i porozhnya todi Dodati pid novoyu gilkoyu listovij vuzol z mitkoyu najbilsh poshirene znachennya cilovogo atributa v prikladah Inakshe Dodati pid novoyu gilkoyu pidderevo ID3 Examples vi displaystyle Examples v i Cilovi Atributi Atributi displaystyle setminus A displaystyle A Povernuti korin Vlastivosti Derevo rishen pobudovane algoritmom ID3 vikoristovuyetsya dlya viznachennya vidpovidnosti konkretnoyi nukleotidnoyi pari vseredini pre mRNA poslidovnosti do miscya splajsingu mRNA Ce derevo pravilno prognozuye z jmovirnistyu 95 ID3 ne garantuye optimalnogo rishennya Vin mozhe shoditisya do lokalnogo optimumu Vin vikoristovuye zhadibnu strategiyu vibirayuchi lokalnij krashij atribut dlya rozbittya mnozhini danih na kozhnij iteraciyi Optimalnist algoritmu mozhe buti pokrashena shlyahom vikoristannya poshuku z vertannyam pid chas poshuku optimalnogo dereva rishen ale ce mozhe prizvesti do pogirshennya shvidkosti roboti ID3 mozhe perenavchitisya Dlya uniknennya perenavchannya varto nadavati perevagu menshim derevam rishen zamist velikih Cej algoritm zazvichaj buduye neveliki dereva ale vin ne zavzhdi daye najmenshe derevo rishen ID3 vazhche vikoristovuvati na neperervnih danih Yaksho znachennya bud yakogo atributa neperervni to isnuye bagato misc dlya rozbittya danih za cim atributom i poshuk najkrashogo znachennya dlya rozbittya mozhe zajnyati bagato chasu Vikoristannya Algoritm ID3 navchayetsya na nabori danih S displaystyle S dlya stvorennya dereva rishen yake zberigayetsya v pam yati Pid en ce derevo rishen vikoristovuyetsya dlya klasifikaciyi novih testovih danih vektoriv oznak shlyahom obhodu dereva rishen vikoristovuyuchi oznaki pochatkovih danih shob prijti do listovogo vuzla Testovi dani klasifikuyutsya klasom terminalnogo vuzla MetrikiEntropiya Entropiya H S displaystyle mathrm H S ce mira neviznachenosti v nabori danih S displaystyle S tobto entropiya harakterizuye nabir danih S displaystyle S H S x X p x log2 p x displaystyle mathrm H S sum x in X p x log 2 p x De S displaystyle S nabir danih dlya yakogo rozrahovuyetsya entropiya X displaystyle X mnozhina klasiv u S displaystyle S p x displaystyle p x vidnoshennya chisla elementiv u klasi x displaystyle x do chisla elementiv u mnozhini S displaystyle S Koli H S 0 displaystyle mathrm H S 0 mnozhina S displaystyle S vidminno klasifikovana tobto vsi elementi S displaystyle S nalezhat do odnogo klasu U algoritmi ID3 entropiya obchislyuyetsya dlya kozhnogo atributa Na kozhnij iteraciyi atribut z najmenshoyu entropiyeyu vikoristovuyetsya dlya rozbittya mnozhini S displaystyle S U teoriyi informaciyi entropiya vimiryuye kilkist informaciyi yaku ochikuyut otrimati pri vimiryuvanni vipadkovoyi velichini Postijna velichina maye nulovu entropiyu oskilki yiyi rozpodil vidomij Navpaki rivnomirno rozpodilena vipadkova velichina diskretno abo neperervno rivnomirna maye maksimalnu entropiyu Tomu chim bilshe entropiya u vuzli tim menshe mi mayemo vidomoyi informaciyi pro klasifikaciyu danih ta bilshij potencial dlya polipshennya klasifikaciyi na danomu etapi dereva ID3 ce zhadibnij evristichnij algoritm sho vikonuye poshuk za pershim najkrashim zbigom dlya lokalno optimalnih znachen entropiyi Jogo tochnist mozhna polipshiti shlyahom poperednoyi obrobki danih Informacijnij pririst en IG A displaystyle IG A ce mira riznici entropiyi pochatkovoyi mnozhini S displaystyle S ta entropiyi mnozhini S displaystyle S pislya rozbittya za atributom A displaystyle A IG S A H S t Tp t H t H S H S A displaystyle IG S A mathrm H S sum t in T p t mathrm H t mathrm H S mathrm H S A De T displaystyle T pidmnozhini stvoreni pislya rozbittya mnozhini S displaystyle S za atributom A displaystyle A taki sho S t Tt displaystyle S bigcup t in T t H S displaystyle mathrm H S entropiya mnozhini S displaystyle S H t displaystyle mathrm H t entropiya pidmnozhini t displaystyle t p t displaystyle p t vidnoshennya chisla elementiv u t displaystyle t do chisla elementiv u mnozhini S displaystyle S U ID3 dlya kozhnogo atributa zamist entropiyi mozhe buti obchislenij informacijnij pririst Atribut z najbilshim informacijnim prirostom vikoristovuyetsya dlya rozbittya mnozhini S displaystyle S Div takozhDereva rishen u mashinnomu navchanni Model dereva rishen C4 5 algoritm PrimitkiQuinlan J R 1986 Induction of Decision Trees Mach Learn 1 1 Mar 1986 81 106 Taggart Allison J DeSimone Alec M Shih Janice S Filloux Madeleine E Fairbrother William G 17 chervnya 2012 Large scale mapping of branchpoints in human pre mRNA transcripts in vivo Nature Structural amp Molecular Biology 19 7 719 721 doi 10 1038 nsmb 2327 ISSN 1545 9993 PMC 3465671 PMID 22705790 LiteraturaMitchell Tom Michael 1997 Machine Learning New York NY McGraw Hill s 55 58 ISBN 0070428077 OCLC 36417892 Grzymala Busse Jerzy W February 1993 PDF Fundamenta Informaticae 18 2 193 207 Arhiv originalu PDF za 9 zhovtnya 2018 Procitovano 16 kvitnya 2019 cherez ResearchGate PosilannyaSeminari http www2 cs uregina ca 25 zhovtnya 2008 u Wayback Machine Opis ta prikladi http www cise ufl edu 5 grudnya 2008 u Wayback Machine Opis ta prikladi http www cis temple edu 10 grudnya 2008 u Wayback Machine Dereva rishen ta klasifikaciya politichnih partij 16 kvitnya 2019 u Wayback Machine Realizaciya ID3 na Python 20 veresnya 2020 u Wayback Machine Realizaciya ID3 na Ruby 9 zhovtnya 2016 u Wayback Machine Realizaciya ID3 na Perl Realizaciya ID3 na Prolog 5 bereznya 2016 u Wayback Machine Realizaciya ID3 na C Komentari na italijskij movi 5 listopada 2019 u Wayback Machine Realizaciya ID3 na R 30 kvitnya 2015 u Wayback Machine Realizaciya ID3 na JavaScript 11 chervnya 2018 u Wayback Machine