Последние два месяца я проходил иммерсивную программу по науке о данных в General Assembly (GA), спонсируемую Adobe. Когда я делаю паузу и размышляю, я понимаю, как многому я научился за очень короткий период времени. Я использовал различные библиотеки в Python для извлечения, исследования, предварительной обработки и моделирования различных типов данных. И мои любимые типы данных для анализа — это текстовые данные.

Когда мы слышим о науке о данных, мы в основном слышим об окончании ее процесса в конвейере, который включает анализ данных, моделирование и их интерпретацию. Не так много о начале, которое предполагает извлечение и предварительную обработку любых данных. Это, вероятно, самое важное (особенно в текстовых данных), потому что, во-первых, отсутствие данных означает отсутствие анализа или моделирования. Во-вторых, когда у вас есть данные, если они плохо обработаны, ничего хорошего из этого не выйдет. Как говорится — мусор на входе, мусор на выходе! Это делается не для того, чтобы уменьшить силу анализа или моделирования, а просто для того, чтобы представить все в перспективе.

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

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

Вот дорожная карта от GA

Обучение с учителем — это сценарий, в котором у вас есть входные данные (обычно называемые независимыми переменными или X), которыми вы управляете, чтобы измерить их влияние на некоторые выходные данные (обычно называемые предикторами, зависимыми переменными или Y), чтобы вы могли делать выводы, прогнозировать, или классифицировать результаты.

Говоря о выводах и прогнозах, можно представить себе сценарий, в котором, учитывая X, что такое Y. Например, учитывая размер моих долгов, количество счетов, за которые я несу ответственность, и средний возраст этих счетов, что мой кредитный рейтинг? С другой стороны, модели классификации будут выглядеть следующим образом: если я расплачусь со своими кредитными картами, повысится или понизится мой кредитный рейтинг?

Что касается моделей обучения без учителя, мы можем думать о них просто как о проблеме исследования или идентификации. Например, имея пять изображений собак, можем ли мы идентифицировать их как настоящих собак? Внимание здесь сосредоточено на том факте, что машина узнает о данных сама, практически без помощи. Обычно нам приходится настраивать что-то, что позволит машине учиться.

Можно много говорить о машинном обучении, но если кратко, то рассмотрим еще один важный аспект науки о данных — компромисс между смещением и дисперсией и разбивкой на поезд-тест.

Предвзятость — это когда у нас есть ограниченная информация о чем-то, но мы все же делаем выводы или прогнозы об этом. Например, можете ли вы предсказать чей-либо кредитный рейтинг, зная только его возраст и доход? Я так не думаю. Вот почему чем выше смещение, тем проще наша модель (или слишком проста) и тем меньше информации вы можете получить. Жаргон для этого сценария называется недообучением.

С другой стороны, дисперсия измеряет, насколько наши данные меняются с учетом объема анализа. Чем выше дисперсия, тем уже наш охват и тем меньше мы можем сделать вывод или предсказать новые случаи. Например, если вы сосредоточите свой анализ только на определенных функциях, вы освоите их. Но как только вам дадут новые, вы будете работать плохо. Предположим, вы обучаете беспилотный автомобиль обнаруживать людей на дороге и останавливаться при появлении человеческого препятствия. Ваша машина будет слишком хороша в этом, но если вы никогда не вводите новые препятствия, такие как знаки остановки, красные огни… она просто продолжит движение и врежется во что-нибудь. Жаргон для этого сценария называется переоснащением.

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

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

Я обязательно покопаюсь в этих темах, как только закончу программу. Для понимания того, как применять эти концепции, требуется больше математики и статистики, и мне повезло получить несколько хороших ресурсов, среди которых книги. Одна из них — «Введение в статистическое обучение» Даниэлы Виттен, Тревора Хасти, Гарета М. Джеймса и Роберта Тибширани, а другая — «Оружие математического разрушения» Кэти О’Нил. Если вы читали их, дайте мне знать, что вы думаете.

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