10 najlepszych algorytmów uczenia maszynowego: dlaczego są tak ważne w 2021 roku?
Opublikowany: 2019-06-10Spis treści
W króliczej dziurze uczenia maszynowego
Aplikacje z prawdziwego życia
Co oznaczają algorytmy uczenia maszynowego?
Rodzaje uczenia maszynowego
10 najlepszych algorytmów uczenia maszynowego
Zakończyć
W 2021 roku komputery mogą nie tylko widzieć , ale także samodzielnie czytać i pisać .
Cóż, spójrzmy na współczesną historię horroru, w której faktycznie żyjemy.
Na przykład, jak byś zareagował, gdyby ktoś powiedział Ci, że wkrótce 30% miejsc pracy zostanie zastąpionych automatyzacją? To oburzające, prawda?
A co to ma wspólnego z algorytmami uczenia maszynowego ?
Na szczęście na końcu tunelu jest światło. Pozwól, że cię przez to przeprowadzę.
W 2021 roku komputery mogą:
- Rozpoznawaj głosy, twarze i pismo ręczne. (Styl CSI…)
- Zdjęcia podpisów automatycznie.
- Dowiedz się, jak rozpoznawać zawartość obrazu i klasyfikować go według określonej cechy.
- Wykonuj zadania za Ciebie. (I stwórz potrzebne algorytmy, aby je wykonać.)
Lista jest oczywiście długa.
Codziennie przeszukujemy internet, odwiedzamy strony internetowe i media społecznościowe. I nigdy nie zadajemy sobie fundamentalnego pytania:
Jak daleko zaszła technologia AI?
No to ruszamy!
Osiągnięcia technologii rodzą pytania o przyszłość ludzkości.
Może te fakty dadzą nam pewien wgląd:
(Źródło: Futuryzm , Dezyre )
- W Korei Południowej na 100 pracowników średnio 4,78 to roboty .
- 88% pracowników w Etiopii jest zagrożonych utratą pracy przez roboty.
- W Nowym Jorku zagrożoni pracownicy stanowią 40,7% .
- Do napisania programu uczenia maszynowego potrzeba 9 wierszy kodu.
- 97% prac związanych z gotowaniem fast foodów zostanie zastąpionych maszynami.
- 98% rolników straci pracę na rzecz maszyn.
- Uczenie maszynowe może generować do 1 miliarda dolarów rocznie w przemyśle farmaceutycznym.
- Szacuje się, że w ciągu najbliższych 10 lat uczenie maszynowe zastąpi 25% miejsc pracy.
W 2021 roku będziemy mogli posiadać robota w domu.
Możesz prowadzić płynną rozmowę z Jibo lub Tapia . Nie bez powodu nazywane są robotami społecznymi .
Zapamiętują imiona, twarze i głosy twoich przyjaciół i członków rodziny (co wcale nie jest przerażające!), mogą opiekować się twoim dzieckiem (o tak!), a jeśli masz wypadek w domu, zadzwonią pod numer 911 ty. Ten ostatni może być szczególnie przydatny, gdy w pobliżu nie ma nikogo innego. Ale do tego dojdziemy później.
W dzisiejszych czasach algorytmy potrafią „samouczyć się” języków, a nawet tłumaczyć mówiony angielski na pisany chiński jednocześnie z biegłością przeciętnego rodzimego użytkownika języka chińskiego. Wcześniej czy później nauka języków obcych nieuchronnie stanie się przestarzała.
A co powiesz na to:
Nasze smartfony dosłownie nas szpiegują… Jestem pewien, że wiesz dokładnie, o czym mówię! Wyobraź sobie – podczas lunchu w biurze wspominasz (słownie!), że chcesz zacząć oglądać Lucyfera . Wracasz do biurka, otwierasz na telefonie Pinteresta lub Facebooka, a tam jest – sam diabeł… (Tak, Tom Ellis jest marzycielski, ale nie o to chodzi!)
Systemy rekomendacji są wszędzie wokół nas. Jeśli wpiszesz zapytanie „Lego”, powiązane obrazy, które wyskakują i są sklasyfikowane jako Lego, zostały jako takie rozpoznane przez sztuczną inteligencję. Innymi słowy, nie zostały one ręcznie opatrzone adnotacjami jako klocki Lego przez człowieka…
Algorytm nauczył się, co to jest, patrząc na miliony obrazów.
Gęsia skórka!
Wszystkie te możliwości i wiele więcej są już wykorzystywane przez firmy.
Konsekwencje tutaj są:
Po pierwsze, komputery mają Nauczcie się , chłopaki! Pomyśl o wszystkich robotnikach w przyszłości. Będą uczyć się i wykonywać zadania DUŻO szybciej niż ludzie.
A po drugie – wiem, o czym myślisz – OMG, ludzkość jest tak skazana!
Wiele osób reaguje w ten sposób.
Wielu autorów w ciągu ostatniego stulecia pisało o przyszłości, w której roboty zdominują ludzi. Sztuczna inteligencja kwitnie, roboty będą rządzić światem i żywić się ludźmi. Osobliwość jest blisko.
OK, to dobre miejsce, żeby się zatrzymać.
Teraz, gdy mamy to poza naszym systemem, spójrzmy na to, co jest w rzeczywistości prawdą.
W króliczej dziurze uczenia maszynowego
Najpierw potrzebujemy kontekstu.
15 000 lat temu wynaleziono jedną z najbardziej lubianych gier na świecie. Gdzieś między XII a XIV wiekiem ta gra stała się znana jako szachy .
Ma 10 do potęgi 40 możliwych wyników (to 1 z 40 zerami na końcu).
W 2017 roku algorytm AlphaZero Google wykorzystał uczenie maszynowe, aby nauczyć się grać ORAZ wygrywać.
Cały proces, od wprowadzenia gry do algorytmu, aż do jej pierwszego meczu ze Stockfishem – jednym z najsilniejszych silników szachowych na świecie, trwał:
(Przygotuj się!)
4 godziny.
Auć!
Tak, jesteśmy u progu rewolucji w zakresie uczenia maszynowego .
Patrząc wstecz, nie jest to pierwsze tego rodzaju zakłócenie. Rewolucja przemysłowa pod koniec XIX i na początku XX wieku również spowodowała niepokoje społeczne, ale w końcu ludzkość i maszyny osiągnęły równowagę.
Tak, rzeczy się zmieniają i to jest naprawdę dobra rzecz!
Oprogramowanie do uczenia maszynowego pozwala spojrzeć na problem świeżym okiem i poruszać się po nieznanych środowiskach.
Tak więc, jak zaraz zobaczymy, nie jest to w końcu horror.
Bardziej jak cud technologiczny.
Ale już:
Dlaczego klasyfikacja jest tak ważna?
Na początek, czym jest z definicji uczenie maszynowe ?
Zasadniczo maszyna jest zaprogramowana tak, aby sama uczyła się tworzyć program i tworzyć rozwiązania. Uczenie maszynowe zawsze generuje najdokładniejsze liczby (i w razie potrzeby – prognozy) z możliwych.
Pomyśl o technologii, która może rozwiązać szereg zupełnie różnych problemów.
I to jest piękno tego!
Głównym celem systemu jest klasyfikacja . Nazywa się to również wizją komputerową . Nauczy się samodzielnie dokonywać rozróżnień. A liczba różnych problemów na świecie, które można sprowadzić do pozornie prostego zadania klasyfikacji, jest absolutnie oszałamiająca.
Wyobraź sobie tylko możliwość klasyfikowania pomiędzy:
- Dobre i złe pozycje szachowe (gry)
- Zdania gramatycznie poprawne i niepoprawne (tłumaczenie)
- Pusta droga i jedna z samochodami lub pieszymi (samochody autonomiczne)
- Zdrowa komórka i komórka nowotworowa (diagnostyka medyczna)
Właśnie dlatego eksperci w wielu dziedzinach staną się nieaktualni. Nie musisz być ekspertem, aby stworzyć kod, który wykona takie zadania. Faceci, którzy napisali program do tłumaczenia symultanicznego z angielskiego na chiński, nie znali ani słowa po chińsku.
Algorytm sam nauczy się być ekspertem.
I tak, ważne jest, aby się o nich dowiedzieć i poznać… tak, jak poznawaliśmy komputery na początku.
Teraz dobrze sobie radzimy z komputerami. Tak dobre, że mamy tendencję do antropomorfizacji ich (a może to tylko ja?).
Wydaje się, że nadszedł czas, aby zadać sobie pytanie:
Co stanie się z tymi wszystkimi ludźmi, którzy w końcu stracą pracę na rzecz AI i programów uczenia maszynowego?
Czy słyszałeś o drobiazgu zwanym Universal Basic Income?
Oto jest:
W przyszłości obywatele będą mieli dochody, które nie będą wymagały od nich żadnej pracy. Pieniądze będą pochodzić z szalonej wydajności, jaką zapewni automatyzacja i wynikających z niej oszczędności.
Albo tak, albo – w nieco bardziej realistycznym scenariuszu – pojawi się wiele nowych rodzajów miejsc pracy. Pod koniec XIX wieku około 50% populacji USA zajmowało się rolnictwem. Teraz, dzięki potężnym maszynom, mniej niż 2% to rolnicy, a mimo to ludzie są zatrudnieni.
Do czego można wykorzystać uczenie maszynowe ?
Aplikacje z prawdziwego życia
Uczenie maszynowe może służyć do wydedukowania nowych faktów z bazy danych.
Zobaczmy niektóre z obszarów, w których uczenie maszynowe uczyni wielką różnicę:
- Wspomagana jazda – samochody mogą automatycznie nacisnąć hamulec, gdy zbliżysz się do pojazdu przed Tobą. I tak, w pewnym momencie w przyszłości, ludzkość prawie zapomni, co oznacza wypadek samochodowy . Samochodowe samochody są już w drodze.
- Opieka zdrowotna – zwiększa efektywność personelu medycznego. Rozpoznawanie i diagnozowanie chorób stanie się o wiele łatwiejsze i dokładniejsze dzięki uczeniu maszynowemu. Na przykład programy mogą nie tylko skanować i identyfikować obrazy tkanki nowotworowej lepiej niż ludzie, ale także obliczać wskaźniki przeżycia pacjentów w oparciu o ogromne bazy danych dokumentacji medycznej. (Sprawdź pracę Jeremy'ego Howarda i jego projektu Enlitic . To niesamowite!)
- Wynalezienie leków – za pomocą uczenia maszynowego każdy pacjent może otrzymać kurację stworzoną specjalnie dla niego.
- Rolnictwo – rolnictwo zostanie zautomatyzowane za pomocą wizji komputerowej i sterowania robotami: jakość i prognozowanie upraw, wykrywanie chorób, dobrostan zwierząt gospodarskich i produkcja.
- Możliwości językowe oparte na sztucznej inteligencji – w niedalekiej przyszłości będziemy mogli komunikować się werbalnie z tłumaczeniem w czasie rzeczywistym za pomocą sztucznej inteligencji .
Uczenie maszynowe to tylko narzędzie, które pozostanie w dającej się przewidzieć przyszłości.
Więc nie musisz się martwić. Usiądź i zrelaksuj się.
Teraz, gdy zobaczyliśmy, czym jest uczenie maszynowe, zadajmy kolejne pytanie:
Co oznaczają algorytmy uczenia maszynowego?
Tak więc, po ustaleniu, jak ważne i korzystne dla naszego przyszłego uczenia maszynowego jest uczenie maszynowe, przyjrzyjmy się bliżej algorytmom, które sprawiają, że magia się dzieje.
Świetnym sposobem na wyjaśnienie algorytmów uczenia maszynowego jest porównanie ich z tradycyjnym programowaniem.
W tradycyjnym programowaniu programista pracuje w zespole z ekspertem w dziedzinie, dla której tworzone jest oprogramowanie. Im bardziej złożone zadanie – tym dłuższy kod i tym trudniejsze będzie jego napisanie.
Algorytmy uczenia maszynowego działają zupełnie inaczej. Algorytm otrzymuje zestaw danych na wejściu – i opcjonalny na wyjściu. Następnie analizuje je (lub je) i opracowuje proces, który musi zajść, aby pojawił się użyteczny wynik. Dziś jest to praca zarezerwowana dla ludzkiego programisty. W przyszłości to również się zmieni.
Rodzaje uczenia maszynowego
Istnieją 4 różne typy algorytmów uczenia maszynowego .
Tutaj są:
1. Uczenie się nadzorowane
Dane wejściowe w algorytmach uczenia nadzorowanego są oznaczone, a dane wyjściowe są znane i dokładne. Aby użyć tej klasy algorytmów, potrzebujesz dużej ilości danych oznaczonych etykietami. A to nie zawsze będzie łatwe zadanie.
Nadzorowane algorytmy dzielą się na dwie kategorie – regresję i klasyfikację . Każdy analizuje różne zestawy danych.
Algorytmy regresji to te, które tworzą przewidywania i prognozy. Należą do nich m.in. prognozy pogody, wzrost liczby ludności, prognozy oczekiwanej długości życia, prognozy rynkowe.
Algorytmy klasyfikacyjne służą do diagnostyki, wykrywania oszustw tożsamościowych, retencji klientów i jak sama nazwa wskazuje – klasyfikacji wizerunków.
2. Nauka nienadzorowana
Występuje, gdy dane wejściowe nie są oznakowane. Organizują dane w struktury klastrów. Dzięki temu wszelkie dane wejściowe są natychmiast gotowe do analizy.
Ponieważ dane nie są oznaczone, nie ma możliwości oceny dokładności wyniku. To powiedziawszy, nie jest to dokładność, do której dążą nienadzorowane algorytmy. Klastry tworzone przez algorytm nie są w żaden sposób znane programowi. Pomysł polega więc na wprowadzaniu danych, ich analizie i grupowaniu w klastry.
Podobnie jak algorytmy nadzorowane, ich nienadzorowani kuzyni są podzieleni na 2 kategorie – redukcja wymiarowości i grupowanie .
Częścią tego wszystkiego są oczywiście same algorytmy klastrowania. Przydatne jest grupowanie danych w kategorie, dzięki czemu nie musisz zajmować się każdym elementem z osobna. Algorytmy te są wykorzystywane przede wszystkim do segmentacji klientów i marketingu ukierunkowanego.
Algorytmy redukcji wymiarowości są używane do odkrywania struktur, wizualizacji dużych zbiorów danych, wydobywania cech i znaczącej kompresji. Jeśli grupowanie jest jedną stroną medalu, drugą stroną byłaby redukcja wymiarowości. Grupując dane w klastry, algorytmy nieuchronnie zmniejszają liczbę znaczących zmiennych (wymiarów) opisujących zbiór danych.
Teraz istnieje klasa algorytmów uczenia maszynowego, która łączy poprzednie 2 klasy:
3. Nauka częściowo nadzorowana
Stoi pomiędzy nadzorowanymi z danymi oznaczonymi a nienadzorowanymi algorytmami z danymi nieoznakowanymi .
Algorytmy częściowo nadzorowane wykorzystują niewielką ilość danych oznaczonych etykietą i dużą ilość danych nieoznakowanych. Może to prowadzić do poprawy dokładności uczenia się.
Jest to również ogromna ulga pod względem gromadzenia danych, ponieważ generowanie danych oznaczonych etykietami wymaga sporych zasobów.
4. Nauka wzmacniania
W przeciwieństwie do trzech poprzednich typów, algorytmy zbrojenia wybierają akcję na podstawie zestawu danych. Następnie oceniają wynik i w razie potrzeby zmieniają strategię.
W algorytmach wzmacniających tworzysz sieć i pętlę działań i to wszystko. Bez tworzenia bazy danych masz zwycięzcę. Czemu?
Cóż, to algorytmy wzmacniające wymyśliły gry w warcaby, szachy i Go.
Uczenie ze wzmocnieniem działa na zasadzie prób i błędów. System otrzyma jakąś nagrodę, która pomoże mu zmierzyć wskaźnik sukcesu. W przypadku gier – nagrodą będzie tablica wyników. Za każdym razem, gdy system zdobywa punkt, ocenia go jako udany ruch, a status tego ruchu staje się wyższy. Będzie powtarzał pętlę, dopóki wszystkie jego ruchy nie zakończą się sukcesem.
I tak mamy algorytm, który potrafi opanować partię szachów w 4 godziny.
Teraz wiemy!
W porządku. Przyjrzyjmy się samym algorytmom:
10 najlepszych algorytmów uczenia maszynowego
Teraz, zanim zaczniemy, przyjrzyjmy się jednej z podstawowych koncepcji uczenia maszynowego. Regresja , jeśli chodzi o algorytmy regresji uczenia maszynowego , oznacza, że algorytm będzie próbował ustalić związek między dwiema zmiennymi.
Istnieje wiele rodzajów regresji – liniowa, logistyczna, wielomianowa, zwykła regresja najmniejszych kwadratów i tak dalej. Dzisiaj omówimy tylko dwa pierwsze typy, ponieważ w przeciwnym razie będzie to lepiej wydane jako książka niż artykuł.
Jak zobaczymy za chwilę, większość z 10 najlepszych algorytmów to algorytmy uczenia nadzorowanego, które najlepiej sprawdzają się w Pythonie.
Oto lista 10 najlepszych algorytmów uczenia maszynowego :
1. Regresja liniowa
Jest to jeden z najpopularniejszych algorytmów uczenia maszynowego. Działa w celu ustalenia relacji między dwiema zmiennymi, dopasowując równanie liniowe do obserwowanych danych.
Innymi słowy, ten typ algorytmów obserwuje różne cechy, aby dojść do wniosku. Jeśli liczba zmiennych jest większa niż dwa – algorytm będzie nazywał się wielokrotną regresją liniową.
Regresja liniowa jest również jednym z nadzorowanych algorytmów uczenia maszynowego, które działają dobrze w Pythonie . Jest to potężne narzędzie statystyczne, które można stosować do przewidywania zachowań konsumentów, szacowania prognoz i oceny trendów. Firma może skorzystać na przeprowadzeniu analizy liniowej i prognozowaniu sprzedaży na przyszły okres.
Jeśli więc mamy dwie zmienne, jedna z nich jest objaśniająca , a druga zależna . Zmienna zależna reprezentuje wartość, którą chcesz zbadać lub dokonać prognozy. Zmienna objaśniająca jest niezależna. Zmienna zależna zawsze liczy na objaśnienie.
Celem liniowego uczenia maszynowego jest sprawdzenie, czy istnieje znaczący związek między tymi dwiema zmiennymi, a jeśli tak, to zobaczenie dokładnie, co reprezentuje.
Regresja liniowa jest uważana za prosty algorytm uczenia maszynowego i dlatego jest popularna wśród naukowców.
Teraz mamy regresję liniową i regresję logistyczną. Przyjrzyjmy się różnicy:
2. Regresja logistyczna
Jest to jeden z podstawowych algorytmów uczenia maszynowego . Jest to klasyfikator dwumianowy, który ma tylko 2 stany lub 2 wartości – którym można przypisać znaczenia Dane wejściowe są kompresowane, a następnie analizowane.
W przeciwieństwie do regresji liniowej algorytmy logistyczne dokonują przewidywań przy użyciu funkcji nieliniowej. Algorytmy regresji logistycznej są używane do klasyfikacji, a nie do zadań regresji. „Regresja” w nazwie sugeruje, że algorytmy wykorzystują model liniowy i włączają go w przestrzeń przyszłości.
Regresja logistyczna to nadzorowany algorytm uczenia maszynowego, który podobnie jak regresja liniowa dobrze działa w Pythonie. Z matematycznego punktu widzenia, jeśli oczekuje się, że dane wyjściowe z badań będą w kategoriach choroby/zdrowe lub raka/brak raka, to regresja logistyczna jest idealnym algorytmem do zastosowania.
W przeciwieństwie do regresji liniowej, w której dane wyjściowe mogą mieć różne wartości, regresja logistyczna może mieć na wyjściu tylko 1 i 0.
Istnieją 3 rodzaje regresji logistycznej, oparte na odpowiedzi kategorycznej. To są:
- Binarna regresja logistyczna – jest to najczęściej używany typ, jeśli wyjściem jest jakaś odmiana „tak”/„nie”.
- Wielomianowa regresja logistyczna – gdy istnieje możliwość 3 lub więcej odpowiedzi bez uporządkowania.
- Porządkowa regresja logistyczna – ponownie 3 lub więcej odpowiedzi, ale z porządkowaniem. Na przykład, gdy oczekiwane wyniki są w skali od 1 do 10.
Zobaczmy kolejny świetny algorytm klasyfikujący:
3. Liniowa analiza dyskryminacyjna
Ta metoda znajduje liniowe kombinacje cech, które oddzielają różne dane wejściowe. Celem algorytmu LDA jest zbadanie zmiennej zależnej jako liniowej unii cech. To świetna technika klasyfikacyjna .
Algorytm ten bada statystyczne właściwości danych wejściowych i wykonuje obliczenia dla każdej klasy. Mierzy wartość klasy, a następnie wariancję między wszystkimi klasami.
Podczas procesu modelowania różnic między klasami algorytm analizuje dane wejściowe według zmiennych niezależnych.
Dane wyjściowe zawierają informacje o klasie o najwyższej wartości. Algorytmy liniowej analizy dyskryminacyjnej najlepiej sprawdzają się przy rozdzielaniu znanych kategorii . Kiedy kilka czynników trzeba matematycznie podzielić na kategorie, stosujemy algorytm LDA.
4. K-Najbliżsi sąsiedzi
Algorytm kNN jest jednym z najlepszych algorytmów uczenia maszynowego dla początkujących . Dokonują przewidywań na podstawie starych dostępnych danych, aby sklasyfikować dane na kategorie w oparciu o różne cechy.
Znajduje się na liście nadzorowanych algorytmów uczenia maszynowego, która jest najczęściej używana do klasyfikacji. Przechowuje dostępne dane i wykorzystuje je do pomiaru podobieństw w nowych przypadkach.
K w KNN jest parametrem, który oznacza liczbę najbliższych sąsiadów, które zostaną ujęte w „procesie głosowania większościowego”. W ten sposób sąsiedzi każdego elementu „głosują”, aby określić jego klasę.
Jednym z najlepszych sposobów użycia algorytmu kNN jest posiadanie małego, pozbawionego szumów zestawu danych, a wszystkie dane są oznaczone etykietami. Algorytm nie jest szybki i nie uczy się rozpoznawania nieczystych danych. Gdy zbiór danych jest większy, używanie kNN nie jest dobrym pomysłem.
Algorytm kNN działa tak: najpierw określany jest parametr K, po czym algorytm tworzy listę wpisów, która jest zbliżona do nowej próbki danych. Następnie znajduje najczęstszą klasyfikację wpisów, a na koniec nadaje klasyfikację nowym wprowadzanym danym.
Jeśli chodzi o rzeczywiste aplikacje, algorytmy kNN są używane przez wyszukiwarki w celu ustalenia, czy wyniki wyszukiwania są odpowiednie dla zapytania. Są niedocenianym bohaterem, który oszczędza czas użytkowników podczas wyszukiwania.
Następnie pojawia się Tree-Trio: Regression Trees , Random Forest i AdaBoost .
No to ruszamy:
5. Drzewa regresji (znane również jako drzewa decyzyjne)
Tak, nazywają się drzewami , ale skoro mówimy o algorytmach uczenia maszynowego, wyobraź sobie je z korzeniami na górze i gałęziami i liśćmi na dole.
Drzewa regresji to rodzaj nadzorowanego algorytmu uczenia, który – niespodzianka – działa dobrze w Pythonie. (Nawiasem mówiąc, większość algorytmów ML to robi).
Te „drzewa” są również nazywane drzewami decyzyjnymi i służą do modelowania predykcyjnego . Wymagają od użytkownika stosunkowo niewielkiego nakładu pracy pod względem ilości danych wejściowych.
Ich reprezentacja jest drzewem binarnym i rozwiązują problemy klasyfikacyjne. Jak sama nazwa wskazuje, ten typ algorytmu wykorzystuje drzewiasty model decyzji. Wykonują zmienne badania przesiewowe lub selekcję cech. Dane wejściowe mogą być zarówno numeryczne, jak i kategoryczne.
Tłumaczenie proszę!
Pewny. Za każdym razem, gdy podejmujesz decyzję, przechodzisz do nowej sytuacji – z nowymi decyzjami do podjęcia. Każda z możliwych dróg, które możesz obrać, jest „gałęzią”, a same decyzje są „węzłami”. Twój początkowy punkt początkowy to węzeł podstawowy.
W ten sposób algorytm drzewa decyzyjnego tworzy serię węzłów i liści. Ważną rzeczą jest to, że wszystkie pochodzą z jednego węzła. (Z kolei algorytmy losowego lasu tworzą pewną liczbę drzew, z których każde ma swój główny węzeł).
Jeśli chodzi o rzeczywiste zastosowania, drzewa regresji można wykorzystać do przewidywania współczynników przeżycia, składek ubezpieczeniowych i cen nieruchomości w oparciu o różne czynniki.
Drzewa regresji „rosną” gałęzie decyzji, aż do osiągnięcia kryterium zatrzymania. Działa lepiej z małymi ilościami danych wejściowych, ponieważ w przeciwnym razie możesz uzyskać tendencyjny zestaw danych wyjściowych.
Algorytm decyduje, gdzie podzielić i utworzyć nową gałąź na podstawie decyzji, na podstawie wielu algorytmów. Dane są podzielone na regiony notatek podrzędnych, które gromadzą się wokół wszystkich dostępnych zmiennych.
6. Losowy las
Algorytm las losowy jest inna forma uczenia maszynowego nadzorowanego. Tworzy wiele drzew decyzyjnych, a nie tylko jedno, takie jak drzewa regresji. Węzły są rozmieszczone losowo, a ich kolejność nie ma znaczenia dla danych wyjściowych. Im większa liczba drzew, tym dokładniejszy wynik.
Ten typ algorytmu może być używany zarówno do klasyfikacji, jak i regresji. Jedną z niesamowitych funkcji algorytmu losowego lasu jest to, że może on działać, gdy brakuje dużej części danych . Ma również możliwość pracy z dużym zbiorem danych.
W przypadku regresji te algorytmy nie są najlepszym wyborem, ponieważ nie mają dużej kontroli nad tym, co robi model.
Algorytmy Random Forest mogą być bardzo przydatne w e-commerce. Jeśli chcesz ustalić, czy dana para butów spodoba się Twoim klientom, wystarczy zebrać informacje o ich poprzednich zakupach.
Podajesz rodzaj butów, czy miały obcas czy nie, płeć kupującego i przedział cenowy poprzednich par, które zamówili. To będą twoje dane wejściowe.
Algorytm wygeneruje wystarczającą liczbę drzew, aby zapewnić dokładne oszacowanie.
Zapraszamy!
A oto ostatni algorytm systemu drzewa:
7. AdaBoost
AdaBoost jest skrótem od Adaptive Boosting. Algorytm zdobył w 2003 roku Nagrodę Godla dla swoich twórców.
Podobnie jak poprzednie dwa, ten również wykorzystuje system drzew. Tylko zamiast wielu węzłów i liści drzewa w AdaBoost produkują tylko 1 węzeł i 2 liście, czyli kikut .
Algorytmy AdaBoost różnią się znacznie od drzew decyzyjnych i losowych lasów .
Zobaczmy:
Algorytm drzewa decyzji będzie korzystać z wielu zmiennych przed produkuje wyjście. Pniak można użyć 1 zmienną tylko do podjęcia decyzji.
W przypadku algorytmów losowego lasu wszystkie drzewa są jednakowo ważne dla ostatecznej decyzji. Algorytmy AdaBoost nadają priorytet niektórym pniakom przed innymi.
I wreszcie, losowe drzewa leśne są bardziej chaotyczne , że tak powiem. Oznacza to, że kolejność drzew nie ma znaczenia. Wynik nie zależy od kolejności produkcji drzew. Natomiast dla algorytmów AdaBoost – porządek jest kluczowy.
Wynik każdego drzewa jest podstawą następnego. Jeśli więc po drodze pojawi się błąd, każde kolejne drzewo zostanie naruszone.
W porządku, więc co ten algorytm może zrobić w prawdziwym życiu?
Algorytmy AdaBoost już błyszczą w opiece zdrowotnej, gdzie naukowcy wykorzystują je do pomiaru ryzyka choroby. Masz dane, ale różne czynniki mają różną wagę. (Wyobraź sobie, że upadasz na ramię, a twoi lekarze używają algorytmu, aby określić, czy jest złamane, czy nie. Jeśli dane wejściowe zawierają zarówno zdjęcie rentgenowskie twojej ręki, jak i zdjęcie złamanego paznokcia… cóż, jest całkiem oczywiste, który kikut będą miały większe znaczenie.)
Teraz, że tak powiem, wyszliśmy z lasu, więc spójrzmy na 3 inne rodzaje algorytmów uczenia maszynowego:
8. Naiwny Bayes
Ten przydaje się, gdy masz problem z klasyfikacją tekstu . Jest to algorytm uczenia maszynowego używany, gdy mamy do czynienia z wielowymiarowymi zbiorami danych, takimi jak filtrowanie spamu czy klasyfikacja artykułów prasowych.
Algorytm nosi tę nazwę sygnatury, ponieważ traktuje każdą zmienną jako niezależną. Innymi słowy, traktuje różne cechy danych wejściowych jako całkowicie niepowiązane. To sprawia, że jest to prosty i skuteczny klasyfikator probabilistyczny.
Część nazwy „Bayes” odnosi się do człowieka, który wynalazł twierdzenie użyte do algorytmu, a mianowicie – Thomasa Bayesa. Jego twierdzenie, jak można się domyślać, bada warunkowe prawdopodobieństwo zdarzeń.
Prawdopodobieństwa są obliczane na dwóch poziomach. Po pierwsze, prawdopodobieństwo każdej klasy. A po drugie, prawdopodobieństwo warunkowe według danego czynnika.
9. Nauka kwantyzacji wektorowej
Algorytm Learning Vector Quantization (LVQ) jest jednym z bardziej zaawansowanych algorytmów uczenia maszynowego .
W przeciwieństwie do kNN, algorytm LVQ reprezentuje algorytm sztucznej sieci neuronowej . Innymi słowy, ma na celu odtworzenie neurologii ludzkiego mózgu.
Algorytm LVQ wykorzystuje kolekcję wektorów książki kodowej jako reprezentację. Są to zasadniczo listy liczb, które mają takie same właściwości wejściowe i wyjściowe, jak dane treningowe.
10. Wsparcie maszyn wektorowych
To jedne z najpopularniejszych algorytmów uczenia maszynowego .
Algorytm Support Vector Machines jest odpowiedni dla ekstremalnych przypadków klasyfikacji . Znaczenie – gdy granica decyzyjna danych wejściowych jest niejasna. SVM służy jako granica, która najlepiej segreguje klasy wejściowe.
Maszyny SVM mogą być używane w wielowymiarowych zestawach danych. Algorytm przekształca przestrzeń nieliniową w przestrzeń liniową. W 2 wymiarach możesz wizualizować zmienne w postaci linii, co ułatwia identyfikację korelacji.
Maszyny SVM były już używane w różnych dziedzinach w prawdziwym życiu:
- W obrazowaniu medycznym i zadaniach klasyfikacji medycznej
- Badanie jakości powietrza na obszarach gęsto zaludnionych
- Aby pomóc w analizie finansowej
- W algorytmach rankingu stron dla wyszukiwarek
- Do rozpoznawania tekstu i obiektów.
Brzmi jak szwajcarski nóż algorytmów ML, prawda?
Zakończyć
Ludzie i komputery mogą z powodzeniem współpracować.
Naukowcy zapewniają nas, że to partnerstwo może i przyniesie niesamowite rezultaty. Algorytmy uczenia maszynowego już pomagają ludzkości na wiele sposobów.
Jedną z najważniejszych funkcji uczenia maszynowego i algorytmów AI jest klasyfikacja.
Zobaczmy jeszcze raz w skrócie 10 najlepszych algorytmów uczenia maszynowego:
- Regresja liniowa – służy do ustalenia relacji między 2 zmiennymi – zmienną Regresja logistyczna – klasyfikator dwumianowy, są tylko 2 możliwe wyniki każdego zapytania.
- Liniowa analiza dyskryminacyjna – działa najlepiej przy klasyfikowaniu danych wśród znanych kategorii.
- K-Nearest Neighbor – dzieli dane na kategorie.
- Drzewa regresji – wykorzystywane do modelowania predykcyjnego.
- Losowy las – używany z dużymi zestawami danych i gdy brakuje dużej części danych wejściowych.
- AdaBoost – klasyfikacje binarne.
- Naive Bayes – modelowanie predykcyjne.
- Nauka kwantyzacji wektorowej – algorytm sztucznej sieci neuronowej.
- Support Vector Machines – ekstremalne przypadki klasyfikacji w wielowymiarowym zbiorze danych.
Wszystkie te algorytmy (plus nowe, które dopiero nadejdą) położą podwaliny pod nową erę dobrobytu ludzkości. Umożliwi (a nawet będzie konieczny) powszechny dochód podstawowy, aby zapewnić przetrwanie mniej zdolnym ludziom. (Kto w przeciwnym razie zbuntuje się i zepsuje nasze społeczeństwo. No cóż.)
Cóż, kto by pomyślał, że artykuł o algorytmach uczenia maszynowego byłby takim dozy. Cóż, tyle na dzisiaj.
Do zobaczenia wkrótce, chłopaki!
FAQ
Uczenie maszynowe jest niesamowite i rzuca światło na przyszłość technologii. To wiąże się z pewnymi kosztami. Na przykład komputery obsługujące programy uczenia maszynowego zużywają szalone ilości energii elektrycznej i zasobów. Kolejną wadą uczenia maszynowego jest jak dotąd okazjonalne ujednoznacznienie jednostek. Czasami maszyny nie potrafią odróżnić, powiedzmy, imienia Anne Hathaway od wartości akcji Berkshire Hathaway. Za każdym razem, gdy aktorka przyciąga uwagę mediów, firma zyskuje pieniądze…
Uczenie maszynowe to metoda obliczeniowa. Podczas gdy „tradycyjne” algorytmy potrzebują programisty do ich napisania, te oparte na uczeniu maszynowym w zasadzie same się szkolą. Tak, nie żartuję!
To zależy od zadania, które musisz wykonać. Wybór najlepszego algorytmu dla danego zadania zależy od rozmiaru, jakości i różnorodności danych wejściowych, a także rodzaju danych wyjściowych, o które prosi użytkownik.
Jak każda rzecz, proces zaczyna się od poznania podstaw algorytmu, który wybrałeś dla swojego problemu. Będziesz musiał zapoznać się z różnymi źródłami nauki i wybrać to, które najlepiej Ci odpowiada. Następnie zacznij od rozbicia algorytmu na małe jednostki. Zacznij od prostego przykładu, a kiedy już opanujesz różne rzeczy, zatwierdź je za pomocą zaufanej implementacji. A potem kończysz cały proces. Prawdopodobnie brzmi to trudniejsze niż jest. Ale warto spróbować!