exponenta event banner

trainSoftmaxLayer

Обучение уровня softmax классификации

Описание

пример

net = trainSoftmaxLayer(X,T) направляет уровень softmax, net, на входных данных X и целевые показатели T.

net = trainSoftmaxLayer(X,T,Name,Value) направляет уровень softmax, 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);

Figure Confusion (plotconfusion) contains an axes. The axes with title Confusion Matrix contains 50 objects of type patch, text, line.

Входные аргументы

свернуть все

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

Типы данных: single | double

Целевые данные, указанные как матрица k-by-n, где k - число классов, а n - число наблюдений. Каждая строка является фиктивной переменной, представляющей определенный класс. Другими словами, каждый столбец представляет выборку, и все записи столбца равны нулю, за исключением одного столбца в строке. Эта отдельная запись указывает класс для этой пробы.

Типы данных: single | double

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'MaxEpochs',400,'ShowProgressWindow',false определяет максимальное количество итераций как 400 и скрывает окно обучения.

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

Пример: 'MaxEpochs',500

Типы данных: single | double

Функция потери для уровня softmax, заданная как разделенная запятыми пара, состоящая из 'LossFunction' и либо 'crossentropy' или 'mse'.

mse обозначает среднеквадратичную функцию ошибки, которая задается как:

E=1n∑j=1n∑i=1k (tij yij) 2,

где n - число обучающих примеров, а k - число классов. tij - ij-й вход целевой матрицы, Tи yij - это i-й выходной сигнал от автокодера, когда входной вектор равен xj.

Функция перекрестной энтропии задаётся:

E=1n∑j=1n∑i=1ktijlnyij+ (1 tij) ln (1 − yij).

Пример: 'LossFunction','mse'

Индикатор для отображения окна обучения во время обучения, определяемого как разделенная запятыми пара, состоящая из 'ShowProgressWindow' и либо true или false.

Пример: 'ShowProgressWindow',false

Типы данных: logical

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

Пример: 'TrainingAlgorithm','trainscg'

Выходные аргументы

свернуть все

Уровень Softmax для классификации, возвращенный как network объект. Слой softmax, net, имеет тот же размер, что и цель T.

См. также

|

Представлен в R2015b