2. Решение задачи классификации.

Содержание
  1. Вероятностная интерпретация классических моделей машинного обучения
  2. Классические задачи машинного обучения
  3. Классификация
  4. Вероятностная постановка задачи классификации
  5. Классификация двух нормальных распределений
  6. Метод максимизации правдоподобия
  7. Классификация двух нормальных распределений логистической регрессией
  8. Регрессия
  9. Регрессия линейно зависимых величин с нормальным шумом
  10. Решение задачи регрессии методом максимального правдоподобия
  11. Регрессия величины линейной регрессией
  12. Другие задачи
  13. Генеративные модели
  14. Благодарности
  15. 2. Решение задачи классификации.: Второй задачей контроля является определение одного из заданных
  16. Применение нейронных сетей для задач классификации
  17. Цель классификации
  18. Использование нейронных сетей в качестве классификатора
  19. Подготовка исходных данных
  20. Кодирование выходных значений
  21. Выбор объема сети
  22. Выбор архитектуры сети
  23. Алгоритм построения классификатора на основе нейронных сетей
  24.  
  25. 1. Базовые сведения
  26. 1.2. Обучение: с учителем и без
  27. 1.3. Типы классов
  28. 1.4. Проверка гипотез
  29. 1.5. Ошибки при классификации
  30. Классификации текстовых задач по математике
  31. 2. Классификация задач

Вероятностная интерпретация классических моделей машинного обучения

2. Решение задачи классификации.

Этой статьей я начинаю серию, посвященную генеративным моделям в машинном обучении.

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

Классические задачи машинного обучения

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

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

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

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

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

Это те самые размеченные примеры, на которых мы и будем обучаться проставлять метки автоматически. Так как мы не знаем классов всех объектов точно, мы считаем, что класс объекта — это случайная величина, которую мы для простоты тоже будем обозначать . Например, фотография собаки может классифицироваться как собака с вероятностью 0.99 и как кошка с вероятностью 0.01.

Таким образом, чтобы классифицировать объект, нам нужно знать условное распределение этой случайной величины на этом объекте .

Задача нахождения при данном множестве меток и данном наборе размеченных примеров называется задачей классификации.

Вероятностная постановка задачи классификации

Чтобы решить эту задачу, удобно переформулировать ее на вероятностном языке. Итак, есть множество объектов и множество меток . — случайная величина, представляющая собой случайный объект из . — случайная величина, представляющая собой случайную метку из .

Рассмотрим случайную величину с распределением , которое является совместным распределением объектов и их классов. Тогда, размеченная выборка — это сэмплы из этого распределения . Мы будем предполагать, что все сэмплы независимо и одинаково распределены (i.i.

d в англоязычной литературе).

Задача классификации теперь может быть переформулирована как задача нахождения при данном сэмпле .

Классификация двух нормальных распределений

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

Рис. 1. Плотности распределения и .

Так как область определения гауссианы — вся числовая прямая, очевидно, что эти графики пересекаются, а значит, есть такие точки, в которых плотности вероятности и равны.

Найдем условную вероятность классов:

Т.е.

Вот так будут выглядеть график плотности вероятностей :

Рис. 2. Плотности распределения , и . там, где две гауссианы пересекаются.

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

Метод максимизации правдоподобия

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

В таком случае для решения задачи используется метод максимального правдоподобия.

Формальное определение и обоснование метода можно найти в вашей любимой книге по статистике или по ссылке выше, а в данной статье я опишу его интуитивный смысл.

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

Логарифм и умножение на константу — монотонно возрастающие функции и не меняют положений максимумов, потому совместную плотность можно внести под логарифм и умножить на :

Последнее выражение, в свою очередь, является несмещенной и состоятельной оценкой ожидаемого логарифма правдоподобия:

Задачу максимизации можно переписать как задачу минимизации:

Последняя величина называется кросс-энтропией распределений и . Именно ее и принято оптимизировать для решения задач обучения с подкреплением (supervised learning).

Минимизацию на протяжении этого цикла статей мы будем проводить с помощью Stochastic Gradient Descent (SGD), а точнее, его расширения на основе адаптивных моментов, пользуясь тем, что сумма градиентов по подвыборке (так называемому “минибатчу”) является несмещенной оценкой градиента минимизируемой функции.

Классификация двух нормальных распределений логистической регрессией

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

Для начала нужно сгенерировать данные для обучения. Нужно сгенерировать минибатч меток классов и для каждой метки сгенерировать точку из соответствующей гауссианы:

def input_batch(dataset_params, batch_size): input_mean = tf.constant(dataset_params.input_mean, dtype=tf.float32) input_stddev = tf.constant(dataset_params.input_stddev,dtype=tf.float32) count = len(dataset_params.input_mean) labels = tf.contrib.distributions.Categorical(probs=[1./count] * count) .sample(sample_shape=[batch_size]) components = [] for i in range(batch_size): components .append(tf.contrib.distributions.Normal( loc=input_mean[labels[i]], scale=input_stddev[labels[i]]) .sample(sample_shape=[1])) samples = tf.concat(components, 0) return labels, samples

Определим наш классификатор. Он будет простейшей нейронной сетью без скрытых слоев:

def discriminator(input): output_size = 1 param1 = tf.get_variable( “weights”, initializer=tf.truncated_normal([output_size], stddev=0.1) ) param2 = tf.get_variable( “biases”, initializer=tf.constant(0.1, shape=[output_size]) ) return input * param1 + param2

И запишем функцию потерь — кросс-энтропию между распределениями реальных и предсказанных меток:

labels, samples = input_batch(dataset_params, training_params.batch_size)predicted_labels = discriminator(samples)loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits( labels=tf.cast(labels, tf.float32), logits=predicted_labels))

Ниже приведены графики обучения двух моделей: базовой и с L2-регуляризацией:

Рис. 3. Кривая обучения логистической регрессии.

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

Рис. 4. Процесс обучения логистический регрессии.

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

Регрессия

Задача регрессии — это задача предсказания одной непрерывной случайной величины на основе значений других случайных величин . Например, предсказание роста человека по его полу (дискретная случайная величина) и возрасту (непрерывная случайная величина).

Точно так же, как и в задаче классификации, нам дана размеченная выборка .

Предсказать значение случайной величины напрямую невозможно, ведь она случайная и, по сути, является функцией, поэтому формально задача записывается как предсказание ее условного ожидаемого значения:

Регрессия линейно зависимых величин с нормальным шумом

Давайте посмотрим, как решается задача регрессии на простом примере. Пусть есть две независимые случайные величины . Например, это высота дерева и нормальный случайный шум. Тогда мы можем предположить, что возраст дерева является случайной величиной . В таком случае по линейности математического ожидания и независимости и :

Рис. 5. Линия регрессии задачи про линейно зависимые величины с шумом.

Решение задачи регрессии методом максимального правдоподобия

Давайте сформулируем задачу регрессии через метод максимального правдоподобия. Положим ). Где — новый вектор параметров. Видно, что мы ищем — математическое ожидание , т.е. это корректно поставленная задача регрессии. Тогда

Состоятельной и несмещенной оценкой этого матожидания будет среднее по выборке

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

Регрессия величины линейной регрессией

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

Для начала нужно сгенерировать данные для обучения. Сначала мы генерируем минибатч входных переменных , после чего получаем сэмпл исходной переменной :

def input_batch(dataset_params, batch_size): samples = tf.random_uniform([batch_size], 0., 10.) noise = tf.random_normal([batch_size], mean=0., stddev=1.) labels = (dataset_params.input_param1 * samples + dataset_params.input_param2 + noise) return labels, samples

Определим нашу модель. Она будет простейшей нейронной сетью без скрытых слоев:

def predicted_labels(input): output_size = 1 param1 = tf.get_variable( “weights”, initializer=tf.truncated_normal([output_size], stddev=0.1) ) param2 = tf.get_variable( “biases”, initializer=tf.constant(0.1, shape=[output_size]) ) return input * param1 + param2

И запишем функцию потерь — L2-расстояние между распределениями реальных и предсказанных значений:

labels, samples = input_batch(dataset_params, training_params.batch_size)predicted_labels = discriminator(samples)loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits( labels=tf.cast(labels, tf.float32), logits=predicted_labels))

Ниже приведены графики обучения двух моделей: базовой и с L2-регуляризацией:

Рис. 6. Кривая обучения линейной регрессии.

Рис. 7. График изменения первого параметра с шагом обучения.

Рис. 8. График изменения второго параметра с шагом обучения.

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

Рис. 9. Процесс обучения линейной регрессии.

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

Другие задачи

В дополнение к изученным выше задачам классификации и регрессии есть и другие задачи так называемого обучения с учителем, в основном сводящиеся к отображению между точками и последовательностями: Object-to-Sequence, Sequence-to-Sequence, Sequence-to-Object.

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

Именно о последнем классе задач будет идти речь в этом цикле статей.

Генеративные модели

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

Благодарности

Спасибо Olga Talanova за ревью этой статьи. Спасибо Sofya Vorotnikova за комментарии, редактирование и проверку английской версии. Спасибо Andrei Tarashkevich за помощь в верстке.

Источник: https://habr.com/post/343800/

2. Решение задачи классификации.: Второй задачей контроля является определение одного из заданных

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

Решение этой задачи заключается в отыскании отображения ф: YE,

где E – множество заданных видов состояния объекта.

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

Физически это означает следующее: всякому наблюдаемому состоянию объекта должен быть поставлен в соответствие единственный вид его состояния.

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

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

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

Согласно постановке задачи классификации требуется определение не конкретного состояния ОУ, а некоторого класса, в который данное состояние входит.

Таким образом, агрегированные состояния содержат в себе обобщенные признаки, которые характеризуют состояние ОУ. Именно эти состояния задают множество состояний объекта E, подлежащих распознаванию при идентификации.

Другими словами, множество агрегированных состояний задаёт виды состояний, с одним из которых отождествляется наблюдаемое состояние объекта, т.е.

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

Отдельные состояния, входящие в агрегированное состояние, должны находиться в отношении эквивалентности. Отношением эквивалентности называется бинарное отношение Q=YxY, обладающее следующими свойствами: • рефлексивностью VyeY, (yy)eQ; •

симметричностью ІУі,У2) Є Q(y2,yi) Є Q; •

транзитивностью {yi,y2) Є Q&(y2,ys) Є Q(yhys) Є Q.

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

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

Состояния объекта наблюдаются на множестве выходных сигналов Y, поэтому всякий элемент этого множества можно рассматривать как k-ю точку n-мерного пространства, поскольку компоненты Y представляют собой численные значения наблюдаемых характеристик в выбранных контрольных точках, общее число которых п.

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

Обозначим получающиеся при этом фактор-множества через Y/Q. С учетом этого обозначения операцию факторизации можем записать в виде отображения

ф: YY/Q.

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

Класс, содержащий эквивалентные по свойству Q состояния yeY , называется смежным классом или классом эквивалентности. Множество, образованное из классов эквивалентности Y, дает нам фактор-множество Y/Q, т.е. Y/Q={Y}. Фактор-множество должно быть таким, чтобы искомое множество E находилось с ним во взаимно однозначном соответствии.

Это возможно, если отображение ф: YY/Q есть гомоморфизм, т.е. отображение, при котором сохраняется операция, заданная на множестве Y.

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

Для задания отношения эквивалентности необходимо определить разбиение множества Y на непустые, попарно не пересекающиеся части Yj, j=1, 2, … , т, обладающие теми или иными общими свойствами. В этом случае подмножества Yj являются смежными классами (классами эквивалентности), т.е. YcY/Q.

При контроле требуется установить, какими свойствами из этих классов наблюдаемое текущее состояние объекта обладает в наибольшей степени.

Для этого необходима соответствующая мера, одинаково применимая ко всем классам. Такой мерой может служить расстояние между точкой, изображающей наблюдаемое состояние объекта в некотором пространстве, и другими точками одного класса.

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

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

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

Сжимающее отображение полного метрического пространства Y в себя имеет единственную неподвижную точку в каждом из классов. Эти точки являются наилучшим приближением к любой точке данного класса и могут рассматриваться как изображение в пространстве Y агрегированного состояния i-го класса.

Воздействуя сжимающим отображением на каждое из наблюдаемых состояний y(t) объекта, принадлежащих i-му классу, получим множество преобразованных состояний, также принадлежащих i-му классу, но уже удовлетворяющих требованию компактности.

Вновь испытуемое состояние y(t) объекта, о котором неизвестно, к какому классу оно относится, также должно быть преобразовано с помощью сжимающего отображения.

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

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

Отметим, что сжимающим отображением является, например, матрица преобразования U, составленная из собственных векторов корреляционной матрицы измеряемых параметров объекта, причем эти векторы упорядочены в матрице по убыванию соответствующих им собственных чисел.

Источник: https://bookucheba.com/ekonomicheskaya-kibernetika-osnovi/reshenie-zadachi-klassifikatsii-8862.html

Применение нейронных сетей для задач классификации

2. Решение задачи классификации.

Решение задачи классификации является одним из важнейших применений нейронных сетей.

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

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

Цель классификации

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

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

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

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

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

Первый (самый простой) – когда классы можно разделить прямыми линиями (или гиперплоскостями, если пространство входов имеет размерность больше двух) – так называемая линейная разделимость.

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

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

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

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

Использование нейронных сетей в качестве классификатора

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

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

Так Минский в своей работе “Персептроны” доказал, что простейшие однослойные нейронные сети способны решать только линейно разделимые задачи. Это ограничение преодолимо при использовании многослойных нейронных сетей.

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

Таким образом сеть распознает не только характеристики исходных данных, но и “характеристики характеристик”, сформированные скрытым слоем.

Подготовка исходных данных

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

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

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

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

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

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

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

Кодирование выходных значений

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

Наиболее простым способом представления выходных данных в таком случае является вектор, компоненты которого соответствуют различным номерам классов. При этом i-я компонента вектора соответствует i-му классу. Все остальные компоненты при этом устанавливаются в 0. Тогда, например, второму классу будет соответствовать 1 на 2 выходе сети и 0 на остальных.

При интерпретации результата обычно считается, что номер класса определяется номером выхода сети, на котором появилось максимальное значение. Например, если в сети с тремя выходами мы имеем вектор выходных значений (0.2,0.6,0.

4), то мы видим, что максимальное значение имеет вторая компонента вектора, значит класс, к которому относится этот пример, – 2. При таком способе кодирования иногда вводится также понятие уверенности сети в том, что пример относится к этому классу.

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

Например, для рассмотренного выше примера уверенность сети в том, что пример относится ко второму классу, определится как разность между второй и третьей компонентой вектора и равна 0.6-0.4=0.2. Соответственно чем выше уверенность, тем больше вероятность того, что сеть дала правильный ответ. Этот метод кодирования является самым простым, но не всегда самым оптимальным способом представления данных.

Известны и другие способы. Например, выходной вектор представляет собой номер кластера, записанный в двоичной форме. Тогда при наличии 8 классов нам потребуется вектор из 3 элементов, и, скажем, 3 классу будет соответствовать вектор 011.

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

Другой подход состоит в разбиении задачи с k классами на k*(k-1)/2 подзадач с двумя классами (2 на 2 кодирование) каждая. Под подзадачей в данном случае понимается то, что сеть определяет наличие одной из компонент вектора. Т.е.

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

Число этих групп можно определить как количество неупорядоченных выборок по два из исходных компонент. Из комбинаторики

$A_kn = \frac{k!}{n!\,(k\,-\,n)!} = \frac{k!}{2!\,(k\,-\,2)!} = \frac{k\,(k\,-\,1)}{2}$

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

N подзадачи(выхода)КомпонентыВыхода
11-2
21-3
31-4
42-3
52-4
63-4

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

N классаАкт. Выходы
11,2,3
21,4,5
32,4,6
43,5,6

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

Выбор объема сети

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

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

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

Иначе вместо обобщения сеть просто запомнит данные и утратит способность к классификации – результат будет неопределен для примеров, которые не вошли в обучающую выборку.

Выбор архитектуры сети

При выборе архитектуры сети обычно опробуется несколько конфигураций с различным количеством элементов. При этом основным показателем является объем обучающего множества и обобщающая способность сети. Обычно используется алгоритм обучения Back Propagation (обратного распространения) с подтверждающим множеством.

Алгоритм построения классификатора на основе нейронных сетей

  1. Работа с данными
    • Составить базу данных из примеров, характерных для данной задачи
    • Разбить всю совокупность данных на два множества: обучающее и тестовое (возможно разбиение на 3 множества: обучающее, тестовое и подтверждающее).
  2. Предварительная обработка
    • Выбрать систему признаков, характерных для данной задачи, и преобразовать данные соответствующим образом для подачи на вход сети (нормировка, стандартизация и т.д.). В результате желательно получить линейно отделяемое пространство множества образцов.
    • Выбрать систему кодирования выходных значений (классическое кодирование, 2 на 2 кодирование и т.д.)
  3. Конструирование, обучение и оценка качества сети
    • Выбрать топологию сети: количество слоев, число нейронов в слоях и т.д.
    • Выбрать функцию активации нейронов (например “сигмоида”)
    • Выбрать алгоритм обучения сети
    • Оценить качество работы сети на основе подтверждающего множества или другому критерию, оптимизировать архитектуру (уменьшение весов, прореживание пространства признаков)
    • Остановится на варианте сети, который обеспечивает наилучшую способность к обобщению и оценить качество работы по тестовому множеству
  4. Использование и диагностика
    • Выяснить степень влияния различных факторов на принимаемое решение (эвристический подход).
    • Убедится, что сеть дает требуемую точность классификации (число неправильно распознанных примеров мало)
    • При необходимости вернутся на этап 2, изменив способ представления образцов или изменив базу данных.
    • Практически использовать сеть для решения задачи.

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

Источник: https://basegroup.ru/community/articles/classification

© 2011 Алексей Померанцев 

Российское хемометрическое общество

 

Введение1. Базовые сведения1.1. Постановка задачи 1.2. Обучение: с учителем и без1.3. Типы классов1.4.

Проверка гипотез

1.5. Ошибки при классификации1.6. Одноклассовая классификация1.7. Обучение и проверка1.

8

. Проклятие размерности1.

9

. Подготовка данных2. Данные2.1. Пример2.2. Данные 2.3. Рабочая книга Iris.xls 2.4. Анализ данных методом главных компонент3. Классификация “с учителем”3.1. Линейный дискриминатный анализ (

LDA)

3.2. Квадратичный дискриминатный анализ (

QDA

)3.3. PLS дискриминация (

PLSDA

)3.

4

.

SIMCA

3.

5

.

K-ближайших соседей (KNN)

4.Классификация без учителя 4.1. Опять PCA4.2. Кластеризация с помощью k-средних

(kMeans)

Заключение  

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

В пособии интенсивно используются понятия и методы, описанные в других материалах по хемометрике: статистика, матрицы и векторы, метод главных компонент.

Читателям, которые плохо знакомы с этим аппаратом, рекомендуется изучить, или, хотя бы просмотреть, эти материалы. Кроме того, здесь интенсивно используется специальная надстройка (Add-In) к программе Excel, которая называется Chemometrics.xla.

Подробности об этой программе можно прочитать в пособии Проекционные методы в системе Excel.

Изложение иллюстрируется примерами, выполненными в рабочей книге Excel Irix.xls, которая сопровождает этот документ. Предполагается, что читатель имеет базовые навыки работы в среде Excel, умеет проводить простейшие матричные вычисления с использованием функций листа, таких как  МУМНОЖ, ТЕНДЕНЦИЯ и т.п.

В отличие от других пособий из серии, здесь не удается один раз провести проекционные вычисления, а затем использовать их в разных методах. Поэтому некоторые листы книги Iris.xls не будут работать без использования Chemometrics Add-In.

Важная информация о работе с файлом Iris.xls 

Ссылки на примеры помещены в текст как объекты Excel.

Другие пособия по хемометрике

1. Базовые сведения

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

Исходными данными для классификации является матрица X, в которой каждая строка представляет один объект, а каждый столбец – одну из переменных. Эта матрица называется исходным набором данных.

Число объектов (строк в матрице X) мы будем обозначать буквой I, а число переменных (строк в матрице X) – буквой J. Число классов мы будем обозначать буквой K.

Классификацией называют не только саму процедуру распределения, но и ее результат. Употребляется также термин распознавание образов (pattern recognition) , который можно считать синонимом. В математической статистике классификацию часто называют дискриминацией.

Метод (алгоритм), которым проводят классификацию, называют классификатором. Классификатор переводит  вектор признаков объекта x в целое число, 1, 2, … , соответствующее номеру класса, в который он помещает этот объект.

1.2. Обучение: с учителем и без

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

.

1.3. Типы классов

Классификация может делаться для разного числа классов.

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

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

Многоклассовая классификация часто сводится к последовательности: либо одноклассных (SIMCA), либо двухклассных (LDA) задач и является наиболее сложным случаем.

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

.

1.4. Проверка гипотез

В математической статистике рассматривается задача проверки гипотез, которая, по сути, очень близка к классификации. Поясним это на простом примере.

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

Анализ размеров объектов показал, что они хорошо описываются нормальными распределениями со следующими параметрами. Сливы: среднее 3, дисперсия 1.4. Яблоки: среднее 8, дисперсия 2.1.

Таким образом, разумно будет выбрать сито диаметром 5. .

Рис. 1 Распределение объектов по размерам 

С точки зрения математической статистики в этой задаче мы проверяем гипотезу о том, что среднее нормального распределения равно 3 (слива), против альтернативы 8 (яблоко).  Проверка происходит по одному единственному наблюдению x. Критическое значение равно 5: если x5, то принимается альтернатива (объект – яблоко).

.

1.5. Ошибки при классификации

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

Источник: https://www.chemometrics.ru/old/Tutorials/classification.htm

Классификации текстовых задач по математике

2. Решение задачи классификации.

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

В методике преподавания математике процесс решения текстовых задач делят на четыре типа:

1)Понимание условия задачи.

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

2) Составление плана решения.

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

3)Реализация плана решения.

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

4) Исследование найденного решения.

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

В педагогической литературе имеются разнообразные подходы к классификации задач (по Ю.М. Колягину, Г.В. Дорофееву и др.). Разберём некоторые из них:

Ю.М. Колягин выделяет следующие задачи по количеству неизвестных компонентов в структуре задачи:

а) Задачи обучающие (в этих задачах содержится один неизвестный компонент).

Эти задачи он еще делит:

  • с неизвестными первоначальными данными (например: известны корни квадратного уравнения, и нужно найти само уравнение).
  • с неизвестными теоретическими данными (например: нужно найти ошибку в решении задачи).
  • с неизвестными алгоритмом самого решения (например: в записи 1*2* 5* 4* 3 заменить вместо звездочек знаки и расставить скобки так, что бы получилось выражение, значение которого равно 9)
  • с неизвестным конечным результатом (например: найти значение выражения).

б) Задачи поискового вида (это те задачи, в которых неизвестно два компонента).

в) Проблемные задачи (это задачи, в которых неизвестно три компонента).

Если рассматривать, как задачи относятся к теории то можно выделить стандартные и нестандартные задачи.

Рассмотрим на примере стандартные задачи:

1. Первый мотоциклист за 3 часа проехал на 36км больше, чем второй за 2 часа. Найдите скорость каждого, если скорость второго мотоциклиста на 25 км/ч меньше скорости первого.

2. Для детей 10 лет наиболее полноценным является питание, если пища содержит 10% животных белков, 5% растительных белков, 17% животного жира, 3% растительного жира и 64% углеводов. По этим данным построить круговую диаграмму.

Рассмотрим на примере нестандартные задачи:

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

Сравнение задач с компонентами учебно-познавательной деятельности приводит к такой классификации:

  1. задачи, которые стимулируют учебно-познавательную деятельность школьников;

  2. задачи, которые организуют и реализовывают учебно-познавательную деятельность;

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

По своему математическому содержанию, соответствующей специфике той или другой математической дисциплины, задачи можно разделить на: алгебраические, арифметические, геометрические, аналитические.

По содержанию задачи группируют на:

  • задачи на движение,
  • задачи на части,
  • задачи на проценты и так далее,

внутри каждого образа в зависимости от логической структуры задачи разделяют следующие виды задач:

  • задачи на встречное движение в одну сторону и в противоположные стороны,
  • задачи на нахождение части целого и целого по его части,
  • задачи на нахождение соотношения чисел,
  • задачи на нахождение процента от числа и числа по его проценту,
  • задачи на нахождения процентного соотношения или выражение частного в процентах.

(Методика работы над задачами подобной классификации будет рассмотрена ниже).

По характеру различают следующий вид задач:

1)На вычисление (это задачи, в которых необходимо выразить неизвестные величины (площади, отрезки, углы и т.д.) через известные, которые могут быть даны, как через числовые значениями, так и в общем виде),

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

3)На доказательство (эти задачи обладают определенной целью доказать, что то или иное утверждение верно или неверно, в заключение, должны получить окончательный ответ, в котором должно быть указано справедливость утверждения или его ошибочность),

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

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

6)текстовые задачи,

7)задачи комбинированного характера.

Пример задачи на вычисление:

Среди людей 5% левшей и 9% людей, не подверженных морской болезни. В школе учится 1300 учащихся. Сколько среди них левшей и те которые не подверженны морской болезни?

Пример задачи на построение:

Построить с помощью транспортира угол в 120 градусов.

Пример задачи на доказательство:

Докажите, что сумма углов треугольника равна 180 градусов.

Пример задачи текстовой:

За 10 часов по течению реки теплоход «Паустовский» проходит тот же путь, что за 11 часов против течения. Найдите собственную скорость теплохода «Паустовский», если скорость течения реки 3 км/ч.

Пример задачи комбинированного характера:

Постройте треугольник по стороне и двум прилежащим углам и вычислите его площадь.

Г.В. Дорофеев делит задачи на два типа:

а) задачи, в которых описываются реальные жизненные ситуации;

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

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

Источник: https://infourok.ru/klassifikacii-tekstovih-zadach-po-matematike-3070351.html

2. Классификация задач

2. Решение задачи классификации.

Задачи по физике классифицируют по многим признакам: по содержанию, целевому назначению, глубине исследования вопроса, способам решения, способам задания условия, степени трудности и т. д.

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

Различают задачи с абстрактным и конкретным содержанием. Примером задачи с абстрактным содержанием может быть следующая:

11. Какую силу нужно приложить, чтобы поднять по наклонной плоскости тело массой если длина плоскости а высота Трением пренебречь. Какова сила давления тела на плоскость?

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

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

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

Ряд задач содержит сведения исторического характера: данные о классических физических опытах, открытиях, изобретениях или даже исторических легендах. Такие задачи называют задачами с историческим содержанием (№ 138, 526).

Широкое распространение получили также занимательные задачи. Отличительной чертой их содержания является использование необычных парадоксальных или занимательных фактов и

явлений (№ 360, 383). Их решение оживляет уроки, повышает интерес учащихся к физике. Значительное число таких задач имеется в книгах Я. И. Перельмана [131,132], М. И. Ильина [128], Б. Ф. Билимовича [122].

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

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

Резкой грани между указанными типами задач нет. Постепенно усложняя задачи, приходят к таким, в которых, подобно тому как это часто бывает в жизни, только поставлена проблема и «ничего не дано». Такие задачи (№ 116, 396) ряд методистов называют «творческими».

Большое количество интересных творческих задач учитель найдет в книге В. Г. Разумовского [37], который делит их на два основных вида: «исследовательские» (требующие ответа на вопрос почему?) и «конструкторские» (требующие ответа на вопрос как сделать?).

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

В зависимости от характера и методов исследования вопросов различают качественные и количественные задачи.

Качественными называют задачи, при решении которых устанавливают только качественную зависимость между физическими величинами. Как правило, вычисления при решении этих задач не производят (№ 62, 53).

Иногда этот вид задач в методической литературе называют по-другому: задачи-вопросы, логические задачи, качественные вопросы и др.

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

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

Экспериментальными называют задачи, в которых с той или иной целью используют эксперимент (№ 56, 77). Большое число таких задач учитель найдет в книгах С. С. Мошкова [35 ] и В. А. Зибера [25].

Графическими называют задачи, при решении которых используют графики (№ 323, 543). Методика решения этих задач подробно описана Л. И. Резниковым [6].

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

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

(В связи с этим в таком порядке рассматривается и методика решения задач разных типов в гл. 2.)

Источник: http://scask.ru/e_book_mf.php?id=3

Book for ucheba
Добавить комментарий