Новейшие методы анализа информации

1. Глубинный анализ (Data mining).

2. Нейронные сети (нейросети).

3. Big Data (Большие данные).

    Вопрос 1. Data mining (рус. добыча данных, интеллектуальный анализ данных, глубинный анализ данных) – собирательное название, используемое для обозначения совокупности методов обнаружения в данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности. Термин введён Григорием Пятецким-Шапиро в 1989 году.

    Английское словосочетание «data mining» пока не имеет устоявшегося перевода на русский язык. При передаче на русском языке используются следующие словосочетания: просев информации, добыча данных, извлечение данных, а также интеллектуальный анализ данных. Более полным и точным является словосочетание «обнаружение знаний в базах данных» (англ. knowledge discovery in databases, KDD).

    Основу методов data mining составляют всевозможные методы классификации, моделирования и прогнозирования, основанные на применении деревьев решений, искусственных нейронных сетей, генетических алгоритмов, эволюционного программирования, ассоциативной памяти, нечёткой логики. К методам data mining нередко относят статистические методы (дескриптивный анализ, корреляционный и регрессионный анализ, факторный анализ, дисперсионный анализ, компонентный анализ, дискриминантный анализ, анализ временных рядов, анализ выживаемости, анализ связей). Такие методы, однако, предполагают некоторые априорные представления об анализируемых данных, что несколько расходится с целями data mining (обнаружение ранее неизвестных нетривиальных и практически полезных знаний).

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

    Применение статистических методов анализа данных требует хорошего владения теорией вероятностей и математической статистикой.

    Методы data mining (или, что то же самое, knowledge discovery in data, сокращённо KDD) лежат на стыке баз данных, статистики и искусственного интеллекта.

    Исторический экскурс.

    Область data mining началась с семинара, проведённого Григорием Пятецким-Шапиро в 1989 году.

    Ранее, работая в компании GTE Labs, Григорий Пятецкий-Шапиро заинтересовался вопросом: можно ли автоматически находить определённые правила, чтобы ускорить некоторые запросы к крупным базам данных. Тогда же было предложено два термина – data mining («добыча данных»[9]) и knowledge discovery in data (который следует переводить как «открытие знаний в базах данных»).

    В 1993 году вышла первая рассылка «Knowledge Discovery Nuggets», а в 1994 году был создан один из первых сайтов по data mining.

    Постановка задачи.

    Первоначально задача ставится следующим образом:

· имеется достаточно крупная база данных;

· предполагается, что в базе данных находятся некие «скрытые знания».

    Необходимо разработать методы обнаружения знаний, скрытых в больших объёмах исходных «сырых» данных. В текущих условиях глобальной конкуренции именно найденные закономерности (знания) могут быть источником дополнительного конкурентного преимущества.

    Что означает «скрытые знания»? Это должны быть обязательно знания:

· ранее неизвестные – то есть такие знания, которые должны быть новыми (а не подтверждающими какие-то ранее полученные сведения);

· нетривиальные – то есть такие, которые нельзя просто так увидеть (при непосредственном визуальном анализе данных или при вычислении простых статистических характеристик);

· практически полезные – то есть такие знания, которые представляют ценность для исследователя или потребителя;

· доступные для интерпретации – то есть такие знания, которые легко представить в наглядной для пользователя форме и легко объяснить в терминах предметной области.

    Эти требования во многом определяют суть методов data mining и то, в каком виде и в каком соотношении в технологии data mining используются системы управления базами данных, статистические методы анализа и методы искусственного интеллекта.

    Data mining и базы данных.

    Методы data mining могут быть применены как для работы с большими данными, так и для обработки сравнительно малых объемов данных (полученных, например, по результатам отдельных экспериментов, либо при анализе данных о деятельности компании. В качестве критерия достаточного количества данных рассматривается как область исследования, так и применяемый алгоритм анализа.

    Развитие технологий баз данных сначала привело к созданию специализированного языка – языка запросов к базам данных. Для реляционных баз данных – это язык SQL, который предоставил широкие возможности для создания, изменения и извлечения хранимых данных. Затем возникла необходимость в получении аналитической информации (например, информации о деятельности предприятия за определённый период), и тут оказалось, что традиционные реляционные базы данных, хорошо приспособленные, например, для ведения оперативного учёта на предприятии, плохо приспособлены для проведения анализа. Это привело, в свою очередь, к созданию т. н. «хранилищ данных», сама структура которых наилучшим способом соответствует проведению всестороннего математического анализа.

    Data mining и искусственный интеллект.

    Знания, добываемые методами data mining, принято представлять в виде закономерностей (паттернов). В качестве таких выступают:

· ассоциативные правила;

· деревья решений;

· кластеры;

· математические функции.

    Алгоритмы поиска таких закономерностей находятся на пересечении областей: Искусственный интеллект, Математическая статистика, Математическое программирование, Визуализация, OLAP.

    Задачи.

    Задачи, решаемые методами data mining, принято разделять на описательные (англ. descriptive) и предсказательные (англ. predictive).

    В описательных задачах самое главное – это дать наглядное описание имеющихся скрытых закономерностей, в то время как в предсказательных задачах на первом плане стоит вопрос о предсказании для тех случаев, для которых данных ещё нет.

    К описательным задачам относятся:

· поиск ассоциативных правил или паттернов (образцов);

· группировка объектов, кластерный анализ;

· построение регрессионной модели.

К предсказательным задачам относятся:

· классификация объектов (для заранее заданных классов);

· регрессионный анализ, анализ временны́х рядов.

Алгоритмы обучения

    Для задач классификации характерно «обучение с учителем», при котором построение (обучение) модели производится по выборке, содержащей входные и выходные векторы.

    Для задач кластеризации и ассоциации применяется «обучение без учителя», при котором построение модели производится по выборке, в которой нет выходного параметра. Значение выходного параметра («относится к кластеру …», «похож на вектор …») подбирается автоматически в процессе обучения.

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

    Этапы обучения.

Ряд этапов решения задач методами data mining:

1. Постановка задачи анализа;

2. Сбор данных;

3. Подготовка данных (фильтрация, дополнение, кодирование);

4. Выбор модели (алгоритма анализа данных);

5. Подбор параметров модели и алгоритма обучения;

6. Обучение модели (автоматический поиск остальных параметров модели);

7. Анализ качества обучения, если неудовлетворительный переход на п. 5 или п. 4;

8. Анализ выявленных закономерностей, если неудовлетворительный переход на п. 1, 4 или 5.

    Подготовка данных.

    Перед использованием алгоритмов data mining необходимо произвести подготовку набора анализируемых данных. Так как ИАД может обнаружить только присутствующие в данных закономерности, исходные данные с одной стороны должны иметь достаточный объём, чтобы эти закономерности в них присутствовали, а с другой – быть достаточно компактными, чтобы анализ занял приемлемое время. Чаще всего в качестве исходных данных выступают хранилища или витрины данных. Подготовка необходима для анализа многомерных данных до кластеризации или интеллектуального анализа данных.

    Далее данные фильтруются. Фильтрация удаляет выборки с шумами и пропущенными данными.

    Отфильтрованные данные сводятся к наборам признаков (или векторам, если алгоритм может работать только с векторами фиксированной размерности), один набор признаков на наблюдение. Набор признаков формируется в соответствии с гипотезами о том, какие признаки сырых данных имеют высокую прогнозную силу в расчете на требуемую вычислительную мощность для обработки. Например, черно-белое изображение лица размером 100×100 пикселей содержит 10 тыс. бит сырых данных. Они могут быть преобразованы в вектор признаков путём обнаружения в изображении глаз и рта. В итоге происходит уменьшение объёма данных с 10 тыс. бит до списка кодов положения, значительно уменьшая объём анализируемых данных, а значит и время анализа.

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

    Выбор целевой функции будет зависеть от того, что является целью анализа; выбор «правильной» функции имеет основополагающее значение для успешного интеллектуального анализа данных.

    Наблюдения делятся на две категории – обучающий набор и тестовый набор. Обучающий набор используется для «обучения» алгоритма data mining, а тестовый набор – для проверки найденных закономерностей.

    Вопрос 2. Нейронная сеть(также искусственная нейронная сеть, ИНС) – математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей – сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге, и при попытке смоделировать эти процессы. Первой такой попыткой были нейронные сети У. Маккалока и У. Питтса. После разработки алгоритмов обучения получаемые модели стали использовать в практических целях: в задачах прогнозирования, для распознавания образов, в задачах управления и др.

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

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

· С математической точки зрения, обучение нейронных сетей – это многопараметрическая задача нелинейной оптимизации.

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

· С точки зрения развития вычислительной техники и программирования, нейронная сеть – способ решения проблемы эффективного параллелизма.

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

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

    Хронология:

· 1943 – У. Маккалок и У. Питтс формализуют понятие нейронной сети в фундаментальной статье о логическом исчислении идей и нервной активности. В начале своего сотрудничества с Питтсом Н. Винер предлагает ему вакуумные лампы в качестве идеального на тот момент средства для реализации эквивалентов нейронных сетей.

· 1948 – опубликована книга Н. Винера о кибернетике. Основной идеей является представление сложных биологических процессов математическими моделями.

· 1949 – Д. Хебб предлагает первый алгоритм обучения.

· В 1958 Ф. Розенблатт изобретает однослойный перцептрон и демонстрирует его способность решать задачи классификации[5]. Перцептрон обрёл популярность – его используют для распознавания образов, прогнозирования погоды и т. д.; в то время казалось, что уже не за горами создание полноценного искусственного интеллекта. К моменту изобретения перцептрона завершилось расхождение теоретических работ Маккалока с т. н. «кибернетикой» Винера; Маккалок и его последователи вышли из состава «Кибернетического клуба».

· В 1960 году Бернард Уидроу совместно со своим студентом Хоффом на основе дельта-правила (формулы Уидроу) разработали Адалин, который сразу начал использоваться для задач предсказания и адаптивного управления. Адалин был построен на базе созданных ими же (Уидроу – Хоффом) принципиально новых элементах – мемисторах. Сейчас Адалин (адаптивный сумматор) является стандартным элементом многих систем обработки сигналов.

· В 1963 году в Институте проблем передачи информации АН СССР. А. П. Петровым проводится подробное исследование задач «трудных» для перцептрона. Эта пионерская работа в области моделирования ИНС в СССР послужила отправной точкой для комплекса идей М. М. Бонгарда – как «сравнительно небольшой переделкой алгоритма (перцептрона) исправить его недостатки». Работы А. П. Петрова и М. М. Бонгарда весьма способствовали тому, что в СССР первая волна эйфории по поводу ИНС была сглажена.

· В 1969 году М. Минский публикует формальное доказательство ограниченности перцептрона и показывает, что он неспособен решать некоторые задачи (проблема «чётности» и «один в блоке»), связанные с инвариантностью представлений. Интерес к нейронным сетям резко спадает.

· В 1972 году Т. Кохонен и Дж. Андерсон независимо предлагают новый тип нейронных сетей, способных функционировать в качестве памяти[10].

· В 1973 году Б. В. Хакимов предлагает нелинейную модель с синапсами на основе сплайнов и внедряет её для решения задач в медицине, геологии, экологии.

· 1974 – Пол Дж. Вербос и А. И. Галушкин одновременно изобретают алгоритм обратного распространения ошибки для обучения многослойных перцептронов. Изобретение не привлекло особого внимания.

· 1975 – Фукусима представляет когнитрон – самоорганизующуюся сеть, предназначенную для инвариантного распознавания образов, но это достигается только при помощи запоминания практически всех состояний образа.

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

· 1986 – Дэвидом И. Румельхартом, Дж. Е. Хинтоном и Рональдом Дж. Вильямсом и независимо и одновременно С. И. Барцевым и В. А. Охониным (Красноярская группа) переоткрыт и существенно развит метод обратного распространения ошибки. Начался взрыв интереса к обучаемым нейронным сетям.

· 2007 – Джеффри Хинтоном в университете Торонто созданы алгоритмы глубокого обучения многослойных нейронных сетей. Успех обусловлен тем, что Хинтон при обучении нижних слоев сети использовал ограниченную машину Больцмана (RBM – Restricted Boltzmann Machine). Глубокое обучение по Хинтону – это очень медленный процесс. Необходимо использовать много примеров распознаваемых образов (например, множество лиц людей на разных фонах). После обучения получается готовое быстро работающее приложение, способное решать конкретную задачу (например, осуществлять поиск лиц на изображении). Функция поиска лиц людей на сегодняшний день стала стандартной и встроена во все современные цифровые фотоаппараты. Технология глубокого обучения активно используется интернет-поисковиками при классификации картинок по содержащимся в них образам. Применяемые при распознавании нейронные сети могут иметь до 9 слоёв нейронов, их обучение ведётся на миллионах изображений с отыскиваемым образом.

    Известные применения.

    Распознавание образов и классификация.

    В качестве образов могут выступать различные по своей природе объекты: символы текста, изображения, образцы звуков и т. д. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Образец, как правило, представляется как вектор значений признаков. При этом совокупность всех признаков должна однозначно определять класс, к которому относится образец. В случае, если признаков недостаточно, сеть может соотнести один и тот же образец с несколькими классами, что неверно. По окончании обучения сети ей можно предъявлять неизвестные ранее образы и получать ответ о принадлежности к определённому классу.

    Топология такой сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он представляет. Когда сети предъявляется некий образ, на одном из её выходов должен появиться признак того, что образ принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не принадлежит[17]. Если на двух или более выходах есть признак принадлежности к классу, считается, что сеть «не уверена» в своём ответе.

    Используемые архитектуры нейросетей:

· Обучение с учителем:

o Перцептрон

o Сверточные нейронные сети

· Обучение без учителя:

o Сети адаптивного резонанса

· Смешанное обучение:

o Сеть радиально-базисных функций

    Принятие решений и управление.

    Эта задача близка к задаче классификации. Классификации подлежат ситуации, характеристики которых поступают на вход нейронной сети. На выходе сети при этом должен появиться признак решения, которое она приняла. При этом в качестве входных сигналов используются различные критерии описания состояния управляемой системы[18].

    Сбор данных для обучения.

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

· Репрезентативность – данные должны иллюстрировать истинное положение вещей в предметной области;

· Непротиворечивость – противоречивые данные в обучающей выборке приведут к плохому качеству обучения сети.

    Исходные данные преобразуются к виду, в котором их можно подать на входы сети. Каждая запись в файле данных называется обучающей парой или обучающим вектором. Обучающий вектор содержит по одному значению на каждый вход сети и, в зависимости от типа обучения (с учителем или без), по одному значению для каждого выхода сети. Обучение сети на «сыром» наборе, как правило, не даёт качественных результатов. Существует ряд способов улучшить «восприятие» сети.

· Нормировка выполняется, когда на различные входы подаются данные разной размерности. Например, на первый вход сети подаются величины со значениями от нуля до единицы, а на второй – от ста до тысячи. При отсутствии нормировки значения на втором входе будут всегда оказывать существенно большее влияние на выход сети, чем значения на первом входе. При нормировке размерности всех входных и выходных данных сводятся воедино;

· Квантование выполняется над непрерывными величинами, для которых выделяется конечный набор дискретных значений. Например, квантование используют для задания частот звуковых сигналов при распознавании речи;

· Фильтрация выполняется для «зашумленных» данных.

    Кроме того, большую роль играет само представление как входных, так и выходных данных. Предположим, сеть обучается распознаванию букв на изображениях и имеет один числовой выход – номер буквы в алфавите. В этом случае сеть получит ложное представление о том, что буквы с номерами 1 и 2 более похожи, чем буквы с номерами 1 и 3, что, в общем, неверно. Для того, чтобы избежать такой ситуации, используют топологию сети с большим числом выходов, когда каждый выход имеет свой смысл. Чем больше выходов в сети, тем большее расстояние между классами и тем сложнее их спутать.

    Выбор топологии сети.

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

    Экспериментальный подбор характеристик сети.

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

    Экспериментальный подбор параметров обучения.

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

    Обучение сети.

         В процессе обучения сеть в определённом порядке просматривает обучающую выборку. Порядок просмотра может быть последовательным, случайным и т. д. Некоторые сети, обучающиеся без учителя (например, сети Хопфилда), просматривают выборку только один раз. Другие (например, сети Кохонена), а также сети, обучающиеся с учителем, просматривают выборку множество раз, при этом один полный проход по выборке называется эпохой обучения. При обучении с учителем набор исходных данных делят на две части – собственно обучающую выборку и тестовые данные; принцип разделения может быть произвольным. Обучающие данные подаются сети для обучения, а проверочные используются для расчета ошибки сети (проверочные данные никогда для обучения сети не применяются). Таким образом, если на проверочных данных ошибка уменьшается, то сеть действительно выполняет обобщение. Если ошибка на обучающих данных продолжает уменьшаться, а ошибка на тестовых данных увеличивается, значит, сеть перестала выполнять обобщение и просто «запоминает» обучающие данные. Это явление называется переобучением сети или оверфиттингом. В таких случаях обучение обычно прекращают. В процессе обучения могут проявиться другие проблемы, такие как паралич или попадание сети в локальный минимум поверхности ошибок. Невозможно заранее предсказать проявление той или иной проблемы, равно как и дать однозначные рекомендации к их разрешению.

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

    Проверка адекватности обучения.

    Даже в случае успешного, на первый взгляд, обучения сеть не всегда обучается именно тому, чего от неё хотел создатель. Известен случай, когда сеть обучалась распознаванию изображений танков по фотографиям, однако позднее выяснилось, что все танки были сфотографированы на одном и том же фоне. В результате сеть «научилась» распознавать этот тип ландшафта, вместо того, чтобы «научиться» распознавать танки. Таким образом, сеть «понимает» не то, что от неё требовалось, а то, что проще всего обобщить.

    Тестирование качества обучения нейросети необходимо проводить на примерах, которые не участвовали в её обучении. При этом число тестовых примеров должно быть тем больше, чем выше качество обучения. Если ошибки нейронной сети имеют вероятность близкую к одной миллиардной, то и для подтверждения этой вероятности нужен миллиард тестовых примеров. Получается, что тестирование хорошо обученных нейронных сетей становится очень трудной задачей.

    Классификация по типу входной информации.

· Аналоговые нейронные сети (используют информацию в форме действительных чисел);

· Двоичные нейронные сети (оперируют с информацией, представленной в двоичном виде);

· Образные нейронные сети (оперируют с информацией, представленной в виде образов: знаков, иероглифов, символов).

    Классификация по характеру обучения.

· Обучение с учителем – выходное пространство решений нейронной сети известно;

· Обучение без учителя – нейронная сеть формирует выходное пространство решений только на основе входных воздействий. Такие сети называют самоорганизующимися;

· Обучение с подкреплением – система назначения штрафов и поощрений от среды.

    Нейронные сети прямого распространения.

    В нейронных сетях прямого распространения (англ. feedforward neural network) все связи направлены строго от входных нейронов к выходным. Примерами таких сетей являются перцептрон Розенблатта, многослойный перцептрон, сети Ворда.

    Рекуррентные нейронные сети.

    Сигнал с выходных нейронов или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя (обратная связь). Рекуррентная сеть Хопфилда «фильтрует» входные данные, возвращаясь к устойчивому состоянию и, таким образом, позволяет решать задачи компрессии данных и построения ассоциативной памяти[22]. Частным случаем рекуррентных сетей являются двунаправленные сети. В таких сетях между слоями существуют связи как в направлении от входного слоя к выходному, так и в обратном. Классическим примером является Нейронная сеть Коско.

    Самоорганизующаяся карта Кохонена.

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

    Сигнал в сеть Кохонена поступает сразу на все нейроны, веса соответствующих синапсов интерпретируются как координаты положения узла, и выходной сигнал формируется по принципу «победитель забирает всё» – то есть ненулевой выходной сигнал имеет нейрон, ближайший (в смысле весов синапсов) к подаваемому на вход объекту. В процессе обучения веса синапсов настраиваются таким образом, чтобы узлы решетки «располагались» в местах локальных сгущений данных, то есть описывали кластерную структуру облака данных, с другой стороны, связи между нейронами соответствуют отношениям соседства между соответствующими кластерами в пространстве признаков.

    Удобно рассматривать такие карты как двумерные сетки узлов, размещенных в многомерном пространстве. Изначально самоорганизующаяся карта представляет собой сетку из узлов, соединенную между собой связями. Кохонен рассматривал два варианта соединения узлов – в прямоугольную и гексагональную сетку – отличие состоит в том, что в прямоугольной сетке каждый узел соединён с 4 соседними, а в гексагональной – с шестью ближайшими узлами. Для двух таких сеток процесс построения сети Кохонена отличается лишь в том месте, где перебираются ближайшие к данному узлу соседи.

    Известные типы сетей.

· Перцептрон Розенблатта;

· Сплайн-модель Хакимова;

· Многослойный перцептрон Розенблатта;

· Многослойный перцептрон Румельхарта;

· Сеть Джордана;

· Сеть Элмана;

· Сеть Хэмминга;

· Сеть Ворда;

· Сеть Хопфилда;

· Сеть Кохонена;

· Нейронный газ[25];

· Когнитрон;

· Неокогнитрон;

· Хаотическая нейронная сеть;

· Осцилляторная нейронная сеть;

· Сеть встречного распространения;

· Сеть радиально-базисных функций (RBF-сеть);

· Сеть обобщённой регрессии;

· Сеть Д.Смирнова;

· Вероятностная сеть;

· Вероятностная нейронная сеть Решетова;

· Сиамская нейронная сеть;

· Сети адаптивного резонанса;

· Свёрточная нейронная сеть (англ. convolutional neural network);

· Нечёткий многослойный перцептрон;

· Импульсная нейронная сеть.

Отличия от машин с архитектурой фон Неймана.

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

· Массовый параллелизм;

· Распределённое представление информации и вычисления;

· Способность к обучению и обобщению;

· Адаптивность;

· Свойство контекстуальной обработки информации;

· Толерантность к ошибкам;

· Низкое энергопотребление.

    Примеры приложений.

    Предсказание финансовых временных рядов.

Входные данные – курс акций за год. Задача – определить завтрашний курс. Проводится следующее преобразование – выстраивается в ряд курс за сегодня, вчера, за позавчера. Следующий ряд – смещается по дате на один день и так далее. На полученном наборе обучается сеть с 3 входами и одним выходом – то есть выход: курс на дату, входы: курс на дату минус 1 день, минус 2 дня, минус 3 дня. Обученной сети подаем на вход курс за сегодня, вчера, позавчера и получаем ответ на завтра. Нетрудно заметить, что в этом случае сеть просто выведет зависимость одного параметра от трёх предыдущих. Если желательно учитывать ещё какой-то параметр (например, общий индекс по отрасли), то его надо добавить как вход (и включить в примеры), переобучить сеть и получить новые результаты. Для наиболее точного обучения стоит использовать метод ОРО, как наиболее предсказуемый и несложный в реализации.

    Психодиагностика.

    Серия работ М. Г. Доррера с соавторами посвящена исследованию вопроса о возможности развития психологической интуиции у нейросетевых экспертных систем. Полученные результаты дают подход к раскрытию механизма интуиции нейронных сетей, проявляющейся при решении ими психодиагностических задач. Создан нестандартный для компьютерных методик интуитивный подход к психодиагностике, заключающийся в исключении построения описанной реальности. Он позволяет сократить и упростить работу над психодиагностическими методиками.

    Хемоинформатика.

Нейронные сети широко используются в химических и биохимических исследованиях[28]. В настоящее время нейронные сети являются одним из самых распространенных методов хемоинформатики для поиска количественных соотношений структура-свойство[29][30], благодаря чему они активно используются как для прогнозирования физико-химических свойств и биологической активности химических соединений, так и для направленного дизайна химических соединений и материалов с заранее заданными свойствами, в том числе при разработке новых лекарственных препаратов.

    Нейроуправление.

    Нейронные сети успешно применяются для синтеза систем управления динамическими объектами.

    В области управления нейронные системы находят применение в задачах идентификации объектов, в алгоритмах прогнозирования и диагностики, а также для синтеза оптимальных АСР. Для реализации АСР на основе ИНС в настоящее время интенсивно развивается производство нейрочипов и нейроконтроллеров (НК).

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

Процедура обучения ИНС состоит в идентификации синаптичеких весов, обеспечивающих ей необходимые преобразующие свойства. Особенностью ИНС является её способность к модификации параметров и структуры в процессе обучения.

    Экономика.

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

    Вопрос 3. Большие данные (англ. big data, [ˈbɪɡ ˈdeɪtə]) – обозначение структурированных и неструктурированных данных огромных объёмов и значительного многообразия, эффективно обрабатываемых горизонтально масштабируемыми программными инструментами, появившимися в конце 2000-х годов и альтернативных традиционным системам управления базами данных и решениям класса Business Intelligence.

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

    В качестве определяющих характеристик для больших данных традиционно выделяют «три V»: объём (англ. volume, в смысле величины физического объёма), скорость (velocity в смыслах как скорости прироста, так и необходимости высокоскоростной обработки и получения результатов), многообразие (variety, в смысле возможности одновременной обработки различных типов структурированных и полуструктурированных данных); в дальнейшем возникли различные вариации и интерпретации этого признака.

    С точки зрения информационных технологий, в совокупность подходов и инструментов изначально включались средства массово-параллельной обработки неопределённо структурированных данных, прежде всего, системами управления базами данных категории NoSQL, алгоритмами MapReduce и реализующими их программными каркасами и библиотеками проекта Hadoop[7]. В дальнейшем к серии технологий больших данных стали относить разнообразные информационно-технологические решения, в той или иной степени обеспечивающие сходные по характеристикам возможности по обработке сверхбольших массивов данных.

    История.

    Широкое введение термина «большие данные» связывают с Клиффордом Линчем, редактором журнала Nature, подготовившим к 3 сентября 2008 года специальный выпуск с темой «Как могут повлиять на будущее науки технологии, открывающие возможности работы с большими объёмами данных?», в котором были собраны материалы о феномене взрывного роста объёмов и многообразия обрабатываемых данных и технологических перспективах в парадигме вероятного скачка «от количества к качеству»; термин был предложен по аналогии с расхожими в деловой англоязычной среде метафорами «большая нефть», «большая руда».

    Несмотря на то, что термин вводился в академической среде и прежде всего разбиралась проблема роста и многообразия научных данных, начиная с 2009 года термин широко распространился в деловой прессе, а к 2010 году относят появление первых продуктов и решений, относящихся исключительно и непосредственно к проблеме обработки больших данных. К 2011 году большинство крупнейших поставщиков информационных технологий для организаций в своих деловых стратегиях использует понятие о больших данных, в том числе IBM, Oracle[, Microsoft, Hewlett-Packard[, EMC, а основные аналитики рынка информационных технологий посвящают концепции выделенные исследования.

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

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

    В 2015 году Gartner исключил большие данные из цикла зрелости новых технологий и прекратил выпускать выходивший в 2011–2014 годы отдельный цикл зрелости технологий больших данных, мотивировав это переходом от этапа шумихи к практическому применению. Технологии, фигурировавшие в выделенном цикле зрелости, по большей части перешли в специальные циклы по продвинутой аналитике и науке о данных, по BI и анализу данных, корпоративному управлению информацией, резидентным вычислениям, информационной инфраструктуре.

    VVV.

    Набор признаков VVV (volume, velocity, variety) изначально выработан Meta Group в 2001 году вне контекста представлений о больших данных как об определённой серии информационно-технологических методов и инструментов, в нём, в связи с ростом популярности концепции центрального хранилища данных для организаций, отмечалась равнозначимость проблематик управления данными по всем трём аспектам. В дальнейшем появились интерпретации с «четырьмя V» (добавлялась veracity – достоверность, использовалась в рекламных материалах IBM), «пятью V» (в этом варианте прибавляли viability – жизнеспособность, и value – ценность), и даже «семью V» (кроме всего, добавляли также variability – переменчивость, и visualization [27]). IDC интерпретирует «четвёртое V» как value c точки зрения важности экономической целесообразности обработки соответствующих объёмов в соответствующих условиях, что отражено также и в определении больших данных от IDC[28]. Во всех случаях в этих признаках подчёркивается, что определяющей характеристикой для больших данных является не только их физический объём, но другие категории, существенные для представления о сложности задачи обработки и анализа данных.

    Источники.

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

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

    Методы анализа.

    Методы и техники анализа, применимые к большим данным, выделенные в отчёте McKinsey:

· методы класса Data Mining: обучение ассоциативным правилам (англ. association rule learning), классификация (методы категоризации новых данных на основе принципов, ранее применённых к уже наличествующим данным), кластерный анализ, регрессионный анализ;

· краудсорсинг – категоризация и обогащение данных силами широкого, неопределённого круга лиц, привлечённых на основании публичной оферты, без вступления в трудовые отношения;

· смешение и интеграция данных (англ. data fusion and integration) – набор техник, позволяющих интегрировать разнородные данные из разнообразных источников для возможности глубинного анализа, в качестве примеров таких техник, составляющих этот класс методов приводятся цифровая обработка сигналов и обработка естественного языка (включая тональный анализ);

· машинное обучение, включая обучение с учителем и без учителя, а также Ensemble learning (англ.) – использование моделей, построенных на базе статистического анализа или машинного обучения для получения комплексных прогнозов на основе базовых моделей (англ. constituent models, ср. со статистическим ансамблем в статистической механике);

· искусственные нейронные сети, сетевой анализ, оптимизация, в том числе генетические алгоритмы;

· распознавание образов;

· прогнозная аналитика;

· имитационное моделирование;

· пространственный анализ (англ. Spatial analysis) – класс методов, использующих топологическую, геометрическую и географическую информацию в данных;

· статистический анализ, в качестве примеров методов приводятся A/B-тестирование и анализ временных рядов;

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

    Технологии.

    Наиболее часто указывают в качестве базового принципа обработки больших данных горизонтальную масштабируемость, обеспечивающую обработку данных, распределённых на сотни и тысячи вычислительных узлов, без деградации производительности; в частности, этот принцип включён в определение больших данных от NIST[33]. При этом McKinsey, кроме рассматриваемых большинством аналитиков технологий NoSQL, MapReduce, Hadoop, R, включает в контекст применимости для обработки больших данных также технологии Business Intelligence и реляционные системы управления базами данных с поддержкой языка SQL.

    Аппаратные решения.

    Существует ряд аппаратно-программных комплексов, предоставляющих предконфигурированные решения для обработки больших данных: Aster MapReduce appliance (корпорации Teradata), Oracle Big Data appliance, Greenplum appliance (корпорации EMC, на основе решений поглощённой компании Greenplum). Эти комплексы поставляются как готовые к установке в центры обработки данных телекоммуникационные шкафы, содержащие кластер серверов и управляющее программное обеспечение для массово-параллельной обработки.

    Аппаратные решения для резидентных вычислений, прежде всего, для баз данных в оперативной памяти и аналитики в оперативной памяти, в частности, предлагаемой аппаратно-программными комплексами Hana (предконфигурированное аппаратно-программное решение компании SAP) и Exalytics (комплекс компании Oracle на основе реляционной системы Timesten (англ.) и многомерной Essbase), также иногда относят к решениям из области больших данных, несмотря на то, что такая обработка изначально не является массово-параллельной, а объёмы оперативной памяти одного узла ограничиваются несколькими терабайтами.

    Кроме того иногда к решениям для больших данных относят и аппаратно-программные комплексы на основе традиционных реляционных систем управления базами данных – Netezza, Teradata, Exadata, как способные эффективно обрабатывать терабайты и эксабайты структурированной информации, решая задачи быстрой поисковой и аналитической обработки огромных объёмов структурированных данных. Отмечается, что первыми массово-параллельными аппаратно-программными решениями для обработки сверхбольших объёмов данных были машины компаний Britton Lee (англ.), впервые выпущенные в 1983 году, и Teradata (начали выпускаться в 1984 году, притом в 1990 году Teradata поглотила Britton Lee).

    Аппаратные решения DAS – систем хранения данных, напрямую присоединённых к узлам – в условиях независимости узлов обработки в SN-архитектуре также иногда относят к технологиям больших данных. Именно с появлением концепции больших данных связывают всплеск интереса к DAS-решениям в начале 2010-х годов, после вытеснения их в 2000-е годы сетевыми решениями классов NAS и SAN.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: