Як розпочати машинне навчання?

Спроби створити машини, розумніші за людей, не є новими.

Однією з перших атак інформатики на людський «інтелект» була гра в шахи. Багато хто вважає шахи (або ми повинні сказати, були?) основним випробуванням людського інтелекту та креативності, і ще в 1960-70-х роках у інформатиці існували різні школи думки.

Одні вважали, що комп’ютери випередять людей у ​​грі в шахи – лише питання часу, а інші вірили, що цього ніколи не станеться.

Каспаров проти Deep Blue

Найсенсаційнішою подією в битві між людиною та машиною став шаховий матч 1996 року між тодішнім чемпіоном світу Гаррі Каспаровим (і, можливо, найкращим шахістом усіх часів) та Темно-синійсуперкомп’ютер, розроблений IBM для цієї події.

Кредит зображення: Вікіпедія

Коротше кажучи, Каспаров переконливо виграв матч 1996 року (4-2), але програв матч-реванш 1997 року (4,5-3,5) через багато суперечка і прямі звинувачення Каспарова в шахрайстві проти IBM.

Незважаючи на це, ера в шахах і інформатиці закінчилася. Комп’ютери були визнані розумнішими за будь-яку живу людину. IBM, задоволена помстою, розібрала Deep Blue і пішла далі.

Сьогодні жодному гросмейстеру неможливо перемогти будь-яку звичайну шахову машину, що працює на стандартному обладнанні.

Чим не є машинне навчання?

Перш ніж ми детальніше розглянемо машинне навчання, давайте розберемося з деякими неправильними уявленнями. Машинне навчання не є спробою відтворити людський мозок. Незважаючи на сенсаційні переконання таких людей, як Ілон Маск, дослідники інформатики стверджують, що вони не шукають це святе зерно і, звичайно, не десь близько до нього.

Простіше кажучи, машинне навчання — це практика застосування процесів навчання на прикладах до комп’ютерів. Це контрастує з традиційним підходом, згідно з яким людину-програміста продумують усі можливі сценарії та правила жорсткого кодування для них у системі.

Чесно кажучи, це приблизно те, що таке машинне навчання: передача тонн і тонн і тонн даних на комп’ютер, щоб він міг вчитися на прикладах (проба → помилка → порівняння → вдосконалення), а не покладатися на вихідний код.

Застосування машинного навчання

Отже, якщо машинне навчання не є чорною магією і не породжує термінаторів, для чого воно корисне?

  Виправте помилку ліцензії на захищений вміст Disney Plus

Машинне навчання допомагає в тих випадках, коли традиційне програмування не вдається, і ці випадки зазвичай належать до однієї з двох категорій.

Як випливає з назви, класифікація стосується правильного позначення речей, тоді як прогнозування має на меті виправити майбутні прогнози, враховуючи достатньо великий набір даних минулих значень.

Деякі цікаві програми машинного навчання:

Фільтрація спаму

Спам електронною поштою поширений, але спроби зупинити його можуть стати кошмаром. Як визначити спам? Це наявність конкретних ключових слів? А може так, як написано? Важко придумати вичерпний набір правил щодо програми.

Ось чому ми використовуємо машинне навчання. Ми показуємо системі мільйони спам-повідомлень і повідомлень, які не є спамом, і дозволяємо їй визначити решту. Це був секрет чудових спам-фільтрів Gmail, які вразили особисту електронну пошту на початку 2000-х!

Рекомендації

Усі великі компанії електронної комерції сьогодні мають потужні системи рекомендацій. Часом їхня здатність рекомендувати речі, які ми «можемо» вважати корисними, є неймовірно точною, незважаючи на те, що ми ніколи раніше не натискали цей елемент.

Випадковість? Зовсім ні!

Тут важко працює машинне навчання, поглинаючи терабайти за терабайтами даних і намагаючись передбачити наші мінливі настрої та вподобання.

Чат-боти

Ви зустрічали службу підтримки клієнтів першого рівня, яка здавалася дивно роботизованою, але вміла вести цікаву світську бесіду?

Ну, тоді машинне навчання вас пограбувало!

Навчання з розмов і визначення того, що говорити, коли – це майбутня та захоплююча сфера застосування чат-ботів.

Видалення бур’янів

У сільському господарстві роботи на базі машинного навчання використовуються для вибіркового обприскування бур’янів та інших небажаних рослин серед посівів.

Інакше це довелося б робити вручну, інакше було б марнотратно, оскільки система розбризкувала б продукт також згубною рідиною!

Голосова взаємодія з комп’ютерними системами більше не є науковою фантастикою. Сьогодні у нас є цифрові помічники, такі як Alexa, Siri та Google Home, які можуть отримувати команди усно й не зіпсувати (ну, майже!).

Хтось може заперечити, що цього винаходу краще уникати, оскільки він робить людство лінивішим, ніж будь-коли, але ви не можете сперечатися з ефективністю.

Медичний діагноз

Ми стоїмо на порозі революції в медичній діагностиці, оскільки системи, засновані на машинному навчанні, починають перевершувати досвідчених лікарів у діагностика через рентген тощо.

  Скільки коштує перевірка інформації?

Зауважте, що це не означає, що скоро лікарі будуть непотрібними, а те, що якість медичного обслуговування різко зросте, а витрати різко знизяться (якщо бізнес-картелі не викажуть іншого!).

Це лише приклад того, для чого використовується машинне навчання. Нині з’являються безпілотні автомобілі, боти для стратегічних ігор, машини для складання футболок, злам капчі та розфарбовування чорно-білих фотографій.

Типи машинного навчання

Методи машинного навчання бувають двох видів.

Контрольоване навчання, коли системою керує людське судження, і неконтрольоване навчання, коли система навчається сама. Іншим способом сказати те саме було б те, що в навчанні під керівництвом ми маємо набір даних, що містить як вхідні, так і очікувані результати, які система використовує для порівняння та самовиправлення. Однак у неконтрольованому навчанні немає вихідних даних, які можна було б порівняти, тому результати можуть сильно відрізнятися.

Захоплюючий і карколомний додаток неконтрольованого машинного навчання?

Це були б боти, які грають у настільні ігри, де програму навчають правилам гри та умовам перемоги, а потім залишають напризволяще. Потім програма грає проти себе в мільйони ігор, навчаючись на своїх помилках і зміцнюючи вигідні рішення.

Якщо ви користуєтеся досить потужним комп’ютером, найкращий у світі ігровий штучний інтелект можна створити за кілька годин!

Наступні зображення стисло ілюструють ці ідеї (джерело: Medium):

Ресурси для початку роботи з машинним навчанням

Отже, тепер, коли ви всі захопилися машинним навчанням і тим, як воно може допомогти вам підкорити світ, з чого почати?

Нижче я перерахував деякі фантастичні ресурси в Інтернеті, які можуть допомогти вам досягти вільного володіння машинним навчанням без отримання ступеня доктора філософії. з інформатики! Якщо ви не дослідник машинного навчання, ви знайдете область машинного навчання такою ж практичною та приємною, як програмування загалом.

Тож не хвилюйтеся, незалежно від того, який ваш поточний рівень, ви можете, як і хороша програма машинного навчання, навчатися самостійно та ставати кращими. 😛

#1. Програмування

Першою вимогою до машинного навчання є навчання програмуванню. Це тому, що системи машинного навчання мають форму бібліотек для різних мов програмування.

Python є найбільш рекомендованим, частково тому, що його неймовірно приємно вивчати, а частково тому, що він має величезну екосистему бібліотек і ресурсів.

  Як очистити та продезінфікувати Apple Watch

The офіційний Посібник для початківців — чудове місце для початку, навіть якщо ви трохи знайомі з Python. Або візьміть це Курс Bootcamp стати героєм з нуля.

#2. Think Stats

Коли ви закінчите з основами Python, моя друга рекомендація — прочитати дві видатні книги. Вони на 100% безкоштовні та доступні для завантаження у форматі PDF. Think Stats і Подумайте про Байєса це дві сучасні класики, які повинен запозичити кожен інженер машинного навчання.

#3. Udemy

На цьому етапі я б порекомендував вам пройти кілька курсів від Udemy. Інтерактивний, самостійний формат допоможе вам увійти в суть і зміцнити впевненість.

Переконайтеся, що ви ознайомилися з попереднім переглядом курсу, відгуками (особливо негативними!) і загальним враженням від курсу, перш ніж почати.

Ви також можете знайти чудові навчальні посібники на YouTube безкоштовно. Sentdex це один із таких каналів, який я можу порекомендувати, де завжди є купа веселощів, але його підхід не підходить для початківців.

#4. Андрій Нг

Курс викладає Ендрю Нг Coursera це, мабуть, найпопулярніший навчальний ресурс для основ машинного навчання.

Незважаючи на те, що в ньому використовується мова програмування R, він залишається неперевершеним у трактуванні теми та зрозумілих поясненнях. Завдяки цьому курсу Ендрю Нг досяг певного богоподібного статусу в колах МЛ, і люди дивляться на нього як на найвищу мудрість (я не жартую!).

Цей курс не для початківців, але якщо ви вже добре справляєтеся з обговоренням даних і не проти побічних досліджень під час проходження, цей курс є найкращою рекомендацією.

#5. Udacity

Станьте інженером машинного навчання, отримавши цей наноступінь Udacity.

Проходження та завершення курсу займе приблизно 3 місяці, очікується, що ви матимете чітке уявлення про алгоритми машинного навчання, про те, як моделювати та розгортати їх у виробництві.

Висновок

Ресурсам в Інтернеті немає кінця, і ви можете легко загубитися, починаючи. Більшість підручників і дискусій є складними з математичної точки зору або позбавлені структури, і вони можуть порушити вашу впевненість ще до того, як ви почнете.

Отже, я хотів би застерегти вас від самознищення: тримайте ціль скромною та рухайтеся мінімальними кроками. Машинне навчання – це не те, з чим ви можете освоїтися за день-два, але досить скоро ви почнете отримувати задоволення, і хто знає, можливо, навіть створите щось страшне!

весело провести час! 🙂