что приводит к недопущению в машинном обучении
Недообучение и переобучение в машинном интеллекте
Недообучение
Переобучение
Такие сети обучаются на больших данных, поэтому иногда объема данных может не хватить, чтобы одновременно хорошо настроить все параметры. В момент переобучения наблюдается ситуация, когда мы пытаемся определить оптимальные параметры модели, которые хорошо описывают наши данные, но потом на новых данных эта модель начинает часто ошибаться. Проблема переобучения часто встречается, и связана она с тем, что мы пытаемся сделать выбор по неполной информации. Наша выборка всегда не полностью описывает искомую зависимость, которую мы мечтаем построить, затем мы пытаемся зависимость по неполной информации, но это невозможно.
Как решить проблему переобучения
Распространить подход регуляризации с линейных моделей на общие классы моделей непросто, поэтому для этого используют байесовский подход, который связан с вводом априорного распределения вероятностей в пространстве параметров модели. Байесовский подход сложно воплотить, потому что априорное распределение надо откуда-то взять, а значит, необходимо примерно понимать тип зависимости, которую мы хотим восстановить.
Бустинг
Метод оказался настолько простым, что все ученые начали с ним экспериментировать и обнаружили, что в процессе строительства сотен и тысяч базовых алгоритмов качество решения задачи продолжает улучшаться не только на обучающей выборке, но и на тестовой. Это свойство шло вразрез с существовавшими на тот момент теориями, которые говорили, что сложные алгоритмические конструкции более склонны к переобучению, но с бустингом такого не происходило. Все начали искать объяснение этому свойству, и довольно быстро выяснилось, что когда мы не просто оптимизируем модель в пространстве параметров, а усредняем много моделей, то мы не переобучаемся, а только сглаживаем результат этих моделей.
Другое объяснение, которое удалось найти, утверждало, что каждую модель нужно рассматривать как новый признак. Когда мы строим базовые модели одну за другой, то мы конструируем новое признаковое пространство. Но в процессе обучения каждый из признаков становится полноценным алгоритмом, который пытается решать задачу. В итоге, строя новое пространство признаков, мы попадаем в такое пространство, где задача решается легко, и решается она линейным классификатором.
Эти объяснения дали свободу экспериментировать с очень сложными моделями, в которых огромное количество параметров, потому что появилась уверенность, что мы можем аккуратно настраивать это множество параметров и не переобучаться.
Еще одно объяснение простоты бустинга дает комбинаторная теория переобучения. Существует два свойства моделей, которые мы используем: расслоение и сходство. Есть модели, которые близко соответствуют сути задачи, но в параметрическом семействе их относительно немного. Мы никогда не пользуемся всем объемом того семейства функций, которое берем использовать для решения задачи. Работает только маленький кусочек всего объема, и в этом кусочке огромное количество функций, похожих друг на друга. Оказалось, что если в нашем огромном и многопараметрическом семействе есть удачные модели, они способны решить нашу задачу и среди них есть огромное количество похожих друг на друга, то эффект переобучения небольшой. Когда эффектов расслоения и сходства нет и мы пытаемся сделать выбор среди моделей, которые имеют одинаковый уровень ошибок, но при этом сильно отличаются друг от друга, то возникает ситуация переобучения экспериментатора.
Переобучение нейронных сетей
В конце важно сказать о переобучении нейронных сетей. Прежде всего, для этого процесса активно используют регуляризацию: из всего семейства моделей вычленяют маленький кусочек, который приспособлен для решения нашей задачи.
Ограничения машинного обучения
Привет, Хабр! Представляю вашему вниманию перевод статьи “The Limitations of Machine Learning“ автора Matthew Stewart.
Большинство людей, читающих эту статью, вероятно, знакомы с машинным обучением и соответствующими алгоритмами, используемыми для классификации или прогнозирования результатов на основе данных. Тем не менее, важно понимать, что машинное обучение не является решением всех проблем. Учитывая полезность машинного обучения, может быть трудно согласиться с тем, что иногда это не лучшее решение проблемы.
В наше время гипербола о машинном обучении и искусственном интеллекте повсеместна. Возможно, это правильно, учитывая, что потенциал для этой области огромен. За последние несколько лет число консалтинговых агентств по ИИ возросло, и, согласно отчету Indeed, количество рабочих мест, связанных с ИИ, увеличилось на 100% в период с 2015 по 2018 годы.
По состоянию на декабрь 2018 года Forbes обнаружил, что 47% бизнеса имеют по крайней мере одну возможность использования ИИ в своем бизнес-процессе, a в отчете Deloitte говорится, что уровень проникновения корпоративного программного обеспечения со встроенным ИИ и облачных сервисов разработки ИИ, достигнет примерно 87 и 83 процентов соответственно. Эти цифры впечатляют — если вы планируете сменить карьеру в ближайшее время, ИИ кажется неплохой областью.
Все кажется великолепным, верно? Компании счастливы, и, по-видимому, потребители тоже счастливы, иначе компании не использовали бы ИИ.
Это здорово, и я тоже большой поклонник машинного обучения и искусственного интеллекта. Однако бывают случаи, когда использование машинного обучения просто не нужно, не имеет смысла, и иногда, когда реализация может привести к трудностям.
Ограничение 1 – Этика
Легко понять, почему машинное обучение оказало такое глубокое влияние на мир, но что менее ясно, каковы именно его возможности и, что еще важнее, каковы его ограничения. Юваль Ной Харари, как известно, придумал термин «датаизм», который относится к предполагаемому новому этапу цивилизации, в который мы вступаем, когда мы доверяем алгоритмам и данным больше, чем собственному суждению и логике.
Хотя эта идея может показаться смешной, но помните, когда вы в последний раз ездили в отпуск и следовали инструкциям GPS, а не своим собственным суждениям о карте — ставите ли вы под сомнение оценку GPS? Люди буквально въезжали в озера, потому что слепо следовали инструкциям своего GPS.
Идея доверять данным и алгоритмам больше, чем мы думаем, имеет свои плюсы и минусы. Очевидно, мы извлекаем выгоду из этих алгоритмов, иначе мы бы не использовали их в первую очередь. Эти алгоритмы позволяют нам автоматизировать процессы, делая обоснованные суждения, используя доступные данные. Иногда, однако, это означает замену чьей-либо работы алгоритмом, который сопровождается этическими последствиями. Кроме того, кого мы обвиняем, если что-то пойдет не так?
Наиболее часто обсуждаемый случай в сегодняшнее время – это самоуправляемые автомобили: как мы решаем, как транспортное средство должно реагировать в случае фатального столкновения? Будет ли у нас в будущем возможность выбрать этические рамки при покупке, которым следовал бы наш самоуправляемый автомобиль?
Кто виноват, если моя самоуправляемая машина кого-то убьет на дороге?
Хотя это все увлекательные вопросы, они не являются главной целью этой статьи. Однако очевидно, что машинное обучение не может сказать нам ничего о том, какие нормативные ценности мы должны принимать, то есть как мы должны действовать в данной ситуации.
Ограничение 2 — Детерминированные проблемы
Это ограничение, с которым мне лично приходилось иметь дело. Моя область знаний — наука об окружающей среде, которая в значительной степени опирается на компьютерное моделирование и использование датчиков / устройств IoT.
Машинное обучение невероятно эффективно для датчиков и может использоваться для калибровки и корректировки датчиков при подключении к другим датчикам, измеряющим переменные среды, такие как температура, давление и влажность. Корреляции между сигналами от этих датчиков могут быть использованы для разработки процедур самокалибровки, и это горячая тема исследований в моей области исследований химии атмосферы.
Однако все становится немного интереснее, когда дело доходит до компьютерного моделирования.
Запуск компьютерных моделей, которые имитируют глобальную погоду, выбросы с планеты и перенос этих выбросов, очень затратные в вычислительном отношении. На самом деле, это настолько трудоемко в вычислительном отношении, что моделирование на уровне исследований может занять несколько недель даже при работе на суперкомпьютере.
Хорошими примерами этого являются MM5 и WRF, которые представляют собой численные модели прогнозирования погоды, которые используются для исследований климата и для предоставления вам прогнозов погоды в утренних новостях. Интересно, что синоптики делают весь день? Запустите и изучите эти модели.
Работать с моделями погоды — это хорошо, но теперь, когда у нас есть машинное обучение, можем ли мы использовать его вместо этого, чтобы получать наши прогнозы погоды? Можем ли мы использовать данные со спутников, метеостанций и использовать элементарный алгоритм прогнозирования, чтобы определить, пойдет ли дождь завтра?
Ответ, на удивление, да. Если у нас есть сведения о давлении воздуха вокруг определенного региона, уровнях влажности в воздухе, скорости ветра и информации о соседних точках и их собственных переменных, то становится возможным обучать, например, нейронную сеть. Но какой ценой?
Использование нейронной сети с тысячами входов позволяет определить, будет ли завтра дождь в Бостоне. Тем не менее, использование нейронной сети пропускает всю физику погодной системы.
Машинное обучение является стохастическим, а не детерминированным.
Нейронная сеть не понимает второй закон Ньютона, или что плотность не может быть отрицательной — нет никаких физических ограничений.
Однако это не может быть ограничением надолго. Уже есть ряд исследователей, которые рассматривают добавление физических ограничений к нейронным сетям и другим алгоритмам, чтобы их можно было использовать для таких целей, как эта.
Ограничение 3 – Данные
Это самое очевидное ограничение. Если вы плохо «кормите» модель, то это даст только плохие результаты. Это может проявляться двумя причинами: нехватка данных и нехватка достоверных данных. Если у вас таких проблем нет, то вы смело можете изучать обработку больших массивов данных на Телеграм-канале «Big Data Books», где публикуются различные книги и ресурсы по Big Data.
Недостаток данных
Многие алгоритмы машинного обучения требуют больших объемов данных, прежде чем они начнут давать полезные результаты. Хорошим примером этого является нейронная сеть. Нейронные сети – это data-eating машины, которые требуют большого количества обучающих данных. Чем больше архитектура, тем больше данных требуется для получения жизнеспособных результатов. Повторное использование данных — плохая идея, всегда предпочтительнее иметь больше данных.
Если вы можете получить данные, то используйте их.
Недостаток хороших данных
Несмотря на внешний вид, это не то же самое, что написано выше. Представим, что вы думаете, что можете обмануть, сгенерировав десять тысяч фальшивых точек данных для размещения в нейронной сети. Что происходит, когда вы вставляете это?
Он будет обучаться сам, а затем, когда вы придете, чтобы проверить его на новом наборе данных, он не будет работать хорошо. У вас были данные, но качество желает лучшего.
Точно так же, как недостаток хороших признаков может привести к плохой работе вашего алгоритма, так и недостаток хороших правдивых данных может также ограничить возможности вашей модели. Ни одна компания не собирается внедрять модель машинного обучения, которая работает хуже, чем ошибка человеческого уровня.
Точно так же применение модели, обученной на наборе данных в одной ситуации, может не обязательно применяться также хорошо и ко второй ситуации. Лучший пример этого, который я нашел до сих пор, — в прогнозировании рака молочной железы.
В базах данных маммографии много изображений, но у них есть одна серьезная проблемы, которая вызвала значительные проблемы в последние годы — почти все рентгеновские снимки сделаны у белых женщин. Это может показаться не таким уж большим делом, но на самом деле было показано, что темнокожие женщины на 42 процента чаще умирают от рака молочной железы из-за широкого спектра факторов, которые могут включать различия в выявлении и доступе к медицинской помощи. Таким образом, обучение алгоритму в первую очередь для белых женщин в этом случае отрицательно влияет на темнокожих женщин.
В этом конкретном случае требуется большее количество рентгеновских снимков темнокожих пациентов в базе данных обучения, больше признаков, относящихся к причине повышения вероятности на 42 процента, и чтобы алгоритм был более справедливым за счет стратификации набора данных вдоль соответствующих осей.
Ограничение 4 — Неправильное применение
Относительно второго ограничения, обсуждавшегося ранее, предполагается, что это «кризис машинного обучения в академических исследованиях», когда люди слепо используют машинное обучение, чтобы попытаться проанализировать системы, которые являются либо детерминированными, либо стохастическими по природе.
По причинам, обсуждаемым во втором ограничении, применение машинного обучения в детерминированных системах будет успешным, но алгоритм, который не изучает отношения между двумя переменными, и не будет знать, когда он нарушает физические законы. Мы просто дали некоторые входы и выходы в систему и сказали ей изучить отношения — подобно тому, как кто-то переводит слово в слово из словаря, алгоритм будет казаться только поверхностным пониманием основной физики.
Для стохастических (случайных) систем все немного менее очевидно. Кризис машинного обучения для случайных систем проявляется двумя способами:
Практические проблемы машинного обучения
Дата публикации 2013-11-23
В этом посте мы сначала рассмотрим некоторые хорошо известные и понятные примеры проблем машинного обучения в реальном мире. Затем мы рассмотрим таксономию (систему именования) для стандартных проблем машинного обучения и узнаем, как определить проблему как один из этих стандартных случаев. Это ценно, потому что знание типа проблемы, с которой мы сталкиваемся, позволяет нам думать о данных, которые нам нужны, и о типах алгоритмов, которые нужно попробовать.
10 примеров проблем машинного обучения
Проблем с машинным обучением предостаточно. Они составляют основные или сложные части программного обеспечения, которое вы используете в Интернете или на рабочем столе каждый день. Подумайте о предложениях «вы хотите следовать» в твиттере и понимании речи в Siri от Apple.
Ниже приведены 10 примеров машинного обучения, которые действительно обосновывают, что такое машинное обучение.
Эти 10 примеров дают хорошее представление о том, как выглядит проблема машинного обучения. Существует множество исторических примеров, есть решение, которое необходимо смоделировать, и бизнес или область выгодны для того, чтобы это решение смоделировалось и эффективно принималось автоматически.
Некоторые из этих проблем являются одними из самых сложных проблем в искусственном интеллекте, таких как обработка естественного языка и машинное зрение (делать вещи, которые люди делают легко). Другие по-прежнему трудны, но являются классическими примерами машинного обучения, такими как обнаружение спама и мошенничество с кредитными картами.
Подумайте о некоторых ваших взаимодействиях с онлайн и офлайн-программами за последнюю неделю. Я уверен, что вы могли бы легко догадаться о еще десяти или двадцати примерах машинного обучения, которые вы прямо или косвенно использовали
Типы проблем машинного обучения
Прочитав приведенный выше пример проблем с машинным обучением, я уверен, что вы сможете увидеть сходство. Это ценный навык, потому что умение выявлять суть проблемы позволит вам эффективно думать о том, какие данные вам нужны, и какие типы алгоритмов вам следует попробовать.
Есть общие классы проблем в машинном обучении. Классы проблем, приведенные ниже, являются архетипами для большинства проблем, к которым мы обращаемся, когдаделаМашинное обучение.
Ресурсы
Есть немного ресурсов, которые предоставляют списки реальных проблем машинного обучения. Они могут быть там, но я не могу их найти. Я все еще нашел несколько интересных ресурсов для вас:
Мы рассмотрели некоторые распространенные примеры реальных проблем машинного обучения и таксономию классов проблем машинного обучения. Теперь у нас есть некоторая уверенность, чтобы прокомментировать, является ли проблема проблемой машинного обучения или нет, и выбрать элементы из описания проблемы и определить, является ли это типом проблемы классификации, регрессии, кластеризации или извлечения правил.
Знаете ли вы о некоторых реальных проблемах машинного обучения? Оставьте комментарий и поделитесь своими мыслями.
Введение в машинное обучение
1.1 Введение
Благодаря машинному обучению программист не обязан писать инструкции, учитывающие все возможные проблемы и содержащие все решения. Вместо этого в компьютер (или отдельную программу) закладывают алгоритм самостоятельного нахождения решений путём комплексного использования статистических данных, из которых выводятся закономерности и на основе которых делаются прогнозы.
Технология машинного обучения на основе анализа данных берёт начало в 1950 году, когда начали разрабатывать первые программы для игры в шашки. За прошедшие десятилетий общий принцип не изменился. Зато благодаря взрывному росту вычислительных мощностей компьютеров многократно усложнились закономерности и прогнозы, создаваемые ими, и расширился круг проблем и задач, решаемых с использованием машинного обучения.
Чтобы запустить процесс машинного обучение, для начала необходимо загрузить в компьютер Датасет(некоторое количество исходных данных), на которых алгоритм будет учиться обрабатывать запросы. Например, могут быть фотографии собак и котов, на которых уже есть метки, обозначающие к кому они относятся. После процесса обучения, программа уже сама сможет распознавать собак и котов на новых изображениях без содержания меток. Процесс обучения продолжается и после выданных прогнозов, чем больше данных мы проанализировали программой, тем более точно она распознает нужные изображения.
Благодаря машинному обучению компьютеры учатся распознавать на фотографиях и рисунках не только лица, но и пейзажи, предметы, текст и цифры. Что касается текста, то и здесь не обойтись без машинного обучения: функция проверки грамматики сейчас присутствует в любом текстовом редакторе и даже в телефонах. Причем учитывается не только написание слов, но и контекст, оттенки смысла и другие тонкие лингвистические аспекты. Более того, уже существует программное обеспечение, способное без участия человека писать новостные статьи (на тему экономики и, к примеру, спорта).
1.2 Типы задач машинного обучения
Все задачи, решаемые с помощью ML, относятся к одной из следующих категорий.
1)Задача регрессии – прогноз на основе выборки объектов с различными признаками. На выходе должно получиться вещественное число (2, 35, 76.454 и др.), к примеру цена квартиры, стоимость ценной бумаги по прошествии полугода, ожидаемый доход магазина на следующий месяц, качество вина при слепом тестировании.
2)Задача классификации – получение категориального ответа на основе набора признаков. Имеет конечное количество ответов (как правило, в формате «да» или «нет»): есть ли на фотографии кот, является ли изображение человеческим лицом, болен ли пациент раком.
3)Задача кластеризации – распределение данных на группы: разделение всех клиентов мобильного оператора по уровню платёжеспособности, отнесение космических объектов к той или иной категории (планета, звёзда, чёрная дыра и т. п.).
4)Задача уменьшения размерности – сведение большого числа признаков к меньшему (обычно 2–3) для удобства их последующей визуализации (например, сжатие данных).
5)Задача выявления аномалий – отделение аномалий от стандартных случаев. На первый взгляд она совпадает с задачей классификации, но есть одно существенное отличие: аномалии – явление редкое, и обучающих примеров, на которых можно натаскать машинно обучающуюся модель на выявление таких объектов, либо исчезающе мало, либо просто нет, поэтому методы классификации здесь не работают. На практике такой задачей является, например, выявление мошеннических действий с банковскими картами.
1.3 Основные виды машинного обучения
Основная масса задач, решаемых при помощи методов машинного обучения, относится к двум разным видам: обучение с учителем (supervised learning) либо без него (unsupervised learning). Однако этим учителем вовсе не обязательно является сам программист, который стоит над компьютером и контролирует каждое действие в программе. «Учитель» в терминах машинного обучения – это само вмешательство человека в процесс обработки информации. В обоих видах обучения машине предоставляются исходные данные, которые ей предстоит проанализировать и найти закономерности. Различие лишь в том, что при обучении с учителем есть ряд гипотез, которые необходимо опровергнуть или подтвердить. Эту разницу легко понять на примерах.
Машинное обучение с учителем
Предположим, в нашем распоряжении оказались сведения о десяти тысячах московских квартир: площадь, этаж, район, наличие или отсутствие парковки у дома, расстояние от метро, цена квартиры и т. п. Нам необходимо создать модель, предсказывающую рыночную стоимость квартиры по её параметрам. Это идеальный пример машинного обучения с учителем: у нас есть исходные данные (количество квартир и их свойства, которые называются признаками) и готовый ответ по каждой из квартир – её стоимость. Программе предстоит решить задачу регрессии.
Ещё пример из практики: подтвердить или опровергнуть наличие рака у пациента, зная все его медицинские показатели. Выяснить, является ли входящее письмо спамом, проанализировав его текст. Это всё задачи на классификацию.
Машинное обучение без учителя
В случае обучения без учителя, когда готовых «правильных ответов» системе не предоставлено, всё обстоит ещё интереснее. Например, у нас есть информация о весе и росте какого-то количества людей, и эти данные нужно распределить по трём группам, для каждой из которых предстоит пошить рубашки подходящих размеров. Это задача кластеризации. В этом случае предстоит разделить все данные на 3 кластера (но, как правило, такого строгого и единственно возможного деления нет).
Если взять другую ситуацию, когда каждый из объектов в выборке обладает сотней различных признаков, то основной трудностью будет графическое отображение такой выборки. Поэтому количество признаков уменьшают до двух или трёх, и становится возможным визуализировать их на плоскости или в 3D. Это – задача уменьшения размерности.
1.4 Основные алгоритмы моделей машинного обучения
1. Дерево принятия решений
Это метод поддержки принятия решений, основанный на использовании древовидного графа: модели принятия решений, которая учитывает их потенциальные последствия (с расчётом вероятности наступления того или иного события), эффективность, ресурсозатратность.
Для бизнес-процессов это дерево складывается из минимального числа вопросов, предполагающих однозначный ответ — «да» или «нет». Последовательно дав ответы на все эти вопросы, мы приходим к правильному выбору. Методологические преимущества дерева принятия решений – в том, что оно структурирует и систематизирует проблему, а итоговое решение принимается на основе логических выводов.
2. Наивная байесовская классификация
Наивные байесовские классификаторы относятся к семейству простых вероятностных классификаторов и берут начало из теоремы Байеса, которая применительно к данному случаю рассматривает функции как независимые (это называется строгим, или наивным, предположением). На практике используется в следующих областях машинного обучения:
Всем, кто хоть немного изучал статистику, знакомо понятие линейной регрессии. К вариантам её реализации относятся и наименьшие квадраты. Обычно с помощью линейной регрессии решают задачи по подгонке прямой, которая проходит через множество точек. Вот как это делается с помощью метода наименьших квадратов: провести прямую, измерить расстояние от неё до каждой из точек (точки и линию соединяют вертикальными отрезками), получившуюся сумму перенести наверх. В результате та кривая, в которой сумма расстояний будет наименьшей, и есть искомая (эта линия пройдёт через точки с нормально распределённым отклонением от истинного значения).
Линейная функция обычно используется при подборе данных для машинного обучения, а метод наименьших квадратов – для сведения к минимуму погрешностей путем создания метрики ошибок.
4. Логистическая регрессия
Логистическая регрессия – это способ определения зависимости между переменными, одна из которых категориально зависима, а другие независимы. Для этого применяется логистическая функция (аккумулятивное логистическое распределение). Практическое значение логистической регрессии заключается в том, что она является мощным статистическим методом предсказания событий, который включает в себя одну или несколько независимых переменных. Это востребовано в следующих ситуациях:
Это целый набор алгоритмов, необходимых для решения задач на классификацию и регрессионный анализ. Исходя из того что объект, находящийся в N-мерном пространстве, относится к одному из двух классов, метод опорных векторов строит гиперплоскость с мерностью (N – 1), чтобы все объекты оказались в одной из двух групп. На бумаге это можно изобразить так: есть точки двух разных видов, и их можно линейно разделить. Кроме сепарации точек, данный метод генерирует гиперплоскость таким образом, чтобы она была максимально удалена от самой близкой точки каждой группы.
SVM и его модификации помогают решать такие сложные задачи машинного обучения, как сплайсинг ДНК, определение пола человека по фотографии, вывод рекламных баннеров на сайты.
Он базируется на алгоритмах машинного обучения, генерирующих множество классификаторов и разделяющих все объекты из вновь поступающих данных на основе их усреднения или итогов голосования. Изначально метод ансамблей был частным случаем байесовского усреднения, но затем усложнился и оброс дополнительными алгоритмами:
Кластеризация заключается в распределении множества объектов по категориям так, чтобы в каждой категории – кластере – оказались наиболее схожие между собой элементы.
Кластеризировать объекты можно по разным алгоритмам. Чаще всего используют следующие:
8. Метод главных компонент (PCA)
Метод главных компонент, или PCA, представляет собой статистическую операцию по ортогональному преобразованию, которая имеет своей целью перевод наблюдений за переменными, которые могут быть как-то взаимосвязаны между собой, в набор главных компонент – значений, которые линейно не коррелированы.
Практические задачи, в которых применяется PCA, – визуализация и большинство процедур сжатия, упрощения, минимизации данных для того, чтобы облегчить процесс обучения. Однако метод главных компонент не годится для ситуаций, когда исходные данные слабо упорядочены (то есть все компоненты метода характеризуются высокой дисперсией). Так что его применимость определяется тем, насколько хорошо изучена и описана предметная область.
9. Сингулярное разложение
В линейной алгебре сингулярное разложение, или SVD, определяется как разложение прямоугольной матрицы, состоящей из комплексных или вещественных чисел. Так, матрицу M размерностью [m*n] можно разложить таким образом, что M = UΣV, где U и V будут унитарными матрицами, а Σ – диагональной.
Одним из частных случаев сингулярного разложения является метод главных компонент. Самые первые технологии компьютерного зрения разрабатывались на основе SVD и PCA и работали следующим образом: вначале лица (или другие паттерны, которые предстояло найти) представляли в виде суммы базисных компонент, затем уменьшали их размерность, после чего производили их сопоставление с изображениями из выборки. Современные алгоритмы сингулярного разложения в машинном обучении, конечно, значительно сложнее и изощрённее, чем их предшественники, но суть их в целом нем изменилась.
10. Анализ независимых компонент (ICA)
Это один из статистических методов, который выявляет скрытые факторы, оказывающие влияние на случайные величины, сигналы и пр. ICA формирует порождающую модель для баз многофакторных данных. Переменные в модели содержат некоторые скрытые переменные, причем нет никакой информации о правилах их смешивания. Эти скрытые переменные являются независимыми компонентами выборки и считаются негауссовскими сигналами.
В отличие от анализа главных компонент, который связан с данным методом, анализ независимых компонент более эффективен, особенно в тех случаях, когда классические подходы оказываются бессильны. Он обнаруживает скрытые причины явлений и благодаря этому нашёл широкое применение в самых различных областях – от астрономии и медицины до распознавания речи, автоматического тестирования и анализа динамики финансовых показателей.
1.5 Примеры применения в реальной жизни
Пример 1. Диагностика заболеваний
Пациенты в данном случае являются объектами, а признаками – все наблюдающиеся у них симптомы, анамнез, результаты анализов, уже предпринятые лечебные меры (фактически вся история болезни, формализованная и разбитая на отдельные критерии). Некоторые признаки – пол, наличие или отсутствие головной боли, кашля, сыпи и иные – рассматриваются как бинарные. Оценка тяжести состояния (крайне тяжёлое, средней тяжести и др.) является порядковым признаком, а многие другие – количественными: объём лекарственного препарата, уровень гемоглобина в крови, показатели артериального давления и пульса, возраст, вес. Собрав информацию о состоянии пациента, содержащую много таких признаков, можно загрузить её в компьютер и с помощью программы, способной к машинному обучению, решить следующие задачи:
Пример 2. Поиск мест залегания полезных ископаемых
В роли признаков здесь выступают сведения, добытые при помощи геологической разведки: наличие на территории местности каких-либо пород (и это будет признаком бинарного типа), их физические и химические свойства (которые раскладываются на ряд количественных и качественных признаков).
Для обучающей выборки берутся 2 вида прецедентов: районы, где точно присутствуют месторождения полезных ископаемых, и районы с похожими характеристиками, где эти ископаемые не были обнаружены. Но добыча редких полезных ископаемых имеет свою специфику: во многих случаях количество признаков значительно превышает число объектов, и методы традиционной статистики плохо подходят для таких ситуаций. Поэтому при машинном обучении акцент делается на обнаружение закономерностей в уже собранном массиве данных. Для этого определяются небольшие и наиболее информативные совокупности признаков, которые максимально показательны для ответа на вопрос исследования – есть в указанной местности то или иное ископаемое или нет. Можно провести аналогию с медициной: у месторождений тоже можно выявить свои синдромы. Ценность применения машинного обучения в этой области заключается в том, что полученные результаты не только носят практический характер, но и представляют серьёзный научный интерес для геологов и геофизиков.
Пример 3. Оценка надёжности и платёжеспособности кандидатов на получение кредитов
С этой задачей ежедневно сталкиваются все банки, занимающиеся выдачей кредитов. Необходимость в автоматизации этого процесса назрела давно, ещё в 1960–1970-е годы, когда в США и других странах начался бум кредитных карт.
Лица, запрашивающие у банка заём, – это объекты, а вот признаки будут отличаться в зависимости от того, физическое это лицо или юридическое. Признаковое описание частного лица, претендующего на кредит, формируется на основе данных анкеты, которую оно заполняет. Затем анкета дополняется некоторыми другими сведениями о потенциальном клиенте, которые банк получает по своим каналам. Часть из них относятся к бинарным признакам (пол, наличие телефонного номера), другие — к порядковым (образование, должность), большинство же являются количественными (величина займа, общая сумма задолженностей по другим банкам, возраст, количество членов семьи, доход, трудовой стаж) или номинальными (имя, название фирмы-работодателя, профессия, адрес).
Для машинного обучения составляется выборка, в которую входят кредитополучатели, чья кредитная история известна. Все заёмщики делятся на классы, в простейшем случае их 2 – «хорошие» заёмщики и «плохие», и положительное решение о выдаче кредита принимается только в пользу «хороших».
Более сложный алгоритм машинного обучения, называемый кредитным скорингом, предусматривает начисление каждому заёмщику условных баллов за каждый признак, и решение о предоставлении кредита будет зависеть от суммы набранных баллов. Во время машинного обучения системы кредитного скоринга вначале назначают некоторое количество баллов каждому признаку, а затем определяют условия выдачи займа (срок, процентную ставку и остальные параметры, которые отражаются в кредитном договоре). Но существует также и другой алгоритм обучения системы – на основе прецедентов.