Anaconda cron na Amazon Linux

Jeżeli jesteś programistą Pythona oraz korzystasz ze środowiska AWS i Anacondy, to prędzej czy później napotkasz potrzebę uruchomienia skryptu Pythona jako procesu cronowego na Amazon Linux w środowisku Anaconda. To chyba nie powinno być trudne, prawda? Hmmm, niestety jest. Ponieważ spędziłem trochę czasu na konfiguracji crona na Amazon Linux w EC2, tak aby korzystał ze …

Czytaj dalej

Sieci konwolucyjne 4: data augmentation

W poprzednich trzech częściach tutoriala w szczegółach poznaliśmy sieci konwolucyjne. Przyjrzeliśmy się operacji konwolucji, architekturze sieci konwolucyjnych oraz problemowi overfittingu. W klasyfikacji zbioru CIFAR-10 osiągnęliśmy wynik 81% na zbiorze testowym. Aby pójść dalej, musielibyśmy zmienić architekturę naszej sieci, poeksperymentować z hiperparametrami lub uzyskać więcej danych. Dwa pierwsze rozwiązania zostawiam dla was, 😉 a sam będę …

Czytaj dalej

Konwolucyjne sieci neuronowe 3: overfitting

Konwolucyjne sieci neuronowe to jedna z najbardziej skutecznych architektur sieci neuronowych w obszarze klasyfikacji obrazów. W pierwszej części tutoriala omówiliśmy zagadnienie konwolucji oraz zbudowaliśmy prostą, gęsto połączoną sieć neuronową, której użyliśmy do klasyfikacji zbioru CIFAR-10, uzyskując skuteczność na poziomie 47%. W części drugiej tutoriala zapoznaliśmy się szczegółowo z architekturą i parametrami konwolucyjnej sieci neuronowej, zbudowaliśmy …

Czytaj dalej

Neuronowe sieci konwolucyjne 2: architektura

Neuronowe sieci konwolucyjne pozwalają uzyskać bardzo dobre wyniki klasyfikacji w przypadku obrazów. W poprzednim poście mieliście okazję dowiedzieć się, czym jest konwolucja oraz jak sklasyfikować zbiór CIFAR-10 wykorzystując prostą klasyczną sieć neuronową. Przypomnę, że uzyskaliśmy poprawność klasyfikacji na zbiorze testowym na poziomie 47%. W drugiej części tutoriala idziemy dalej: Niniejszy post jest drugą częścią tutoriala, …

Czytaj dalej

Convolutional neural network

Konwolucyjne sieci neuronowe 1: konwolucja

Głębokie sieci neuronowe znajdują szerokie zastosowanie w rozpoznawaniu obrazów i kształtów. Przykładowe aplikacje obejmują rozpoznawanie twarzy, analizę obrazów w medycynie, klasyfikację pisma czy detekcję obiektów otoczenia. Specjalnym rodzajem sieci neuronowej, który wyjątkowo dobrze radzi sobie z przetwarzaniem obrazu, są konwolucyjne sieci neuronowe. Przyznam, że ConvNet to moja ulubiona architektura głębokich sieci neuronowych i bardzo lubię …

Czytaj dalej

Naive Bayes in machine learning

Naiwny Bayes w uczeniu maszynowym

Czy lubicie statystykę? Jest duże prawdopodobieństwo, 😉 że nie. Nie przejmujcie się jednak, statystyka nie jest również moją mocną stroną. W sumie trudno powiedzieć, dlaczego większość osób stroni od statystyki, ale czuję, że wiele zagadnień statystycznych jest nie do końca intuicyjnych. Wystarczy sięgnąć po paradoks hazardzisty lub paradoks Monty’ego Halla. Ciekawa lektura, 🙂 Serio! Niezależnie …

Czytaj dalej

Development environment for machine learning

Środowisko programistyczne dla uczenia maszynowego

Jednym z pierwszych problemów, na jakie napotykają osoby studiujące uczenie maszynowe jest jak zbudować lokalne środowisko programistyczne dla uczenia maszynowego? Jest to o tyle niewdzięczne zagadnienie, że dostępnych jest wiele metod oraz narzędzi i czasami po prostu nie wiadomo, które wybrać i od czego zacząć. Do tego dochodzą kwestie wyboru bibliotek do instalacji, IDE oraz …

Czytaj dalej

Logistic Regression for binary classification

Regresja logistyczna do klasyfikacji binarnej

Dziś chciałbym zaprezentować Wam przykład zastosowania regresji logistycznej do klasyfikacji binarnej, a to wszystko z użyciem biblioteki Keras. Wiem, że to poprzednie zdanie nie brzmi zbyt zachęcająco 😉 , więc może zacznijmy od podstaw.  Uczenie maszynowe dzielimy na nadzorowane i nienadzorowane (i jeszcze na uczenie ze wzmocnieniem, ale pomińmy to obecnie). Uczenie nadzorowane to takie, …

Czytaj dalej

Handwriting digit recognition Keras MNIST

Rozpoznawanie pisma odręcznego

Rozpoznawanie kształtów, a w szczególności rozpoznawanie pisma odręcznego, to jeden z najwdzięczniejszych tematów dla każdego rozpoczynającego naukę AI. Powodów jest kilka, ale dwa najważniejsze to łatwość, z jaką możemy skorzystać z dobrze opracowanych gotowych zbiorów danych oraz możliwość wizualizacji tychże danych. Z niniejszego tutoriala dowiesz się między innymi: Rozpoznawanie pisma odręcznego – zbiór MNIST OK,  …

Czytaj dalej