Обучите softmax слой классификации
net = trainSoftmaxLayer(X,T)
net = trainSoftmaxLayer(X,T,Name,Value)
Загрузите выборочные данные.
[X,T] = iris_dataset;
X
4x150 матрица четырех атрибутов ирисовых цветов: длина Чашелистика, ширина чашелистика, лепестковая длина, лепестковая ширина.
T
3x150 матрица связанного определения векторов класса, которому из этих трех классов присвоен каждый вход. Каждая строка соответствует фиктивной переменной, представляющей одну из ирисовых разновидностей (классы). В каждом столбце 1 в одной из этих трех строк представляет класс, которому принадлежит конкретная выборка (наблюдение или пример). Существует нуль в строках для других классов, которым не принадлежит наблюдение.
Обучите softmax слой с помощью выборочных данных.
net = trainSoftmaxLayer(X,T);
Классифицируйте наблюдения в один из этих трех классов с помощью обученного 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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.