Обучение уровня softmax классификации
направляет уровень softmax, net = trainSoftmaxLayer(X,T,Name,Value)net, с дополнительными опциями, указанными одним или несколькими из Name,Value аргументы пары.
Например, можно указать функцию потерь.
Загрузите образцы данных.
[X,T] = iris_dataset;
X представляет собой матрицу 4х150 из четырёх атрибутов цветков радужки: Длина чашелистика, ширина чашелистика, длина лепестка, ширина лепестка.
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 обозначает среднеквадратичную функцию ошибки, которая задается как:
) 2,
где n - число обучающих примеров, а k - число классов. - ij-й вход целевой матрицы, Tи - это i-й выходной сигнал от автокодера, когда входной вектор равен xj.
Функция перекрестной энтропии задаётся:
− yij).
Пример: 'LossFunction','mse'
'ShowProgressWindow' - Индикатор для отображения окна обученияtrue (по умолчанию) | falseИндикатор для отображения окна обучения во время обучения, определяемого как разделенная запятыми пара, состоящая из 'ShowProgressWindow' и либо true или false.
Пример: 'ShowProgressWindow',false
Типы данных: logical
'TrainingAlgorithm' - Алгоритм обучения'trainscg' (по умолчанию)Обучающий алгоритм, используемый для обучения уровня softmax, определяемый как разделенная запятыми пара, состоящая из 'TrainingAlgorithm' и 'trainscg', что означает масштабированный сопряженный градиент.
Пример: 'TrainingAlgorithm','trainscg'
net - Слой Softmax для классификацииnetwork объектУровень Softmax для классификации, возвращенный как network объект. Слой softmax, net, имеет тот же размер, что и цель T.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.