Отказ от ответственности: содержание этого сообщения, включая изображения, взято из лекций 6 Jars от One Fourth Labs. Я несу полную ответственность за любые ошибки, которые могли возникнуть при воспроизведении.

ПРИМЕЧАНИЕ. В статье приводятся примеры, в основном из аспекта глубокого обучения.

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

В этой статье делается попытка разбить жаргон машинного обучения на шесть основных jar-файлов и кратко объяснить эти jar-файлы на очень высоком уровне. Каждый jar-файл в основном отвечает на некоторые вопросы о вашей системе машинного обучения, и мы также увидим эти вопросы.

Давайте рассмотрим их один за другим:

Что является топливом машинного обучения, откуда мы его берем и как его кормить ???

JAR №1: Данные: Начнем с очень известной поговорки, которая гласит: «В мире машинного обучения модель, у которой больше, побеждает». Вы можете назвать это топливом моделей машинного обучения. Это объем отточенных данных, который обеспечивает любую модель ее опыт, с которым она предсказывает. В современном цифровом мире у нас слишком много данных в виде изображения, текста, аудио, видео, речи назвать несколько. Хотя одним из важных аспектов является преобразование этих данных в числа, а затем вы используете его для улучшения работы вашей системы.

Источники данных также распределены между щедрыми поставщиками, такими как googleAI, data.gov.in, wiki data или платными услугами, через краудсорсинг, например amazon Mechanical turk, data turks, восьмерка и в противном случае вы сами оснащены программным обеспечением для создания данных для вашей модели, например, с помощью некоторых инструментов редактирования изображений для создания собственного набора данных для вывески.

Что вы делаете с этими данными ???

JAR №2: Задачи: Любая система машинного обучения создается для решения конкретной проблемы, которую мы можем назвать задачей. Скажем, например, ваша модель может обрабатывать изображение, чтобы идентифицировать людей на изображении, или ваша модель предсказывает действие, совершаемое во время щелчка по изображению, или может быть местом, где по нему щелкнули, или может даже быть количеством людей на изображении. ТАК, в основном, используя один и тот же набор данных, вы можете выполнять разные задачи.

Какова математическая формулировка задачи ???

JAR №3: модели: Это похоже на процессор систем машинного обучения. На очень высоком уровне любая модель машинного обучения с учителем «изучает базовую функцию, которая связывает входные данные с выходными данными», для неконтролируемой модели это будет «изучение базовых функций генератора». Вы можете более формально определить это как математическую формулировку задачи.

Это jars исследует и использует доступные варианты аппроксимационных функций, которые у нас есть вместе с нами.

Как узнать, какая модель лучше ???

JAR №4: функция потерь: теперь, когда у вас есть данные, задача и модель, вы бы хотели «использовать данные, чтобы усовершенствовать модель, чтобы выполнить поставленную задачу », и именно здесь вам понадобится функция A Loss. Это как указатели на дорогах, которые на самом деле помогают вам добраться до места назначения. В большинстве случаев вы найдете квадратичные потери ошибок, кросс-энтропийные потери или потери KL-дивергенции в качестве функций потерь, используемых в различных моделях.

Как определить параметры модели и математически сформулировать задачу ее идентификации ???

JAR № 5: алгоритмы обучения: вы на самом деле пытаетесь изучить основную функцию, и теперь у вас есть функция потерь, которая будет направлять вас, но как вы собираетесь достичь того и этого это то, к чему обращаются алгоритмы обучения. Вот несколько очень известных алгоритмов глубокого обучения: Gradient Descent и его варианты, Adagrad, RMSProp и Adam. Обратное распространение и обратное распространение во времени в RNN также являются подмножествами этих алгоритмов.

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

JAR №6: Оценка: Итак, теперь, когда мы так много работали, как бы вы количественно оценили производительность вашей системы. Насколько хорошо ваша модель решает вашу задачу? И здесь нам понадобится оценщик. Матрица для количественной оценки производительности. Некоторые из матриц золотого стандарта в этом отношении - это точность, точность и отзывчивость и оценка F1.

Если вы думаете, когда у нас уже есть функция потерь, зачем нам еще одна банка? Но не думаете ли вы, что более интерпретируемым является высказывание «точность моих моделей составляет 99,9% при правильной классификации кошек и собак», а не выражение «значение потерь моей модели составляет 2,09 при правильной классификации кошек и собак». И поэтому мы добавляем еще одну банку.

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