Już od jakiegoś czasu nosiłem się z zamiarem przejścia z Tensorflow na PyTorch. Poziom skomplikowania, jaki osiągnął TF zaczął mi przeszkadzać, a tych, których uczyłem wręcz przerażał. Przejście na Pytorch było jedną z lepszych decyzji.
Continue readingPosts Tagged → machine learning
Grid vs Random search w scikit-learn – co powinieneś wiedzieć o doborze parametrów?
Co ma decydujący wpływ na efektywność w procesie klasyfikacji? Od razu nasuwa się odpowiedź algorytm, ale pamiętajmy nawet najlepszy/najmodniejszy algorytm nie zadziała bez skrupulatnie dobranych parametrów. Jak je dobierać, na co zwrócić uwagę oraz czy losowe przeszukiwanie przestrzeni jest lepsze od podejścia uczesanego wyczerpującego?
Must read – lista publikacji o sieciach konwolucyjnych 2016
Do wpisu zmotywowało mnie kilka osób z Instagram’a oraz Facebook’a, pytając o moją listę publikacji, które przeczytałem, czytam lub mam zamiar przeczytać. Chciałbym się z Wami podzielić tylko tymi, które przeczytałem w 2016 roku i które uważam za istotne i dobrze napisane.
Modele regresji liniowej szybko i łatwo z scikit learn
Rozmawiająć z osobami, które zawodowo wykorzystują metody analizy danych byłem zaskoczony jak wiele modeli predykcyjnych opartych jest na regresji liniowej. Jest to jedna z podstawowych technik w arsenale analityka, stosukowo prosta w implementacji oraz zrozumieniu, a jednak niezwykle efektywna i użyteczna. Dzięki bibliotece scikit-learn jesteśmy w stanie w kilku wierszach kodu python’a zaimplementować jej podstawowe rodzaje.
Continue readingSieć konwolucyjna do rozpoznawania ciągu cyfr część 2
Jest to druga część serii przedstawiającej sposób pracy z sieciami konwolucyjnymi (Conv Nets) z wykorzystaniem TensorFlow. Dokonamy w niej rozpoznania oraz klasyfikacji szeregu cyfr jednocześnie, co będzie wiązało się z kilkoma istotnymi zmianami w skrypcie w stosunku do poprzedniego wpisu. Stanowi to także dobry przykład do omówienia jednego z kluczowych elementów skutecznego uczenia czyli inicjalizacji wag w sieci.
Przetwarzanie obrazu z wykorzystaniem splotu funkcji
Osobom interesującym się sieciami neuronowymi pewnie nie jest obce pojęcie Convolutional Neural Network – konwolucyjnej sieci neuronowej (tak wiem po Polsku nie brzmi to tak ładnie). Głównym elementem tych sieci jest warstwa wykorzystująca matematyczną operację zwaną konwolucją lub splotem. W tym poście przedstawiam matematyczne podstawy oraz prezentuję mój sposób rozumienia tej operacji.
Continue readingInstalacja Tensorflow 0.9 CUDA 7.5 na ubuntu 16.04 i diabeł na ramieniu
Czy też tak macie? Diabeł siedzący na ramieniu szepcze wam do ucha „no weź zaktualizuj, przecież to zajmie chwilkę”. Tak właśnie zaczyna się historia instalacji biblioteki Tensorflow od Google pozwalająca na uczenie sieci neuronowych tzw. deep learning. Wszystko miało pójść gładko, jednak jej konfiguracja na ubuntu 16.04 jeszcze może przysporzyć wiele kłopotów.
MNIST i SVM klasyfikacja ręcznie pisanych cyfr
Klasyfikacja odręcznie pisanych cyfr z zbioru MNIST jest swojego rodzaju 'hello_world’ w dziedzinie uczenia maszynowego. Post ten prezentuje, w jaki sposób w Pythonie wczytać, wyświetlić oraz wykorzystać algorytm Support Vector Machines (SVM) do klasyfikacji obrazów przedstawiających ręcznie pisane cyfry.
Continue reading