Od kilku lat postrzegamy naukę maszynową jako zagadkę, której przesłanką może być wysoki poziom wytwarzania wiedzy przez aplikacje, wzrost mocy obliczeniowej w ciągu ostatnich kilku lat, a tym samym rozwój wyższych algorytmów.

Machine Learning jest stosowany wszędzie, od automatyzacji prozaicznych zadań do oferowania inteligentnych spostrzeżeń, przemysł w każdym sektorze starają się cieszyć. Będziesz już zatrudniać urządzenie, które wykorzystuje go. na przykład, noszone fitness tracker jak Fitbit, lub inteligentny asystent domu jak Google Home. Ale jest o wiele więcej próbek ML w użyciu.

Prediction – Nauka maszynowa również może być wykorzystana w systemach predykcji. Biorąc pod uwagę przykład pożyczki, aby obliczyć prawdopodobieństwo błędu, system będzie musiał sklasyfikować dostępne dane w grupach.

Rozpoznawanie obrazu – uczenie maszynowe jest często wykorzystywane do wykrywania twarzy na obrazie również . istnieje osobna kategoria dla każdej osoby w bazie danych składającej się z kilku osób.

Rozpoznawanie mowy – jest to interpretacja wypowiadanych słów do tekstu. Wykorzystywana jest w wyszukiwaniu głosów i nie tylko. Głosowe interfejsy użytkownika obejmują wybieranie głosowe, przekierowywanie połączeń i sterowanie urządzeniem. Można go również wykorzystać do łatwego wprowadzania danych, a co za tym idzie, do przygotowywania ustrukturyzowanych dokumentów.

Diagnostyka medyczna – ML jest szkolony w zakresie rozpoznawania tkanek nowotworowych.

Branża finansowa i handel – firmy wykorzystują ML w dochodzeniach dotyczących oszustw i kontrolach kredytowych.

A Quick History of Machine Learning

W latach czterdziestych XX wieku wynaleziono podstawowy, ręczny system informatyczny ENIAC (Electronic Numerical Integrator and Computer). W tym czasie słowo “komputer” zaczęto używać jako określenie reputacji osoby o intensywnych możliwościach obliczeń numerycznych, dlatego ENIAC nazwano komputerową maszyną obliczeniową! Cóż, powiesz, że nie ma to nic wspólnego z nauką?! ŹLE, od samego początku myśleliśmy o stworzeniu maszyny gotowej do naśladowania ludzkiego myślenia i uczenia się.

W latach 50-tych XX wieku, widzimy główny program gier wideo, który twierdził, że jest gotowy do pokonania mistrza świata w warcaby. W tym samym czasie Frank Rosenblatt wynalazł Perceptron, który był naprawdę bardzo prostym klasyfikatorem, ale kiedy został połączony w dużych ilościach, podczas sieci, stał się silnym potworem. Cóż, potwór jest względny w stosunku do czasu i w tym czasie, to był prawdziwy przełom. Następnie widzimy kilka lat stagnacji pola sieci neuronowej dzięki trudnościom w rozwiązywaniu pewnych problemów.

Dzięki statystykom, nauka maszynowa stała się bardzo sławna w latach 90-tych. Przecięcie się informatyki i statystyki dało początek podejściu probabilistycznemu w AI. Doprowadziło to do dalszego przesunięcia tego sektora w kierunku podejścia opartego na danych. Mając do dyspozycji dane na dużą skalę, naukowcy zaczęli budować inteligentne systemy, które były gotowe do analizowania i uczenia się z dużych ilości wiedzy. Najważniejsze jest to, że system Deep Blue firmy IBM pokonał mistrza planety w szachach, wielkiego mistrza Garry’ego Kasparowa. Tak, wiem, że Kasparov oskarżył IBM o oszustwo, ale to już często jest trochę historii, a Deep Blue odpoczywa spokojnie w muzeum.

Co to jest Machine Learning?

Według Arthura Samuela, algorytmy Machine Learning pozwalają komputerom dowiedzieć się z danych, a nawet same się doskonalić, bez konieczności wyraźnego programowania.

Uczenie maszynowe (Machine Learning – ML) może być kategorią algorytmu, który pozwala aplikacjom programowym na dokładniejsze przewidywanie wyników bez bycia wyraźnie zaprogramowanym. podstawowym założeniem uczenia maszynowego jest tworzenie algorytmów, które będą otrzymywać plik wejściowy i wykorzystywać analizę statystyczną do przewidywania wyników podczas aktualizacji danych wyjściowych, gdy nowe dane będą dostępne.

https://miro.medium.com/max/720/1*zHuGSwosBKFOZNKweIpWqw.jpeg

Rodzaje nauki maszynowej?

Nauka maszynowa jest często podzielona na 3 rodzaje algorytmów.

Nadzorowane uczenie się – [Link wkrótce na przyszłym blogu]

Nauka bez nadzoru – [Link wkrótce na przyszłym blogu]

Reinforcement Learning – [Link wkrótce na przyszłym blogu]

Przegląd algorytmów uczenia się nadzorowanego

W procesie nadzorowanego uczenia się system SI jest przedstawiany z danymi, które są oznaczone, co sugeruje, że każde dane oznaczone są odpowiednim oznaczeniem.

https://miro.medium.com/max/904/1*af-tNiqd-3_ResjoDOFm5A.png

Celem jest tak dobre przybliżenie funkcji mapowania, że gdy masz już nowy plik wejściowy (x), możesz po prostu przewidzieć zmienne wyjściowe (Y) dla tych danych.

Jak pokazano w powyższym przykładzie, początkowo wzięliśmy niektóre dane i oznaczyliśmy je jako ‘Spam’ lub ‘Nie Spam’. Te oznaczone dane są wykorzystywane w modelu nadzorowanym przez szkolenie, te dane są wykorzystywane do treningu tego modelu.

Po treningu przetestujemy nasz model, testując kilka nowych maili i sprawdzając model jest w stanie przewidzieć właściwe wyniki.

Rodzaje nauki nadzorowanej

Klasyfikacja: Problem z klasyfikacją polega na tym, że zmienna wyjściowa może być kategorią, jak “czerwony” lub “niebieski” lub “choroba” i “brak choroby”.

Regresja: Problem z regresją polega na tym, że zmienna wyjściowa może być wartością rzeczywistą, taką jak “dolary” lub “waga”.

Omówienie algorytmu uczenia się bez nadzoru

W procesie uczenia się bez nadzoru, system SI jest prezentowany z nieoznakowanymi, niekategoryzowanymi danymi, dlatego też algorytmy systemu działają na podstawie informacji bez wcześniejszego szkolenia. Wyjście zależy od zakodowanych algorytmów. Poddanie systemu uczeniu się bez nadzoru jest metodą testowania SI.

W powyższym przykładzie daliśmy naszemu modelowi kilka znaków, którymi są ‘Kaczki’ i ‘Nie Kaczki’. W naszych danych szkoleniowych nie podajemy żadnych znaków do odpowiednich danych. Nienadzorowany model jest w stanie oddzielić zarówno znaki, obserwując rodzaj wiedzy, jak i modele struktury lub rozmieszczenia w danych, aby dowiedzieć się więcej na ten temat.

Rodzaje nauki bez nadzoru

Gromada: Problem z tworzeniem klastrów polega na tym, że chcesz uzyskać nieodłączne grupy w ramach danych, jak np. grupowanie klientów poprzez zachowanie zakupowe.

Asocjacjacja: Problem z uczeniem się zasad asocjacji polega na tym, że chciałbyś otrzymać zasady opisujące dużą część danych, jak np. ludzie, którzy kupują X, mają tendencję do robienia zakupów za Y.

Omówienie nauki wzmocnień

https://miro.medium.com/max/542/1*sTXlD9Vo6shG8RLuigobvA.png

Wzmacniający algorytm uczenia się, czyli agent, uczy się poprzez interakcję ze swoim środowiskiem. Agent otrzymuje nagrody za poprawne wykonanie i kary za niewłaściwe wykonanie. Agent uczy się bez ingerencji człowieka, maksymalizując jego nagrodę i minimalizując karę. Jest to rodzaj dynamicznego programowania, które trenuje algorytmy wykorzystujące system nagród i kar.

W powyższym przykładzie zobaczymy, że agentowi przydzielone są 2 opcje, tj. ścieżka z wodą lub ścieżka z ogniem. Algorytm wzmacniający działa na system nagradzania, tzn. jeśli agent używa ścieżki z paleniskiem, to nagrody są odejmowane i agent próbuje dowiedzieć się, że powinien unikać ścieżki z paleniskiem. Jeśli wybrałby ścieżkę wodną lub ścieżkę bezpieczną, to do punktów nagrody dodawane są punkty, a agent próbuje dowiedzieć się, która ścieżka jest bezpieczna, a która nie.

Jest to w zasadzie wykorzystanie uzyskanych nagród, agent poprawia swoją wiedzę o środowisku, aby wybrać kolejne działania.