Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
Nowa wersja
Both sides next revision
|
pl:miw:miw08_rbs_ml [2008/06/16 13:08] miw |
pl:miw:miw08_rbs_ml [2008/06/16 13:44] miw |
| |
[[:pl:miw:miw08_rbs_ml:historia | Historia spotkań ]] | [[:pl:miw:miw08_rbs_ml:historia | Historia spotkań ]] |
| |
| |
| |
| |
| |
* Używane pliki: | * Używane pliki: |
* [[ pl:miw:miw08_rbs_ml:attrchangecollection | attrchangecollection.java]] | * [[ pl:miw:miw08_rbs_ml:attrchangecollection | attrchangecollection.java]] |
* [[ pl:miw:miw08_rbs_ml:attributchange | attributchange .java]] | * [[ pl:miw:miw08_rbs_ml:attributchange | attributchange.java]] |
* [[ pl:miw:miw08_rbs_ml:days | days.java]] | * [[ pl:miw:miw08_rbs_ml:days | days.java]] |
* [[ pl:miw:miw08_rbs_ml:decisiontree | decisiontree.java]] | * [[ pl:miw:miw08_rbs_ml:decisiontree | decisiontree.java]] |
* [[ pl:miw:miw08_rbs_ml:thermostat | thermostat.java]] | * [[ pl:miw:miw08_rbs_ml:thermostat | thermostat.java]] |
* [[ pl:miw:miw08_rbs_ml:writefile | writefile.java]] | * [[ pl:miw:miw08_rbs_ml:writefile | writefile.java]] |
| |
* [[http://student.agh.edu.pl/~morcinek/AGH/MIW|Aktualna implementacja w języku C#]] | |
| |
* ID3 opis mojej implementacji: | * ID3 opis mojej implementacji: |
* Do zbioru uczącego będziemy się odwoływać poprzez indeksy, do funkcji BuildTree() przekażemy listę indeksów opisujących przykłady na podstawie których będzie generowany węzeł. Funkcja BuildTree() pobiera jeszcze zbiór niewykorzystanych testów oraz etykietę większościową dla danego drzewa, a zwraca liść lub węzeł. | * Do zbioru uczącego będziemy się odwoływać poprzez indeksy, do funkcji buildTree() przekażemy listę indeksów opisujących przykłady na podstawie których będzie generowany węzeł. Funkcja BuildTree() pobiera jeszcze zbiór niewykorzystanych testów oraz etykietę większościową dla danego drzewa, a zwraca liść lub węzeł. |
* Sprawdzamy Kryterium Stopu - wtedy zwracany jest liść z przypisaną mu etykietą, kryteria: | * Sprawdzamy Kryterium Stopu - wtedy zwracany jest liść z przypisaną mu etykietą, kryteria: |
* Brak przykładów | * Brak przykładów |
* Poprawnie sklasyfikowane przykłady testowe wahały się od 1488 do 1866 (czyli wszystkie rozpoznane prawidłowo) | * Poprawnie sklasyfikowane przykłady testowe wahały się od 1488 do 1866 (czyli wszystkie rozpoznane prawidłowo) |
* Wyniki uzyskane ulepszonym algorytmem ID3 są lepsze ponieważ już przed rozpoczęciem budowy drzewa zamieniamy wielowartościowe atrybuty na prostsze (mniejsza ilość wartości). Korzystam ze zbioru uczącego się zawierającego 7,4% przykładów (150 / 2016). Zwykły algorytm ID3 dobrze dopasuje każdy ze 150 przykładów, lecz zabraknie mu ogólności dla przykładów spoza tego zbioru. Agregacja pozwala nam podzielić wartości zbyt licznych atrybutów i przejść na prostsze biorąc pod uwagę przyrost informacji (entropię). Najbardziej pożądane jest tak podzielić wartości aby w danym zbiorze występowała przewaga jednych pojęć docelowych (np jednego, kilku) nad pozostałymi (najlepiej żeby ich nie było). | * Wyniki uzyskane ulepszonym algorytmem ID3 są lepsze ponieważ już przed rozpoczęciem budowy drzewa zamieniamy wielowartościowe atrybuty na prostsze (mniejsza ilość wartości). Korzystam ze zbioru uczącego się zawierającego 7,4% przykładów (150 / 2016). Zwykły algorytm ID3 dobrze dopasuje każdy ze 150 przykładów, lecz zabraknie mu ogólności dla przykładów spoza tego zbioru. Agregacja pozwala nam podzielić wartości zbyt licznych atrybutów i przejść na prostsze biorąc pod uwagę przyrost informacji (entropię). Najbardziej pożądane jest tak podzielić wartości aby w danym zbiorze występowała przewaga jednych pojęć docelowych (np jednego, kilku) nad pozostałymi (najlepiej żeby ich nie było). |
| |
| |
| |
====== Sprawozdanie ====== | ====== Sprawozdanie ====== |
| |
* Przedstawione problemy to jak metodami uczenia maszynowego //automatycznie// budować model ARD oraz jak uczenie maszynowe może prowadzić do rozbudowy bazy reguł? | * Przedstawione problemy to jak metodami uczenia maszynowego //automatycznie// budować model ARD? |
* Postanowiłem to rozwiązać podczas implementowania uczenia maszynowego dla [[hekate:hekate_case_thermostat|Termostatu]]. | * Postanowiłem to rozwiązać podczas implementowania uczenia maszynowego dla [[hekate:hekate_case_thermostat|Termostatu]]. |
* Projekt powstawał etapami na bazię książki "Systemy uczące się" Pawła Cichosza. Najpierw skonstruowany został algorytm ID3 w języku C#. Następnie wobec wymienionych poniżej wad, rozszerzony został o przekształcanie atrybutów (a dokładnie Dyskretyzacje zstępującą). Na koniec musiał całość przerobić na Javę. | * Projekt powstawał etapami na bazię książki "Systemy uczące się" Pawła Cichosza. Najpierw skonstruowany został algorytm ID3 w języku C#. Następnie wobec wymienionych poniżej wad, rozszerzony został o przekształcanie atrybutów (a dokładnie Dyskretyzacje zstępującą). Na koniec musiał całość przerobić na Javę. |