Класс: ClassificationDiscriminant
Ошибка классификации в результате повторного предоставления
L = resubLoss(obj)
L = resubLoss(obj,Name,Value)
возвращает потерю повторного замещения, то есть потерю, вычисленную для данных, которые L = resubLoss(obj)fitcdiscr используется для создания obj.
возвращает статистику потерь с дополнительными опциями, указанными одним или несколькими L = resubLoss(obj,Name,Value)Name,Value аргументы пары.
|
Классификатор дискриминантного анализа, полученный с использованием |
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'LossFun' - Функция потерь'mincost' (по умолчанию) | 'binodeviance' | 'classiferror' | 'exponential' | 'hinge' | 'logit' | 'quadratic' | дескриптор функцииФункция потерь, заданная как разделенная запятыми пара, состоящая из 'LossFun' и встроенный дескриптор функции или имени функции потери.
В следующей таблице перечислены доступные функции потерь. Укажите его с помощью соответствующего вектора символов или скаляра строки.
| Стоимость | Описание |
|---|---|
'binodeviance' | Биномиальное отклонение |
'classiferror' | Неверно классифицированная скорость в десятичной |
'exponential' | Экспоненциальные потери |
'hinge' | Потеря шарнира |
'logit' | Логистические потери |
'mincost' | Минимальная ожидаемая стоимость неправильной классификации (для классификационных оценок, которые являются задними вероятностями) |
'quadratic' | Квадратичные потери |
'mincost' подходит для классификационных оценок, которые являются задними вероятностями. Дискриминантные модели анализа возвращают апостериорные вероятности как оценки классификации по умолчанию (см. predict).
Укажите собственную функцию с помощью нотации дескриптора функции.
Предположим, что n быть числом наблюдений в X и K быть числом различных классов (numel(obj.ClassNames)). Ваша функция должна иметь эту подпись
lossvalue = lossfun(C,S,W,Cost)Выходной аргумент lossvalue является скаляром.
Выберите имя функции (lossfun).
C является nоколо-K логическая матрица со строками, указывающими, какому классу принадлежит соответствующее наблюдение. Порядок столбцов соответствует порядку классов в obj.ClassNames.
Конструкция C путем установки C(p,q) = 1 если наблюдение p находится в классе q, для каждой строки. Установка всех остальных элементов строки p кому 0.
S является nоколо-K числовая матрица классификационных баллов. Порядок столбцов соответствует порядку классов в obj.ClassNames. S - матрица классификационных баллов, аналогичная выходному результату predict.
W является n-по-1 числовой вектор весов наблюдения. Если вы проходите W, программное обеспечение нормализует их для суммирования 1.
Cost является K-by-K числовая матрица затрат на неправильную классификацию. Например, Cost = ones(K) - eye(K) указывает стоимость 0 для правильной классификации, и 1 для неправильной классификации.
Укажите свою функцию с помощью 'LossFun',@.lossfun
Дополнительные сведения о функциях потерь см. в разделе Классификационные потери.
Типы данных: char | string | function_handle
|
Ошибка классификации, скаляр. Значение ошибки зависит от значений в |
Вычислите повторно замещенную ошибку классификации для данных радужки Фишера:
load fisheriris
obj = fitcdiscr(meas,species);
L = resubLoss(obj)
L =
0.0200Функции потери классификации измеряют прогностическую неточность классификационных моделей. При сравнении одного и того же типа потерь между многими моделями меньшие потери указывают на лучшую прогностическую модель.
Рассмотрим следующий сценарий.
L - средневзвешенная потеря классификации.
n - размер выборки.
Для двоичной классификации:
yj - наблюдаемая метка класса. Программное обеспечение кодирует его как -1 или 1, указывая отрицательный или положительный класс (или первый или второй класс в ClassNames свойство), соответственно.
f (Xj) - показатель классификации положительного класса для наблюдения (строки) j данных прогнозирования X.
mj = yjf (Xj) - показатель классификации для классификации наблюдения j в класс, соответствующий yj. Положительные значения mj указывают на правильную классификацию и не вносят большого вклада в средние потери. Отрицательные значения mj указывают на неправильную классификацию и вносят значительный вклад в средний убыток.
Для алгоритмов, поддерживающих мультиклассовую классификацию (то есть K ≥ 3):
yj * - вектор из K - 1 нулей, с 1 в положении, соответствующем истинному наблюдаемому классу yj. Например, если истинным классом второго наблюдения является третий класс и K = 4, то y2 * = [0 0 1 0] ′. Порядок классов соответствует порядку в ClassNames свойства входной модели.
f (Xj) - вектор длины K оценок класса для наблюдения j данных предсказателя X. Порядок оценок соответствует порядку классов в ClassNames свойства входной модели.
mj = yj * ′ f (Xj). Поэтому mj - это скалярная оценка классификации, которую модель прогнозирует для истинного наблюдаемого класса.
Вес для наблюдения j равен wj. Программное обеспечение нормализует весовые коэффициенты наблюдения таким образом, что они суммируются с соответствующей вероятностью предыдущего класса. Программное обеспечение также нормализует предыдущие вероятности, так что они составляют 1. Поэтому
С учетом этого сценария в следующей таблице описаны поддерживаемые функции потерь, которые можно указать с помощью 'LossFun' аргумент пары имя-значение.
| Функция потерь | Значение LossFun | Уравнение |
|---|---|---|
| Биномиальное отклонение | 'binodeviance' | |
| Неверно классифицированная скорость в десятичной | 'classiferror' | j - метка класса, соответствующая классу с максимальным баллом. I {·} - функция индикатора. |
| Потери перекрестной энтропии | 'crossentropy' |
Взвешенная потеря перекрестной энтропии равна Kn, где веса нормализуются для суммирования в n вместо 1. |
| Экспоненциальные потери | 'exponential' | ). |
| Потеря шарнира | 'hinge' | |
| Потеря журнала | 'logit' | mj)). |
| Минимальная ожидаемая стоимость классификации ошибок | 'mincost' |
Программное обеспечение вычисляет взвешенную минимальную ожидаемую стоимость классификации, используя эту процедуру для наблюдений j = 1,..., n.
Средневзвешенное минимальное ожидаемое снижение затрат на неправильную классификацию Если используется матрица затрат по умолчанию (значение элемента которой равно 0 для правильной классификации и 1 для неправильной классификации), то |
| Квадратичные потери | 'quadratic' | ) 2. |
На этом рисунке сравниваются функции потерь (за исключением 'crossentropy' и 'mincost') над баллом м для одного наблюдения. Некоторые функции нормализуются для прохождения через точку (0,1).

Апостериорная вероятность того, что точка x принадлежит классу k, является произведением предыдущей вероятности и многомерной нормальной плотности. Функция плотности многовариантной нормали со среднеквадратичной (1 на d) мкк и d на d ковариационной (d на d) α к в точке 1 на d x равна
)
где | - детерминант Startk, − 1 - обратная матрица.
Пусть P (k) представляет предшествующую вероятность класса k. Тогда апостериорная вероятность того, что наблюдение x имеет класс k
P (x),
где P (x) - константа нормализации, сумма по k P (x 'k) P (k).
Предварительная вероятность является одним из трех вариантов:
'uniform' - Предшествующая вероятность класса k равен единице от общего числа классов.
'empirical' - Предшествующая вероятность класса k - количество обучающих образцов класса k делят на общее количество обучающих образцов.
Custom - предыдущая вероятность класса k является k-й элемент prior вектор. Посмотрите fitcdiscr.
После создания классификационной модели (Mdl) можно задать предшествующее представление, используя точечную нотацию:
Mdl.Prior = v;
где v - вектор положительных элементов, представляющий частоту, с которой происходит каждый элемент. Не нужно переучивать классификатор при установке нового предшествующего.
Матрица ожидаемых затрат для каждого наблюдения определяется в разделе Затраты.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.