====== Historia spotkań ====== ===== 080311 ===== ===== 080401 ===== * jak metodami uczenia maszynowego //automatycznie// budować model ARD? * jak uczenie maszynowe może prowadzić do rozbudowy bazy reguł? ===== 080520 ===== * Zaimplementować uczenie maszynowe dla [[hekate:hekate_case_thermostat|Termostatu]]. * Zastosowano algorytm ID3, lecz wtedy tworzy sie zbyt wiele gałęzi. * Pójście w stronę C4.5 na początku następuje agregacja (wartości są uporządkowane) i zmiana atrybutów porządkowych na inne o mniejszej ilości możliwych wartości. ===== 080527 ===== * Pytania: * Czy jako zbiór uczący może być cała dziedzina, czyli 'dni x godziny x miesiące'? * Czy musimy obsługiwać przekłamane przykłady uczące i braki (brak któregoś atrybutu)? * Testy: * Losowy zbiór uczący składający sie z 150 przykładów * Dziedzina składa się z 2016 przypadków * Najpierw algorytm buduje drzewo z 150 przykładów zbioru uczącego, następnie pozostałe 1866 są testowane w zbudowanym drzewie * Testy algorytmu ID3 * [[ http://student.agh.edu.pl/~morcinek/AGH/MIW/No_aggregate.gif |Przykładowe drzewo]] które nie zostało w pełni wygenerowane ponieważ program graphviz nie poradził sobie. Było to związane z tym, że atrybuty początkowe zawierały zbyt wiele wartości i każda z nich była w każdym wyniku testu opierającego się o ten atrybut. Czasochłonne i pamięciochłonne było też konstruowanie i przechowywanie w pamięci takiego drzewa. Ilość liści takiego drzewa wynosi 7 (dni) x 24 (godziny) x 12 (miesięcy) = 2016. * Wykonano 20 testów. * Średnia skuteczność wynosiła 55.3% * Poprawnie sklasyfikowane przykłady testowe wahały się od 904 do 1111 ===== 080610===== * Testy(przeprowadzane jak przy ID3) algorytmu ID3 uzupełnionego o występujące w C4.5 agregowanie wartości porządkowych i zmianę atrybutów na prostsze * Wyniki: * [[ :pl:miw:miw08_rbs_ml:tree1 |Przykładowe drzewo 1]] oraz [[:pl:miw:miw08_rbs_ml:aggregate1 |Aggregate1.txt]] odwzorowujący atrybuty początkowe na te atrybuty po agregacji * [[ :pl:miw:miw08_rbs_ml:tree2 |Przykładowe drzewo 2]] oraz [[:pl:miw:miw08_rbs_ml:aggregate2 |Aggregate2.txt]] odwzorowujący atrybuty początkowe na te atrybuty po agregacji * Wykonano 20 testów * Średnia skuteczność wynosiła 91.2% * Poprawnie sklasyfikowane przykłady testowe wahały się od 1488 do 1866 * 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). * Przerobienie całości projektu z języka **C#** na język **Java**