kfoldPredict

Классифицируйте наблюдения на перекрестную подтвержденную модель ECOC ядра

Описание

пример

label = kfoldPredict(CVMdl) возвращает метки класса, предсказанные перекрестной подтвержденной моделью ECOC ядра (ClassificationPartitionedKernelECOC) CVMdl. Для каждого сгиба, kfoldPredict предсказывает метки класса для наблюдений сгиба валидации с помощью модели, обученной на наблюдениях учебного сгиба. kfoldPredict применяется те же данные раньше создавали CVMdl (см. fitcecoc).

Программное обеспечение предсказывает классификацию наблюдения путем присвоения наблюдения классу, дающему к самой большой отрицаемой средней бинарной потере (или, эквивалентно, самой маленькой средней бинарной потере).

label = kfoldPredict(CVMdl,Name,Value) возвращает предсказанные метки класса с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Например, задайте метод оценки апостериорной вероятности, декодируя схему или уровень многословия.

пример

[label,NegLoss,PBScore] = kfoldPredict(___) дополнительно возвращает отрицаемые значения средней бинарной потери в классе (NegLoss) для наблюдений сгиба валидации и баллов положительного класса (PBScore) для наблюдений сгиба валидации, классифицированных каждым бинарным учеником, с помощью любой из комбинаций входных аргументов в предыдущих синтаксисах.

Если матрица кодирования варьируется через сгибы (то есть, схемой кодирования является sparserandom или denserandom), затем PBScore isempty).

пример

[label,NegLoss,PBScore,Posterior] = kfoldPredict(___) дополнительно возвращает следующие оценки вероятности класса для наблюдений сгиба валидации (Posterior).

Чтобы получить следующие вероятности класса, двоичные ученики классификации ядер должны быть моделями логистической регрессии. В противном случае, kfoldPredict выдает ошибку.

Примеры

свернуть все

Классифицируйте наблюдения с помощью перекрестного подтвержденного, ядро мультикласса классификатор ECOC, и отобразите матрицу беспорядка для получившейся классификации.

Загрузите ирисовый набор данных Фишера. X содержит цветочные измерения и Y содержит имена цветочных разновидностей.

load fisheriris
X = meas;
Y = species;

Перекрестный подтвердите модель ECOC, состоявшую из двоичных учеников ядра.

rng(1); % For reproducibility 
CVMdl = fitcecoc(X,Y,'Learners','kernel','CrossVal','on')
CVMdl = 
  classreg.learning.partition.ClassificationPartitionedKernelECOC
    CrossValidatedModel: 'KernelECOC'
           ResponseName: 'Y'
        NumObservations: 150
                  KFold: 10
              Partition: [1x1 cvpartition]
             ClassNames: {'setosa'  'versicolor'  'virginica'}
         ScoreTransform: 'none'


  Properties, Methods

CVMdl ClassificationPartitionedKernelECOC модель. По умолчанию программное обеспечение реализует 10-кратную перекрестную проверку. Чтобы задать различное количество сгибов, используйте 'KFold' аргумент пары "имя-значение" вместо 'Crossval'.

Классифицируйте наблюдения что fitcecoc не использует в обучении сгибы.

label = kfoldPredict(CVMdl);

Создайте матрицу беспорядка, чтобы сравнить истинные классы наблюдений к их предсказанным меткам.

C = confusionchart(Y,label);

CVMdl модель неправильно классифицирует четыре 'versicolor' ирисовые диафрагмы как 'virginica' ирисовые диафрагмы и неправильно классифицируют один 'virginica' диафрагмируйте как 'versicolor' ирисовая диафрагма.

Загрузите ирисовый набор данных Фишера. X содержит цветочные измерения и Y содержит имена цветочных разновидностей.

load fisheriris
X = meas;
Y = species;

Перекрестный подтвердите модель ECOC моделей классификации ядер с помощью 5-кратной перекрестной проверки.

rng(1); % For reproducibility 
CVMdl = fitcecoc(X,Y,'Learners','kernel','KFold',5)
CVMdl = 
  classreg.learning.partition.ClassificationPartitionedKernelECOC
    CrossValidatedModel: 'KernelECOC'
           ResponseName: 'Y'
        NumObservations: 150
                  KFold: 5
              Partition: [1x1 cvpartition]
             ClassNames: {'setosa'  'versicolor'  'virginica'}
         ScoreTransform: 'none'


  Properties, Methods

CVMdl ClassificationPartitionedKernelECOC модель. Это содержит свойство Trained, который является массивом ячеек 5 на 1 CompactClassificationECOC модели.

По умолчанию, модели классификации ядер, которые составляют CompactClassificationECOC модели используют SVMs. Баллы SVM являются подписанными расстояниями от наблюдения до контура решения. Поэтому область (-,). Создайте пользовательскую бинарную функцию потерь что:

  • Сопоставляет матрицу (M) проекта кодирования и классификационные оценки (оценки) положительного класса для каждого ученика к бинарной потере для каждого наблюдения

  • Использует линейную потерю

  • Агрегировал бинарную утрату ученика с помощью медианы

Можно создать отдельную функцию для бинарной функции потерь, и затем сохранить ее на пути MATLAB®. Или, можно задать анонимную бинарную функцию потерь. В этом случае создайте указатель на функцию (customBL) к анонимной бинарной функции потерь.

customBL = @(M,s)nanmedian(1 - bsxfun(@times,M,s),2)/2;

Предскажите метки перекрестной проверки и оцените среднюю бинарную потерю в классе. Распечатайте средние отрицательные бинарные потери в классе для случайного набора 10 наблюдений.

[label,NegLoss] = kfoldPredict(CVMdl,'BinaryLoss',customBL);

idx = randsample(numel(label),10);
table(Y(idx),label(idx),NegLoss(idx,1),NegLoss(idx,2),NegLoss(idx,3),...
    'VariableNames',[{'True'};{'Predicted'};...
    unique(CVMdl.ClassNames)])
ans=10×5 table
         True           Predicted        setosa     versicolor    virginica
    ______________    ______________    ________    __________    _________

    {'setosa'    }    {'setosa'    }     0.20926     -0.84572     -0.86354 
    {'setosa'    }    {'setosa'    }     0.16144     -0.90572     -0.75572 
    {'virginica' }    {'versicolor'}    -0.83532     -0.12157     -0.54311 
    {'virginica' }    {'virginica' }    -0.97235     -0.69759      0.16994 
    {'virginica' }    {'virginica' }    -0.89441     -0.69937     0.093778 
    {'virginica' }    {'virginica' }    -0.86774     -0.47297     -0.15929 
    {'setosa'    }    {'setosa'    }     -0.1026     -0.69671     -0.70069 
    {'setosa'    }    {'setosa'    }      0.1001     -0.89163     -0.70848 
    {'virginica' }    {'virginica' }     -1.0106     -0.52919     0.039829 
    {'versicolor'}    {'versicolor'}     -1.0298     0.027354     -0.49757 

Перекрестная подтвержденная модель правильно предсказывает метки для 9 из 10 случайных наблюдений.

Оцените следующие вероятности класса с помощью перекрестного подтвержденного, ядро мультикласса модель классификации ECOC. Модели классификации ядер возвращают апостериорные вероятности для учеников логистической регрессии только.

Загрузите ирисовый набор данных Фишера. X содержит цветочные измерения и Y содержит имена цветочных разновидностей.

load fisheriris
X = meas;
Y = species;

Создайте шаблон ядра для бинарных моделей классификации ядер. Задайте, чтобы соответствовать ученикам логистической регрессии.

t = templateKernel('Learner','logistic')
t = 
Fit template for classification Kernel.

             BetaTolerance: []
                 BlockSize: []
             BoxConstraint: []
                   Epsilon: []
    NumExpansionDimensions: []
         GradientTolerance: []
        HessianHistorySize: []
            IterationLimit: []
               KernelScale: []
                    Lambda: []
                   Learner: 'logistic'
              LossFunction: []
                    Stream: []
            VerbosityLevel: []
                   Version: 1
                    Method: 'Kernel'
                      Type: 'classification'

t шаблон ядра. Большинство его свойств пусто. Когда обучение классификатор ECOC с помощью шаблона, программное обеспечение устанавливает применимые свойства на их значения по умолчанию.

Перекрестный подтвердите модель ECOC с помощью шаблона ядра.

rng('default'); % For reproducibility
CVMdl = fitcecoc(X,Y,'Learners',t,'CrossVal','on')
CVMdl = 
  classreg.learning.partition.ClassificationPartitionedKernelECOC
    CrossValidatedModel: 'KernelECOC'
           ResponseName: 'Y'
        NumObservations: 150
                  KFold: 10
              Partition: [1x1 cvpartition]
             ClassNames: {'setosa'  'versicolor'  'virginica'}
         ScoreTransform: 'none'


  Properties, Methods

CVMdl ClassificationPartitionedECOC модель. По умолчанию программное обеспечение использует 10-кратную перекрестную проверку.

Предскажите апостериорные вероятности класса сгиба валидации.

[label,~,~,Posterior] = kfoldPredict(CVMdl);

Программное обеспечение присваивает наблюдение классу, который дает к самой маленькой средней бинарной потере. Поскольку все бинарные ученики вычисляют апостериорные вероятности, бинарной функцией потерь является quadratic.

Отобразите апостериорные вероятности для 10 случайным образом выбранных наблюдений.

idx = randsample(size(X,1),10);
CVMdl.ClassNames
ans = 3x1 cell
    {'setosa'    }
    {'versicolor'}
    {'virginica' }

table(Y(idx),label(idx),Posterior(idx,:),...
    'VariableNames',{'TrueLabel','PredLabel','Posterior'})
ans=10×3 table
      TrueLabel         PredLabel                  Posterior            
    ______________    ______________    ________________________________

    {'setosa'    }    {'setosa'    }     0.68216     0.18546     0.13238
    {'virginica' }    {'virginica' }      0.1581     0.14405     0.69785
    {'virginica' }    {'virginica' }    0.071807    0.093291      0.8349
    {'setosa'    }    {'setosa'    }     0.74918     0.11434     0.13648
    {'versicolor'}    {'versicolor'}     0.09375     0.67149     0.23476
    {'versicolor'}    {'versicolor'}    0.036202     0.85544     0.10836
    {'versicolor'}    {'versicolor'}      0.2252     0.50473     0.27007
    {'virginica' }    {'virginica' }    0.061562     0.11086     0.82758
    {'setosa'    }    {'setosa'    }     0.42448     0.21181     0.36371
    {'virginica' }    {'virginica' }    0.082705      0.1428      0.7745

Столбцы Posterior соответствуйте порядку класса CVMdl.ClassNames.

Входные параметры

свернуть все

Перекрестная подтвержденная модель ECOC ядра в виде ClassificationPartitionedKernelECOC модель. Можно создать ClassificationPartitionedKernelECOC модель по образованию модель ECOC с помощью fitcecoc и определение этих аргументов пары "имя-значение":

  • 'Learners'– Установите значение к 'kernel', объект шаблона возвращен templateKernel, или массив ячеек таких объектов шаблона.

  • Один из аргументов 'CrossVal', 'CVPartition', 'Holdout', 'KFold', или 'Leaveout'.

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

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

Пример: kfoldPredict(CVMdl,'PosteriorMethod','qp') задает, чтобы оценить апостериорные вероятности мультикласса путем решения задачи наименьших квадратов с помощью квадратичного программирования.

Бинарная функция потерь ученика в виде разделенной запятой пары, состоящей из 'BinaryLoss' и встроенное имя функции потерь или указатель на функцию.

  • Эта таблица содержит имена и описания встроенных функций, где yj является меткой класса для конкретного бинарного ученика (в наборе {-1,1,0}), sj является счетом к наблюдению j, и g (yj, sj) является бинарной формулой потерь.

    ЗначениеОписаниеОбласть счетаg (yj, sj)
    'binodeviance'Биномиальное отклонение(–∞,∞)журнал [1 + exp (–2yjsj)] / [2log (2)]
    'exponential'Экспоненциал(–∞,∞)exp (–yjsj)/2
    'hamming'Хэмминг[0,1] или (– ∞, ∞)[1 – знак (yjsj)]/2
    'hinge'Стержень(–∞,∞)макс. (0,1 – yjsj)/2
    'linear'Линейный(–∞,∞)(1 – yjsj)/2
    'logit'Логистический(–∞,∞)журнал [1 + exp (–yjsj)] / [2log (2)]
    'quadratic'Квадратичный[0,1][1 – yj (2sj – 1)] 2/2

    Программное обеспечение нормирует бинарные потери, таким образом, что потеря 0.5 когда yj = 0. Кроме того, программное обеспечение вычисляет среднюю бинарную потерю для каждого класса.

  • Для пользовательской бинарной функции потерь, например, customFunction, задайте его указатель на функцию 'BinaryLoss',@customFunction.

    customFunction имеет эту форму:

    bLoss = customFunction(M,s)
    где:

    • M K-by-L кодирующий матрицу, сохраненную в Mdl.CodingMatrix.

    • s 1 L вектором-строкой из классификационных оценок.

    • bLoss потеря классификации. Этот скаляр агрегировал бинарные потери для каждого ученика в конкретном классе. Например, можно использовать среднюю бинарную потерю, чтобы агрегировать потерю по ученикам для каждого класса.

    • K является количеством классов.

    • L является количеством бинарных учеников.

По умолчанию, если все бинарные ученики являются моделями классификации ядер с помощью SVM, то BinaryLoss 'hinge'. Если все бинарные ученики являются моделями классификации ядер с помощью логистической регрессии, то BinaryLoss 'quadratic'.

Пример: 'BinaryLoss','binodeviance'

Типы данных: char | string | function_handle

Схема Decoding, которая агрегировала бинарные потери в виде разделенной запятой пары, состоящей из 'Decoding' и 'lossweighted' или 'lossbased'. Для получения дополнительной информации смотрите Бинарную Потерю.

Пример: 'Decoding','lossbased'

Количество случайных начальных значений для подбора кривой апостериорным вероятностям минимизацией расхождения Kullback-Leibler в виде разделенной запятой пары, состоящей из 'NumKLInitializations' и неотрицательный целочисленный скаляр.

Если вы не запрашиваете четвертый выходной аргумент (Posterior) и набор 'PosteriorMethod','kl' (значение по умолчанию), затем программное обеспечение игнорирует значение NumKLInitializations.

Для получения дополнительной информации смотрите, что Следующая Оценка Использует Расхождение Kullback-Leibler.

Пример: 'NumKLInitializations',5

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

Опции оценки в виде разделенной запятой пары, состоящей из 'Options' и массив структур, возвращенный statset.

Вызвать параллельные вычисления:

  • Вам нужна лицензия Parallel Computing Toolbox™.

  • Задайте 'Options',statset('UseParallel',true).

Метод оценки апостериорной вероятности в виде разделенной запятой пары, состоящей из 'PosteriorMethod' и 'kl' или 'qp'.

  • Если PosteriorMethod 'kl', затем программное обеспечение оценивает апостериорные вероятности мультикласса путем минимизации расхождения Kullback-Leibler между предсказанными и ожидаемыми апостериорными вероятностями, возвращенными бинарными учениками. Для получения дополнительной информации смотрите, что Следующая Оценка Использует Расхождение Kullback-Leibler.

  • Если PosteriorMethod 'qp', затем программное обеспечение оценивает апостериорные вероятности мультикласса путем решения задачи наименьших квадратов с помощью квадратичного программирования. Вам нужна лицензия Optimization Toolbox™, чтобы использовать эту опцию. Для получения дополнительной информации смотрите, что Следующая Оценка Использует Квадратичное программирование.

  • Если вы не запрашиваете четвертый выходной аргумент (Posterior), затем программное обеспечение игнорирует значение PosteriorMethod.

Пример: 'PosteriorMethod','qp'

Уровень многословия в виде разделенной запятой пары, состоящей из 'Verbose' и 0 или 1. Verbose управляет количеством диагностических сообщений, что программное обеспечение отображается в Командном окне.

Если Verbose 0, затем программное обеспечение не отображает диагностические сообщения. В противном случае программное обеспечение отображает диагностические сообщения.

Пример: 'Verbose',1

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

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

свернуть все

Предсказанные метки класса, возвращенные как категориальное или символьный массив, логический или числовой вектор или массив ячеек из символьных векторов.

label имеет совпадающий тип данных и количество строк как CVMdl.Y.

Программное обеспечение предсказывает классификацию наблюдения путем присвоения наблюдения классу, дающему к самой большой отрицаемой средней бинарной потере (или, эквивалентно, самой маленькой средней бинарной потере).

Отрицаемые средние бинарные потери, возвращенные как числовая матрица. NegLoss n-by-K матрица, где n является количеством наблюдений (size(CVMdl.Y,1)) и K является количеством уникальных классов (size(CVMdl.ClassNames,1)).

Музыка положительного класса к каждому бинарному ученику, возвращенному как числовая матрица. PBScore n-by-L матрица, где n является количеством наблюдений (size(CVMdl.Y,1)) и L является количеством бинарных учеников (size(CVMdl.CodingMatrix,2)).

Если матрица кодирования варьируется через сгибы (то есть, схемой кодирования является sparserandom или denserandom), затем PBScore isempty).

Следующие вероятности класса, возвращенные как числовая матрица. Posterior n-by-K матрица, где n является количеством наблюдений (size(CVMdl.Y,1)) и K является количеством уникальных классов (size(CVMdl.ClassNames,1)).

Чтобы возвратить апостериорные вероятности, у каждого двоичного ученика классификации ядер должен быть его Learner набор свойств к 'logistic'. В противном случае программное обеспечение выдает ошибку.

Больше о

свернуть все

Бинарная потеря

binary loss является функцией класса и классификационной оценки, которая определяет, как хорошо бинарный ученик классифицирует наблюдение в класс.

Предположим следующее:

  • mkj является элементом (k, j) проекта кодирования матричный M (то есть, код, соответствующий классу k бинарного ученика j).

  • sj является счетом бинарного ученика j для наблюдения.

  • g является бинарной функцией потерь.

  • k^ предсказанный класс для наблюдения.

В loss-based decoding [Escalera и др.], класс, производящий минимальную сумму бинарных потерь по бинарным ученикам, определяет предсказанный класс наблюдения, то есть,

k^=argminkj=1L|mkj|g(mkj,sj).

В loss-weighted decoding [Escalera и др.], класс, производящий минимальное среднее значение бинарных потерь по бинарным ученикам, определяет предсказанный класс наблюдения, то есть,

k^=argminkj=1L|mkj|g(mkj,sj)j=1L|mkj|.

Allwein и др. предполагают, что взвешенное потерей декодирование улучшает точность классификации путем хранения значений потерь для всех классов в том же динамическом диапазоне.

Эта таблица суммирует поддерживаемые функции потерь, где yj является меткой класса для конкретного бинарного ученика (в наборе {-1,1,0}), sj является счетом к наблюдению j и g (yj, sj).

ЗначениеОписаниеОбласть счетаg (yj, sj)
'binodeviance'Биномиальное отклонение(–∞,∞)журнал [1 + exp (–2yjsj)] / [2log (2)]
'exponential'Экспоненциал(–∞,∞)exp (–yjsj)/2
'hamming'Хэмминг[0,1] или (– ∞, ∞)[1 – знак (yjsj)]/2
'hinge'Стержень(–∞,∞)макс. (0,1 – yjsj)/2
'linear'Линейный(–∞,∞)(1 – yjsj)/2
'logit'Логистический(–∞,∞)журнал [1 + exp (–yjsj)] / [2log (2)]
'quadratic'Квадратичный[0,1][1 – yj (2sj – 1)] 2/2

Программное обеспечение нормирует бинарные потери, таким образом, что потеря 0.5, когда yj = 0, и агрегировал использование среднего значения бинарных учеников [Allwein и др.].

Не путайте бинарную потерю с полной потерей классификации (заданный 'LossFun' аргумент пары "имя-значение" loss и predict возразите функциям), который измеряется, как хорошо классификатор ECOC выполняет в целом.

Алгоритмы

свернуть все

Программное обеспечение может оценить апостериорные вероятности класса путем минимизации расхождения Kullback-Leibler или при помощи квадратичного программирования. Для следующих описаний следующих алгоритмов оценки примите что:

  • mkj является элементом (k, j) проекта кодирования матричный M.

  • I является функцией индикатора.

  • p^k оценка апостериорной вероятности класса для класса k наблюдения, k = 1..., K.

  • rj является апостериорной вероятностью положительного класса для бинарного ученика j. Таким образом, rj является вероятностью, что бинарный ученик j классифицирует наблюдение в положительный класс, учитывая обучающие данные.

Следующая оценка Используя расхождение Kullback-Leibler

По умолчанию программное обеспечение минимизирует расхождение Kullback-Leibler, чтобы оценить апостериорные вероятности класса. Расхождение Kullback-Leibler между ожидаемыми и наблюдаемыми апостериорными вероятностями положительного класса

Δ(r,r^)=j=1Lwj[rjlogrjr^j+(1rj)log1rj1r^j],

где wj=Sjwi вес для бинарного ученика j.

  • Sj является набором индексов наблюдения, на котором бинарном ученике обучен j.

  • wi вес наблюдения i.

Программное обеспечение минимизирует расхождение итеративно. Первый шаг должен выбрать начальные значения p^k(0);k=1,...,K для апостериорных вероятностей класса.

  • Если вы не задаете 'NumKLIterations', затем программное обеспечение пробует оба набора детерминированных начальных значений, описанных затем, и выбирает набор, который минимизирует Δ.

    • p^k(0)=1/K;k=1,...,K.

    • p^k(0);k=1,...,K решение системы

      M01p^(0)=r,

      где M 01 является M со всем mkj = –1 замененный с 0, и r является вектором апостериорных вероятностей положительного класса, возвращенных двоичными учениками L [Dietterich и др.]. Программное обеспечение использует lsqnonneg решить систему.

  • Если вы задаете 'NumKLIterations',c, где c натуральное число, затем программное обеспечение делает следующее, чтобы выбрать набор p^k(0);k=1,...,K, и выбирает набор, который минимизирует Δ.

    • Программное обеспечение пробует оба набора детерминированных начальных значений, аналогичных описанному ранее.

    • Программное обеспечение случайным образом генерирует c векторы длины K с помощью rand, и затем нормирует каждый вектор, чтобы суммировать к 1.

В итерации t программное обеспечение завершает эти шаги:

  1. Вычислить

    r^j(t)=k=1Kp^k(t)I(mkj=+1)k=1Kp^k(t)I(mkj=+1mkj=1).

  2. Оцените использование апостериорной вероятности следующего класса

    p^k(t+1)=p^k(t)j=1Lwj[rjI(mkj=+1)+(1rj)I(mkj=1)]j=1Lwj[r^j(t)I(mkj=+1)+(1r^j(t))I(mkj=1)].

  3. Нормировать p^k(t+1);k=1,...,K так, чтобы они суммировали к 1.

  4. Проверяйте на сходимость.

Для получения дополнительной информации смотрите [Hastie и др.] и [Zadrozny].

Следующая оценка Используя квадратичное программирование

Оценка апостериорной вероятности с помощью квадратичного программирования требует лицензии Optimization Toolbox. Чтобы оценить апостериорные вероятности для наблюдения с помощью этого метода, программное обеспечение завершает эти шаги:

  1. Оцените апостериорные вероятности положительного класса, rj, для бинарных учеников j = 1..., L.

  2. Используя отношение между rj и p^k [Ву и др.], минимизировать

    j=1L[rjk=1Kp^kI(mkj=1)+(1rj)k=1Kp^kI(mkj=+1)]2

    относительно p^k и ограничения

    0p^k1kp^k=1.

    Программное обеспечение выполняет минимизацию с помощью quadprog.

Ссылки

[1] Allwein, E., Р. Шапайр и И. Зингер. “Уменьшая мультикласс до двоичного файла: подход объединения для поля classifiers”. Журнал Исследования Машинного обучения. Издание 1, 2000, стр 113–141.

[2] Dietterich, T. и Г. Бакири. “Решая задачи Изучения Мультикласса С помощью Выходных Кодов С коррекцией ошибок”. Журнал Исследования Искусственного интеллекта. Издание 2, 1995, стр 263–286.

[3] Escalera, S., О. Пуджол и П. Радева. “На процессе декодирования в троичных выходных кодах с коррекцией ошибок”. Транзакции IEEE согласно Анализу Шаблона и Искусственному интеллекту. Издание 32, Выпуск 7, 2010, стр 120–134.

[4] Escalera, S., О. Пуджол и П. Радева. “Отделимость троичных кодов для разреженных проектов выходных кодов с коррекцией ошибок”. Шаблон Recogn. Издание 30, Выпуск 3, 2009, стр 285–297.

[5] Hastie, T. и Р. Тибширэни. “Классификация Попарной Связью”. Летопись Статистики. Издание 26, Выпуск 2, 1998, стр 451–471.

[6] Ву, T. F. К. Дж. Лин и Р. Вэн. “Оценки вероятности для Классификации Мультиклассов Попарной Связью”. Журнал Исследования Машинного обучения. Издание 5, 2004, стр 975–1005.

[7] Zadrozny, B. “Уменьшая Мультикласс до Двоичного файла путем Связи Оценок Вероятности”. NIPS 2001: Продолжения Усовершенствований в Нейронных Системах обработки информации 14, 2001, стр 1041–1048.

Смотрите также

|

Введенный в R2018b