Обучите softmax слой классификации
Загрузите выборочные данные.
[X,T] = iris_dataset;
X
4x150 матрица четырех атрибутов ирисовых цветов: длина Чашелистика, ширина чашелистика, лепестковая длина, лепестковая ширина.
T
3x150 матрица связанного определения векторов класса, которому из этих трех классов присвоен каждый вход. Каждая строка соответствует фиктивной переменной, представляющей одну из ирисовых разновидностей (классы). В каждом столбце 1 в одной из этих трех строк представляет класс, которому принадлежит конкретная выборка (наблюдение или пример). Существует нуль в строках для других классов, которым не принадлежит наблюдение.
Обучите softmax слой с помощью выборочных данных.
net = trainSoftmaxLayer(X,T);
nntraintool('close')
Классифицируйте наблюдения в один из этих трех классов с помощью обученного softmax слоя.
Y = net(X);
Постройте матрицу беспорядка использование целей и классификаций, полученных из softmax слоя.
plotconfusion(T,Y);
X
— Обучающие данныеОбучающие данные в виде m-by-n матрица, где m является количеством переменных в обучающих данных и n, являются количеством наблюдений (примеры). Следовательно, каждый столбец X
представляет выборку.
Типы данных: single
| double
T
— Целевые данныеЦелевые данные в виде k-by-n матрица, где k является количеством классов и n, являются количеством наблюдений. Каждая строка является фиктивной переменной, представляющей конкретный класс. Другими словами, каждый столбец представляет выборку, и все записи столбца являются нулем за исключением одного подряд. Этот однократный въезд указывает на класс для той выборки.
Типы данных: single
| double
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'MaxEpochs',400,'ShowProgressWindow',false
задает максимальное количество итераций как 400 и скрывает учебное окно.'MaxEpochs'
— Максимальное количество учебных итерацийМаксимальное количество учебных итераций в виде разделенной запятой пары, состоящей из 'MaxEpochs'
и положительное целочисленное значение.
Пример: 'MaxEpochs',500
Типы данных: single
| double
'LossFunction'
— Функция потерь для softmax слоя'crossentropy'
(значение по умолчанию) | 'mse'
Функция потерь для softmax слоя в виде разделенной запятой пары, состоящей из 'LossFunction'
и любой 'crossentropy'
или 'mse'
.
mse
обозначает функцию среднеквадратической ошибки, которой дают:
где n является количеством учебных примеров, и k является количеством классов. ij th запись целевой матрицы, T
, и i th выход от автоэнкодера, когда входным вектором является x j.
Перекрестной энтропийной функцией дают:
Пример: 'LossFunction','mse'
'ShowProgressWindow'
— Индикатор, чтобы отобразить учебное окноtrue
(значение по умолчанию) | false
Индикатор, чтобы отобразить учебное окно во время обучения в виде разделенной запятой пары, состоящей из 'ShowProgressWindow'
и любой true
или false
.
Пример: 'ShowProgressWindow',false
Типы данных: логический
'TrainingAlgorithm'
Алгоритм обучения'trainscg'
(значение по умолчанию)Алгоритм настройки раньше обучал softmax слой в виде разделенной запятой пары, состоящей из 'TrainingAlgorithm'
и 'trainscg'
, который обозначает масштабированный метод сопряженных градиентов.
Пример: 'TrainingAlgorithm','trainscg'
net
— Слой Softmax для классификацииnetwork
объектСлой Softmax для классификации, возвращенной как network
объект. softmax слой, net
, одного размера с целевым T
.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.