Компьютерное программирование

Какую самую шокирующую строку кода вы видели у опытного программиста?

Любит | Нелюбов | Ответы | Вид | 3503


Авром Финкельштейн разработчик программного обеспечения   
@ | Обновлено Right Now


Как это:

Пожалуйста, не говорите моему боссу об этом. Я все еще хочу получать деньги и продолжать жить.

TL; DR в конце. Для начала давайте разберемся, что означают эти слова.

Когда вы спрашиваете: «Как мне кодировать в […] искусственном интеллекте», вы говорите о действительно широком поле. Тем не менее, вы не обязательно кодировать в AI; скорее вы кодируете с использованием языка программирования (например, Python, C / C ++, Java, R, JS). То, что вы производите в результате этого, можно считать ИИ (или «интеллект, демонстрируемый машинами»).

Помимо всего прочего, если вы хотите больше узнать об искусственном интеллекте (в частности, о машинном обучении), одним из замечательных ресурсов являются курсы Эндрю Нга [1] (особенно курсы на Coursera [2] ). Существует также « Искусственный интеллект: современный подход» Питера Норвига и Стюарта Дж. Рассела [3], который больше исследует ИИ в целом - его идеи, концепции и историю.

Если вы хотите попробовать машинное обучение, рассмотрите возможность использования python, поскольку вам будет легче выучить концепции AI, ML и / или DL, не сталкиваясь с самим языком программирования. Существует множество учебников [4] , онлайн-курсов [5] , книг [6] и блогов [7] о том, как начать машинное обучение. Даже scikit-learn (библиотека ML) [8] в настоящее время имеет учебники [9] . Вы даже можете узнать больше о машинном обучении, используя некоторые из уже реализованных методов в scikit-learn; у них даже есть примеры!

В машинном обучении есть контролируемые, неконтролируемые и полууправляемые. Глубокое обучение - это подмножество машинного обучения, которое фокусируется на улучшении обучения… Хорошо. Это может быть ужасным объяснением, но много глубокого изучения связано с нейронными сетями - искусственными нейронными сетями, рекуррентными нейронными сетями и т. Д. Вы когда-нибудь хотели использовать сверточную нейронную сеть для идентификации кошек и собак на фотографиях? [10] Нет? Просто я? OK . А как насчет создания глубокого сверточного классификатора MNIST [11] , чтобы вы могли прочитать записи вашего доктора?

В какой-то момент вам, возможно, захочется узнать больше статистики, теории вероятностей, линейной алгебры (особенно матриц), дискретной математики и т. Д., Но вы можете изучать эти вещи постепенно, по мере их появления. Для статистики вы можете попробовать все статистические данные: краткий курс по статистическому выводу Ларри Вассермана [12] . Другие книги включают « Машинное обучение: вероятностная перспектива» [13] Кевина Мерфи и « Распознавание образов и машинное обучение» [14] Кристофера Бишопа. В конце дня убедитесь, что вы знаете разницу между байесами и байесами » [15] .

И последнее, я бы не сказал: «Я программирую в машинном обучении». Это все равно, что сказать: «Я вычисляю в геометрии». Люди поймут вас, и они будут смотреть на вас странно, особенно. если они осуждают. Я позволю этому сползти на этот раз, так как в какой-то момент я подумал, что нейронные сети - это куча операторов if, а наука о данных - просто прославленная статистика. JK. О первом.

Удачи!

TL; DR

Дорожная карта для машинного обучения

  • Часть 1: Почему машинное обучение имеет значение. Большая картина искусственного интеллекта и машинного обучения - прошлое, настоящее и будущее.
  • Часть 2.1: контролируемое обучение . Обучение с ключом ответа. Введение в линейную регрессию, функции потерь, переоснащение и градиентный спуск.
  • Часть 2.2: контролируемое обучение II . Два метода классификации: логистическая регрессия и SVM.
  • Часть 2.3: контролируемое обучение III . Непараметрические ученики: k-ближайшие соседи, деревья решений, случайные леса. Представляем перекрестную проверку, настройку гиперпараметров и модели ансамблей.
  • Часть 3: Обучение без учителя . Кластеризация: k-средних, иерархическая. Уменьшение размерности: анализ главных компонентов (PCA), разложение по сингулярным числам (SVD).
  • Часть 4: Нейронные сети и глубокое обучение . Почему, где и как работает глубокое обучение. Черпать вдохновение из мозга. Сверточные нейронные сети (CNN), рекуррентные нейронные сети (RNN). Реальные приложения.
  • Часть 5: Обучение усилению . Разведка и эксплуатация. Марковские процессы принятия решений. Q-обучение, изучение политики и глубокое обучение. Ценность обучения проблема.

Вышесказанное взято из статьи Вишала Майни «Машинное обучение для людей» . Просто следуйте дорожной карте. Вы будете кодировать в AI, ML и DL в кратчайшие сроки.

Отказ от ответственности: результаты могут отличаться.

Сноски

[1] Курсы - Эндрю Нг

[2] Машинное обучение | Coursera

[3] Искусственный интеллект: современный подход

[4] ujjwalkarn / Учебные пособия по машинному обучению

[5] Каждый курс по машинному обучению в интернете, ранжированный по вашим отзывам

[6] josephmisiti / awesome-machine-learning

[7] Руководство для начинающих по AI / ML - Машинное обучение для людей - Средний

[8] scikit-learn: машинное обучение на Python

[9] Учебные пособия по scikit-learn

[10] Понимание глубоких сверточных нейронных сетей с практическим примером использования в Tensorflow и Keras

[11] MNIST для начинающих ML | TensorFlow

[12] Вся статистика - краткий курс статистического вывода | Ларри Вассерман | прыгун

[13] Учебник машинного обучения

[14] Распознавание образов и машинное обучение | Кристофер Бишоп | прыгун

[15] Байесовская вероятность - Википедия

| |