Предоставленный набор данных содержит экземпляры 10 предметов одежды, каждый из которых идентифицируется числовым ярлыком (от 0 до 9).
Пример изображения ботильонов примерно такой
Проблема и процесс построения модели:
Поскольку логистическая регрессия является бинарным классификатором, идея состоит в том, чтобы решить эту проблему как серию задач бинарной классификации. Набор данных модного поезда должен быть обучен с использованием модели логистической регрессии, которая предсказывает каждую из этих меток как функцию пикселей изображения. Это необходимо повторить для всех меток, поскольку базовая логистическая регрессия является бинарным классификатором. Обученные модели должны использоваться для прогнозирования для каждого класса тестовых данных. Результатом каждой из моделей является вероятность того, что изображение представляет собой конкретный предмет одежды, который следует передать в функцию softmax для преобразования этих несвязанных вероятностей в распределение вероятностей по десяти классам. Прогнозируемый класс — это класс, связанный с максимальной вероятностью.
Структура данных, как показано ниже, состоит из 785 переменных, где первый столбец представляет собой метку изображения, а столбцы со 2 по 785 представляют собой пиксели размером 28 * 28. Метки были закодированы так, чтобы содержать 1, когда они принадлежат определенной метке, и 0 в противном случае. Фрейм данных фиктивных переменных был объединен с данными поезда и подмножеством каждый раз, чтобы соответствовать соответствующей модели для каждой метки и пикселей. Выборка из 10 000 этикеток была выбрана случайным образом для моделирования каждого класса.
Модель обучается для каждого класса с помощью glm() с биномиальным семейством. Сцепленный набор данных каждый раз подмножается, чтобы соответствовать модели для каждого класса, чтобы набор данных содержал двоичную метку и пиксели.
model0 ‹- glm(V1_0~.,data = subset0,family = ‘биномиальный’)
Модели используются для прогнозирования вектора вероятностей для тестового набора для каждой из меток 0,1,2,3,4,5,6,7,8,9. Все эти векторы объединяются с помощью cbind
z=cbind(прогноз_0,прогноз_1,прогноз_2,прогноз_3,прогноз_4,прогноз_5,прогноз_6,прогноз_7,прогноз_8,прогноз_9)
тусклый (г)
Функция Softmax принимает в качестве входных данных вектор N действительных чисел и нормализует его в распределение вероятностей, состоящее из N вероятностей, пропорциональных экспоненциалам входных чисел. После применения softmax компоненты в сумме дают 1 и могут рассматриваться как вероятности.
Он рассчитывается по формуле, указанной ниже
softmax = ехр (г)/сумма (ехр (г))
z - составная матрица
Идея здесь состоит в том, чтобы извлечь метку значения максимальной вероятности в каждой строке, поскольку это метка, которая может быть получена из этих конкретных пикселей в каждой строке.
Матрица путаницы показывает, как прогноз соответствует фактическим данным по классам. Точность модели составляет 69,27%. что лучше, чем базовая точность 10,28%. Другие модели, такие как GB и Neural Networks, могут дать лучшую точность, в этом посте мы попробуем использовать логистическую регрессию и функцию softmax.
Базовая точность = 1028/10 000 = 10,28%