И чем это отличается от обычного программирования

Интересно, что такое машинное обучение? Как это работает? Может быть, вы начинающий инженер по машинному обучению, специалист по данным или просто кто-то заинтригован указанной темой? Эта статья предназначена для того, чтобы вы поняли, о чем идет речь.

В следующем разделе я представляюсь. Не стесняйтесь пропустить это и начать с Введения.

Кто я?

Я студент 2-го курса инженерного факультета по специальности "Биотехнология" в уважаемом университете Индии. С самого начала меня интересовали компьютерные науки.

Я изучил веб-разработку, когда был введен запрет, но вскоре понял, что разработка программного обеспечения в целом - не моя чашка чая.

Затем я наткнулся на прекрасную область науки о данных, которая представляет собой смесь математики и кода. Я полюбил эту сферу и купил курс у Удеми, чтобы начать свое обучение. Прошло совсем немного времени с тех пор, как я начал это путешествие, и да, я все еще учусь.

Как я попал в блог? Что ж, я видел, как мой преподаватель курса (привет Дэниелу) и & Кен Джи на YouTube говорили о ведении блогов и подчеркивали важность общения и обмена тем, что вы узнали. Я нашел ведение блога идеальным способом не только пересмотреть концепции, которые я недавно узнал, но и предоставить ресурс для сообщества.

Вступление

Вы когда-нибудь задумывались, как камера вашего смартфона определяет ваше лицо, когда вы нажимаете на селфи? Или как Spotify предлагает песни, которые вам нравятся? Насколько рекомендации Netflix соответствуют вашим интересам?

За всем этим стоит искусственный интеллект или ИИ, как многие любят его называть. И все эти технологии мы носим в карманах.

Приведенные выше примеры - лишь капля в море возможных приложений ИИ. Сумасшедший, правда?

ИИ - это способность, с помощью которой мы заставляем компьютеры думать и принимать разумные решения в зависимости от различных обстоятельств.

Важно понимать, что ИИ относится к очень широкой идее о том, что машины могут быть умными, а машинное обучение основано на идее, что машины могут улучшить свою производительность при выполнении задачи, приобретая опыт. Машинное обучение - это разновидность искусственного интеллекта (подробнее).

В этом посте я подробнее расскажу о машинном обучении. Если хочешь

Прежде чем мы углубимся, давайте взглянем на то, что на самом деле представляет собой программирование.

Некоторые базовые вещи

Я собираюсь сказать это прямо.

Компьютеры тупые.

Они понимают только нули и единицы. Им нужно явно указать, как что-то нужно сделать (то есть нам нужно проинструктировать компьютеры об этой задаче в очень конкретной манере).

В этом суть программирования.

Если мы посмотрим, как работают все технологии вокруг нас, с очень высокого уровня, все компьютерные приложения, которые мы используем, имеют 3 основных этапа:

  • Вход
  • Процесс
  • Выход

«Ввод» - это какое-то конкретное действие, выполняемое пользователем, на которое реагирует приложение. «Процесс» - это инструкции для компьютера, говорящие ему, как реагировать. «Вывод» - это шаг, на котором отображаются результаты.

Рассмотрим такой сценарий: когда вы просматриваете ленту Instagram, появляются новые сообщения. В этом случае входом является движение большого пальца. Лента на вашем дисплее, движущаяся вверх, и есть выход. И какая бы работа ни выполнялась на вашем телефоне, проходит этап обработки.

Программирование позволяет вам определить функцию, которая обрабатывает ввод и возвращает вывод. Мы (пользователь) передаем компьютеру ввод, мы говорим ему, как его обрабатывать, и он сообщает нам, каков был результат.

Приведу упрощенный пример. Рассмотрим компьютерную программу, которая сообщает вам, каков квадрат числа. Если мы дадим ему значение 4, программа оценит его квадрат как 4x4 (потому что это то, как мы его запрограммировали). Компьютер придет к окончательному ответу - 16.

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

Нам, людям, нравится программировать множество наших задач. Это позволяет им сократить расходы, быть более эффективными и быстрыми.

Чем отличается ML?

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

В случае традиционной программы машина знает, как сопоставить ввод с выводом.

Что делать, если мы не знаем, что это за функция сопоставления?

Именно на эту проблему решает машинное обучение. Если у вас есть обученный оценщик / модель машинного обучения, вы можете предсказать, каким будет результат, даже если вы не знаете, как он рассчитывается.

Но для этого вам нужно обучить модель, чтобы она могла изучать закономерности между данными (также как и обучение модели). Мы применяем алгоритм (причудливое название для набора шагов), чтобы наша машина обучалась.

Как машина учится?

Позвольте мне задать вам простой вопрос: если я поставлю перед вами яблоко и банан, как вы узнаете, какой из них какой?

Вы даже секунды не возьмете.

Причина в том, что мы с вами можем различать эти 2 фрукта, потому что в своей жизни мы видели много-много яблок и бананов.

Все было бы иначе, если бы вы были маленьким ребенком. Вы, вероятно, зададите себе следующие вопросы:

  • Какого цвета это? Красный или желтый?
  • Какая у него форма?

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

По сути, наш разум ассоциировал слово «яблоко» с красным и круглым, а «банан» с длинным желтым.

То, как машина «учится», похоже на то, как вы начали изучать разницу между яблоком и бананом в нашем примере.

Мы даем машине некоторый материал для изучения. Этот материал называется обучающими данными.

Мы показываем изображения яблока и говорим компьютеру: «Эй, это яблоко».

То же и с бананами.

Благодаря этому машина научится различать яблоки и бананы.

В конце, когда мы показали ему все фотографии (данные), которые у нас были, мы оцениваем, насколько хорошо наша машина обучалась, проверяя ее на тестовом наборе данных. Если результаты прогнозов окажутся на высоте, модель можно использовать!

Поздравляю! Ты сделал это! Это все основные вещи, которые вам нужно знать с точки зрения высокого уровня.

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

Если вы хотите узнать больше об искусственном интеллекте, пройдите бесплатный курс, предлагаемый Elements Of AI.

Следующая серия блогов будет основана на математике и работе с различными моделями машинного обучения (да, это будет слишком технически).

Свяжитесь со мной в LinkedIn, я буду рад услышать от вас!

Увидимся!