Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет №1.docx
Скачиваний:
52
Добавлен:
10.05.2018
Размер:
619.57 Кб
Скачать

Задание 4. Реализация алгоритмов построенияunsupervised моделей

Согласно данной концепции на вход любого алгоритма подаются исходные данные в виде потока представленного классом MiningInputStream . Кроме данных перед работой алгоритма должны быть выполнены соответствующие настройки. Они делятся на два типа: настройки специфичные для решаемой задачи (строящейся модели) и настройки специфичные для конкретного алгоритма. Первые реализуются с помощью наследования от класса MiningSettings, второй тип наследование от класса MiningAlgorithmSpecification. Результат работы алгоритма представляется в виде моделей являющихся экземплярами класса MiningModel. Сами алгоритмы наследуются от класса MiningAlgorithm.

В библиотеке Xelopes реализованы классы настроек, моделей и алгоритмов для основных задач data minig (табл.1). Необходимо заметить, что входные данные не зависят от решаемой задачи и для любого алгоритма представляются в виде экземпляра класса MiningInputStream.

Таблица 1. Основные классы библиотеки Xelopes

Задача

Класс настроек

Класс модели

Класс алгоритма

1

Статистические задачи

StatisticsMiningSettings

StatisticsMiningModel

StatisticsAlgorithm

2

Поиск ассоциативных правил

AssociationRulesSettings

AssociationRulesMiningModel

AssociationRulesAlgorithm

3

Сиквинциальный анализ

SequentialSettings

SequentialMiningModel

SequentialAlgorithm

4

CustomerSequentialSettings

CustomerSequentialMiningModel

CustomerSequentialAlgorithm

5

Кластеризация

ClusteringMiningSettings

ClusteringMiningModel

ClusteringAlgorithm

6

Регрессии

SupportVectorSettings

SupportVectorMiningModel

SupportVectorAlgorithm

7

SparseGridsSettings

SparseGridsMiningModel

SparseGridsAlgorithm

8

Классификации

DecisionTreeSettings

DecisionTreeMiningModel

DecisionTreeMiningModel

Будем использовать arff файл сегментации потребителей:

@relation 'travel'

@attribute sex {m, f}

@attribute age real

@attribute numb_journeys real

@attribute favor_country { Spain, Turkey, Poland, USA, France, Russia, Germany, Canada}

@attribute money_spent real

@data

f 33 3 Spain 10500

f 28 1 Turkey 645

m 16 1 Poland 433

m 34 2 USA 15230

f 52 12 Spain 12450

f 19 1 Spain 1426

f 45 5 Russia 4900

f 72 7 Germany 8560

f 23 4 Spain 17870

m 49 4 Spain 5400

PMML файл, построенный unsupervised алгоритмом

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE PMML PUBLIC "pmml20.dtd" "pmml20.dtd">

<PMML version="2.0">

<Header copyright="Copyright (c) 2003 prudsys AG" description="Xelopes mining model. See www.zsoft.ru or www.prudsys.com">

<Application version="1.1" name="Xelopes" />

<Timestamp>2018-03-25 03:57:50 MSD</Timestamp>

</Header>

<DataDictionary numberOfFields="5">

<DataField displayName="sex" name="sex" isCyclic="0" optype="categorical">

<Value displayValue="m" property="valid" value="m" />

<Value displayValue="f" property="valid" value="f" />

</DataField>

<DataField displayName="age" name="age" isCyclic="0" optype="continuous">

<Interval leftMargin="-Infinity" rightMargin="Infinity" closure="openOpen" />

</DataField>

<DataField displayName="numb_journeys" name="numb_journeys" isCyclic="0" optype="continuous">

<Interval leftMargin="-Infinity" rightMargin="Infinity" closure="openOpen" />

</DataField>

<DataField displayName="favor_country" name="favor_country" isCyclic="0" optype="categorical">

<Value displayValue="Spain" property="valid" value="Spain" />

<Value displayValue="Turkey" property="valid" value="Turkey" />

<Value displayValue="Poland" property="valid" value="Poland" />

<Value displayValue="USA" property="valid" value="USA" />

<Value displayValue="France" property="valid" value="France" />

<Value displayValue="Russia" property="valid" value="Russia" />

<Value displayValue="Germany" property="valid" value="Germany" />

<Value displayValue="Canada" property="valid" value="Canada" />

</DataField>

<DataField displayName="money_spent" name="money_spent" isCyclic="0" optype="continuous">

<Interval leftMargin="-Infinity" rightMargin="Infinity" closure="openOpen" />

</DataField>

</DataDictionary>

<ClusteringModel modelName="clustering model" modelClass="centerBased" algorithmName="centerBasedClustering" functionName="clustering" numberOfClusters="3">

<MiningSchema>

<MiningField missingValueTreatment="asMode" name="sex" missingValueReplacement="f" outliers="asMissingValues" usageType="active" />

<MiningField missingValueTreatment="asMean" name="age" missingValueReplacement="37.1" outliers="asIs" usageType="active" />

<MiningField missingValueTreatment="asMean" name="numb_journeys" missingValueReplacement="4.0" outliers="asIs" usageType="active" />

<MiningField missingValueTreatment="asMode" name="favor_country" missingValueReplacement="Spain" outliers="asMissingValues" usageType="active" />

<MiningField missingValueTreatment="asMean" name="money_spent" missingValueReplacement="7741.4" outliers="asIs" usageType="active" />

</MiningSchema>

<ComparisonMeasure compareFunction="absDiff" kind="distance" minimum="0.0" maximum="0.0">

<euclidean />

</ComparisonMeasure>

<Cluster name="clust0">

<Array type="real" n="5">0.75 35.5 5.25 0.75 14012.5</Array>

</Cluster>

<Cluster name="clust1">

<Array type="real" n="5">0.6666666666666666 55.333333333333336 5.333333333333333 3.6666666666666665 6286.666666666667</Array>

</Cluster>

<Cluster name="clust2">

<Array type="real" n="5">0.6666666666666666 21.0 1.0 1.0 834.6666666666666</Array>

</Cluster>

</ClusteringModel>

</PMML>

В результате данные были разбиты на три сегмента:

  • Клиенты среднего возраста, предпочитающие поездки в южные страны;

  • Пожилые клиенты, которые посещают европейские страны;

  • Молодые клиенты, которые мало путешествуют

  1. Что такое unsupervised модели?

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

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

  1. Что такое описательные модели?

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

  1. Какие модели относятся к типу unsupervised?

Задачи кластеризации

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

Методы решения

  • Графовые алгоритмы кластеризации

  • Статистические алгоритмы кластеризации

  • Иерархическая кластеризацияилитаксономия

  • Нейронная сеть Кохонена

  • Метод ближайших соседей (k-means)

  • Автоассоциатор

  • Глубокая сеть доверия

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

Методы решения

  • Нейронная сеть встречного распространения

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