Най-добрите курсове за машинно обучение за 2019 г.

Със силни корени в статистиката машинното обучение се превръща в едно от най-интересните и бързо развиващи се области на компютърните науки, за които може да се работи. Има безкрайно предлагане на индустрии и приложения, за които може да се приложи машинно обучение, за да бъдат по-ефективни и интелигентни.

Чат ботове, филтриране на спам, показване на реклами, търсачки и откриване на измами са само няколко примера за това как моделите за машинно обучение са в основата на ежедневието. Машинното обучение е това, което ни позволява да намираме модели и да създаваме математически модели за неща, които понякога биха били невъзможни за хората.

За разлика от курсовете за научни данни, които съдържат теми като проучвателен анализ на данни, статистика, комуникация и техники за визуализация, курсовете за машинно обучение се фокусират върху преподаването само на алгоритмите за машинно обучение, как работят математически и как да ги използват на език на програмиране.

Сега е време да започнете Ето бърз резюме на първите пет курса за машинно обучение тази година.

TL; DR

Най-добрите пет курса за машинно обучение:

  1. Машинно обучение - Coursera
  2. Специализация на задълбоченото обучение - Coursera
  3. Машинно обучение с Python - Coursera
  4. Разширена специализация за машинно обучение - Coursera
  5. Машинно обучение - EdX

Какво прави наистина добър курс за машинно обучение?

След няколко години следвайки пейзажа на електронното обучение и се запишете на безброй курсове за машинно обучение от различни платформи, като Coursera, Edx, Udemy, Udacity и DataCamp, събрах най-добрите налични курсове за машинно обучение в момента.

Критерии

Всеки курс в списъка е обект на следните критерии.
Курсът трябва:

  • Стриктно се фокусирайте върху машинното обучение
  • Използвайте безплатни езици за програмиране с отворен код, а именно Python, R или Octave
  • Използвайте безплатни библиотеки с отворен код за тези езици. Някои инструктори и доставчици използват търговски пакети, така че тези курсове се премахват от разглеждане.
  • Съдържат задачи за програмиране за практика и практически опит
  • Обяснете как алгоритмите работят математически
  • Бъдете самостоятелни, по заявка или на разположение всеки месец или така
  • Имайте ангажиращи инструктори и интересни лекции
  • Имате над средните оценки и отзиви от различни агрегатори и форуми

С това цялостният пул от курсове се съкращава бързо, но целта е да ви помогнем да решите курс, който си струва вашето време и енергия.

За да се потопите и да научите ML възможно най-бързо и всеобхватно, вярвам, че трябва да търсите и различни книги в допълнение към вашето онлайн обучение. По-долу са две книги, които оказаха голямо влияние върху моя опит в обучението и остават на една ръка разстояние по всяко време.

Два отлични придружителя на книги

Освен да вземете някой от видео курсовете по-долу, ако сте сравнително нови в машинното обучение, трябва да разгледате следните книги:

  • Въведение в статистическото обучение, което е достъпно и за Безплатно онлайн.

Тази книга има невероятно ясни и ясни обяснения и примери, за да засили общата ви математическа интуиция за много от основните техники за машинно обучение. Тази книга е повече от теорията на нещата, но съдържа много упражнения и примери, използващи езика за програмиране на R.

  • Hands-on Machine Learning с Scikit-Learn и TensorFlow, достъпно и чрез абонамент на Safari

Добро допълнение към предишната книга, тъй като този текст се фокусира повече върху приложението на машинното обучение с помощта на Python. Заедно с някой от курсовете по-долу, тази книга ще подсили вашите умения по програмиране и ще ви покаже как да приложите машинно обучение към проекти незабавно.

Сега, нека да преминем към описанията и рецензиите на курса.

# 1 Машинно обучение - Coursera

Това е курсът, по който се оценяват всички други курсове за машинно обучение. Преподавателят и създател на този курс за начинаещи е Андрю Нг, професор от Станфорд, съосновател на Google Brain, съосновател на Coursera, и вицепрезидентът, който увеличи екипа на AI на Байду до хиляди учени.

Курсът използва езика за програмиране с отворен код Octave вместо Python или R за задачите. Това може да е прекъсвач на сделки за някои, но ако сте пълен начинаещ, Octave всъщност е прост начин да научите основите на ML.

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

Доставчик: Андрю Нг, Станфорд
Цена: Безплатен за одит, $ 79 за сертификат

Структура на курса:

  • Линейна регресия с една променлива
  • Преглед на линейна алгебра
  • Линейна регресия с множество променливи
  • Урок за Октав / Матлаб
  • Логистична регресия
  • Узаконяване
  • Невронни мрежи: представителство
  • Невронни мрежи: Учене
  • Съвети за прилагане на машинно обучение
  • Дизайн на системата за машинно обучение
  • Поддръжка на векторни машини
  • Намаляване на размерите
  • Откриване на аномалия
  • Препоръчителни системи
  • Машинно обучение с големи мащаби
  • Пример за приложение: Photo OCR

Всичко това е обхванато за единадесет седмици. Ако можете да се ангажирате да завършите целия курс, ще имате добри базови познания по машинно обучение след около четири месеца.

След това можете спокойно да преминете към по-напреднала или специализирана тема, като Deep Learning, ML Engineering или нещо друго, което предизвиква интереса ви.

Това несъмнено е най-добрият курс, с който да започнете като новодошъл.

# 2 Специализация за задълбочено обучение - Coursera

Също преподаван от Andrew Ng, тази специализация е по-напреднала серия от курсове за всеки, който се интересува от научаване на невронни мрежи и Deep Learning и как те решават много проблеми.

Задачите и лекциите във всеки курс използват езика за програмиране на Python и използват библиотеката TensorFlow за невронни мрежи. Естествено е чудесно проследяване на курса за машинно обучение на Ng, тъй като ще получите подобен стил на лекция, но сега ще бъдете изложени на използването на Python за машинно обучение.

Доставчик: Andrew Ng, deeplearning.ai
Цена: Безплатен за одит, $ 49 / месец за сертификат

курсове:

  1. Невронни мрежи и дълбоко обучение
  • Въведение в задълбоченото обучение
  • Основи на невронната мрежа
  • Плитки невронни мрежи
  • Дълбоки невронни мрежи

2. Подобряване на невронните мрежи: настройка на хиперпараметри, регулиране и оптимизация

  • Практически аспекти на задълбоченото обучение
  • Алгоритми за оптимизация
  • Настройка на хиперпараметър, рамки за нормализиране на партиди и програмиране

3. Структуриране на проекти за машинно обучение

  • ML стратегия (1)
  • ML стратегия (2)

4. Конволюционни невронни мрежи

  • Основи на конволюционните невронни мрежи
  • Дълбоки конволюционни модели: казуси
  • Откриване на обект
  • Специални приложения: Разпознаване на лица и невронно пренасяне на стил

5. Последователни модели

  • Повтарящи се невронни мрежи
  • Обработка на естествен език и вграждане на думи
  • Модели на последователност и механизъм за внимание

За да разберете алгоритмите, представени в този курс, вече трябва да сте запознати с линейна алгебра и машинно обучение като цяло. Ако имате нужда от предложения за това къде да вземете необходимата математика, вижте Ръководството за обучение към края на тази статия.

# 3 Машинно обучение с Python - Coursera

Друг начинаещ курс, този се фокусира единствено върху най-основните алгоритми за машинно обучение. Инструкторът, слайдовете за анимация и обяснението на алгоритмите се комбинират много добре, за да ви дадат интуитивно усещане за основите.

Този курс използва Python и е малко по-лек по математика зад алгоритмите. С всеки модул ще получите шанс да разгънете интерактивен ноутбук Jupyter във вашия браузър, за да работите чрез новите концепции, които току-що научихте. Всяка тетрадка подсилва вашите знания и ви дава конкретни инструкции за използване на алгоритъм върху реални данни.

Доставчик: IBM, когнитивен клас
Цена: Безплатен за одит, $ 39 / месец за сертификат

Структура на курса:

  • Въведение в машинното обучение
  • регресия
  • класификация
  • Групирането
  • Препоръчителни системи
  • Финален проект

Едно от най-добрите неща в този курс са практическите съвети, дадени за всеки алгоритъм. Когато бъде запознат с нов алгоритъм, инструкторът ви предоставя как работи, неговите плюсове и минуси и какви ситуации трябва да го използвате. Тези точки често остават извън други курсове и тази информация е важна за новите обучаващи се разбират по-широкия контекст.

# 4 Разширена специализация за машинно обучение - Coursera

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

Инструкцията в този курс е фантастична: изключително добре представена и сбита. Поради своето усъвършенствано естество, ще ви трябва повече математика от който и да е от другите изброени досега курсове. Ако вече сте преминали курс за начинаещи и сте се ориентирали към линейна алгебра и смятане, това е добър избор за попълване на останалата част от вашия опит за машинно обучение.

Голяма част от това, което е обхванато в тази специализация, е от решаващо значение за много проекти за машинно обучение.

Доставчик: Висше училище по икономика на Националния изследователски университет
Цена: Безплатен за одит, $ 49 / месец за сертификат

курсове:

  1. Въведение в задълбоченото обучение
  • Въведение в оптимизацията
  • Въведение в невронните мрежи
  • Дълбоко обучение за изображения
  • Неуправляемо обучение по представителство
  • Дие обучение за последователности
  • Финален проект

2. Как да спечелите състезания за наука за данни: Научете се от най-добрите Kagglers

  • Intro и Recap
  • Функционална обработка и генериране с уважение към моделите
  • Окончателно описание на проекта
  • Изследователски анализ на данните
  • утвърждаване
  • Изтичане на данни
  • Оптимизация на показателите
  • Разширена функция 1
  • Оптимизация на хиперпараметри
  • Разширена функция 2
  • Ensembling
  • Състезанията минават
  • Финален проект

3. Байесовски методи за машинно обучение

  • Въведение в байесовските методи и конюгатните приори
  • Алгоритъм на очакване-максимизация
  • Разпределение на вариации и латентно разпределение на Дирихлет (LDA)
  • Марковска верига Монте Карло
  • Променлив автоенкодер
  • Гаусски процеси и байесова оптимизация
  • Финален проект

4. Практическо обучение за подсилване

  • Въведение: Защо трябва да се грижа?
  • В основата на RL: Динамично програмиране
  • Методи без модели
  • Приблизителни методи, базирани на стойността
  • Методи, основани на политиката
  • проучване

5. Дълбоко обучение в компютърното зрение

  • Въведение в обработката на изображения и компютърното зрение
  • Конволюционни функции за визуално разпознаване
  • Откриване на обект
  • Проследяване на обекти и разпознаване на действия
  • Сегментиране и синтез на изображения

6. Обработка на естествен език

  • Въведение и класификация на текста
  • Езиково моделиране и маркиране на последователности
  • Векторни космически модели на семантика
  • Последователност към задачи за последователност
  • Диалогови системи

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

  • Въведение във физиката на частиците за учените от данни
  • Идентификация на частици
  • Търсете нова физика в редки разрушения
  • Потърсете съвети за тъмни въпроси с машинно обучение в експеримента на CERN
  • Оптимизация на детектори

Отнема около 8–10 месеца, за да завършите тази серия от курсове, така че ако започнете днес, след малко под една година ще научите огромно количество машинно обучение и ще можете да започнете да се справяте с по-модерни приложения.

През месеците ще създавате и няколко реални проекта, които водят до компютърно обучение как да четете, виждате и играете. Тези проекти ще бъдат чудесни кандидати за вашето портфолио и ще доведат до това GitHub да изглежда много активен за всички заинтересовани работодатели.

# 5 Машинно обучение - EdX

Това е напреднал курс, който има най-високата математическа предпоставка от всеки друг курс в този списък. Ще ви трябва много здраво разбиране на линейна алгебра, смятане, вероятност и програмиране. Курсът има интересни задачи за програмиране или в Python, или в Octave, но курсът не преподава нито един от езиците.

Една от най-големите разлики при този курс е отразяването на вероятностния подход към машинното обучение. Ако сте се интересували от четенето на учебник, като например Машинното обучение: Вероятна перспектива - която е една от най-препоръчителните книги за научни данни в програмите на Учителя - тогава този курс би бил фантастично допълнение.

Доставчик: Колумбия
Цена: Безплатен за одит, 300 долара за сертификат

Структура на курса:

  • Максимална оценка на вероятността, линейна регресия, най-малко квадрати
  • Регрес на хребета, вариация на пристрастия, правило на Байес, максимум последствие от извода
  • Най-близка класификация на съседите, Класификатори на Байес, Линейни класификатори, Персептрон
  • Логистична регресия, сближаване на Лаплас, методи на ядрото, Гаусски процеси
  • Максимален марж, поддържащи векторни машини (SVM), дървета, произволни гори, стимулиране
  • Клъстериране, K-средства, алгоритъм на EM, липсващи данни
  • Смеси от гауси, матрична факторизация
  • Негативна матрична факторизация, модели на латентни фактори, PCA и вариации
  • Маркови модели, Скрити Маркови модели
  • Модели на непрекъснато състояние-пространство, анализ на асоциацията
  • Избор на модел, Следващи стъпки

Голяма част от темите в учебната програма са обхванати в други курсове, насочени към начинаещи, но математиката не е напоена тук. Ако вече сте научили тези техники, желаете да навлизате по-задълбочено в математиката и искате да работите върху задачи за програмиране, които действително извличат някои от алгоритмите, тогава дайте на курса този курс.

Ръководство за обучение

След като видяхте препоръките за курса, ето едно кратко ръководство за вашето обучение за машинно обучение. Първо ще се докоснем до предпоставките за повечето курсове за машинно обучение.

Предпоставки за курса

По-напредналите курсове изискват следните знания, преди да започнат:

  • Линейна алгебра
  • вероятност
  • смятане
  • Програмиране

Това са основните компоненти, които могат да разберат как работи машинното обучение под капака. Много курсове за начинаещи обикновено изискват поне малко програмиране и запознаване с основите на линейната алгебра, като вектори, матрици и тяхната нотация.

Първият курс в този списък, машинно обучение от Andrew Ng, съдържа освежители за по-голямата част от математиката, от която ще се нуждаете, но ако не сте взели линейна алгебра преди, може да е трудно да научите машинно обучение и линейна алгебра едновременно време.

Ако трябва да измислите необходимата математика, проверете:

Бих препоръчал да научите Python, тъй като повечето от добрите курсове за ML използват Python. Ако вземете курса на Andrew Ng за машинно обучение, който използва Octave, трябва да научите Python или по време на курса или след, тъй като в крайна сметка ще ви е необходим. Освен това, друг голям Python ресурс е dataquest.io, който има куп безплатни уроци Python в интерактивната си среда на браузъра.

След като научите необходимите основни неща, можете да започнете да разбирате наистина как работят алгоритмите.

Основни алгоритми

Има основен набор от алгоритми в машинното обучение, с които всеки трябва да е запознат и да има опит с използването. Това са:

  • Линейна регресия
  • Логистична регресия
  • k-означава клъстериране
  • k-Най-близки съседи
  • Поддържащи векторни машини (SVM)
  • Дървета на решенията
  • Случайни гори
  • Наивен Байес

Това са основните неща, но има много, много повече. Курсовете, изброени по-горе, съдържат по същество всичко това с известна промяна. Разбирането как работят тези техники и кога да ги използвате ще бъде изключително важно при предприемане на нови проекти.

След основите някои по-модерни техники за учене ще бъдат:

  • ансамбли
  • Увеличаване
  • Намаляване на размерите
  • Укрепване на обучението
  • Невронни мрежи и дълбоко обучение

Това е само начало, но тези алгоритми обикновено са това, което виждате в най-интересните решения за машинно обучение и те са ефективни допълнения към вашата кутия с инструменти.

И точно като основните техники, с всеки нов инструмент, който научите, трябва да го превърнете в навик незабавно да го прилагате към проект, за да затвърдите разбирането си и да имате нещо, към което да се върнете, когато се нуждаете от опреснител.

Справяне с проект

Ученето чрез машинно обучение онлайн е предизвикателство и изключително полезно. Важно е да запомните, че това, че гледате видеоклипове и правите викторини, не означава, че наистина научавате материала. Ще научите още повече, ако имате страничен проект, върху който работите, който използва различни данни и има различни цели от самия курс.

Веднага щом започнете да изучавате основите, трябва да потърсите интересни данни, към които можете да приложите тези нови умения. Курсовете по-горе ще ви дадат някаква интуиция за това кога да приложите определени алгоритми и затова е добра практика незабавно да ги приложите в свой собствен проект.

Чрез опит и грешки, проучване и обратна връзка ще откриете как да експериментирате с различни техники, как да измервате резултатите и как да класифицирате или да правите прогнози. За малко вдъхновение какъв ML проект да вземете, вижте този списък с примери.

Проектите за справяне ви дават по-добро разбиране на пейзажа на машинното обучение на високо ниво и когато навлизате в по-усъвършенствани концепции, като Deep Learning, на практика има неограничен брой техники и методи за разбиране и работа.

Прочетете нови изследвания

Машинното обучение е бързо развиваща се област, в която ежедневно излизат нови техники и приложения. След като преминете основите, трябва да сте подготвени да работите чрез научни трудове по тема, която ви интересува.

Има няколко уебсайта, за да получавате известия за нови документи, отговарящи на критериите ви. Google Учен винаги е добро място за стартиране. Въведете ключови думи като „машинно обучение“ и „чуруликане“ или каквото друго ви интересува и натиснете малката връзка „Създаване на предупреждение“ отляво, за да получите имейли.

Направете си навик седмично да четете тези сигнали, да сканирате през документи, за да видите дали си струва да ги прочетете, и след това да се ангажирате да разберете какво се случва. Ако това е свързано с проект, над който работите, вижте дали можете да приложите техниките към вашия собствен проблем.

Обобщавайки

Машинното обучение е невероятно забавно и интересно за учене и експериментиране и се надявам, че сте намерили курс по-горе, който пасва на вашето собствено пътуване в това вълнуващо поле.

Машинното обучение съставлява един компонент на Data Science и ако също се интересувате от изучаване на статистика, визуализация, анализ на данни и други, не забравяйте да проверите най-добрите курсове за научни данни, което е ръководство, което следва подобен формат към този.

И накрая, ако имате въпроси или предложения, не се колебайте да ги оставите в коментарите по-долу.

Благодаря за четенето и забавно учене!

Първоначално публикуван в learnndatasci.com.