主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

ClassificationSVM

1.クラスおよびバイナリ分類用のサポート ベクター マシン (支持向量机)

説明

ClassificationSVMは 1.クラスおよび 2.クラス学習用のサポートベクターマシン(SVM)分類器です。学習済みのClassificationSVM分類器には,学習データ,パラメーター値,事前確率,サポートベクターおよびアルゴリズムの実装情報が格納されます。これらの分類器を使用して,スコアから事後確率に変換する関数のあてはめ(fitPosteriorを参照)や新しいデータに対するラベルの予測(预测を参照) などのタスクを実行できます。

作成

ClassificationSVMオブジェクトの作成にはfitcsvmを使用します。

プロパティ

すべて展開する

支持向量机のプロパティ

このプロパティは読み取り専用です。

学習済み分類器の係数。年代行 1 列の数値ベクトルを指定します。s は学習済み分類器に含まれているサポート ベクターの個数 (总和(Mdl.IsS万博1manbetxupportVector))です。

αには,双対問題に対する学習済み分類器の係数,つまり推定したラグランジュ乗数が格納されます。fitcsvmの名前と値のペアの引数RemoveDuplicatesを使用して重複を削除した場合,サポートベクターである重複する観測値の特定の集合に対して,集合全体に対応する1つの係数がαに格納されます。つまり,MATLAB®は,ある非ゼロ係数を重複集合内の1つの観測値によるものとし,係数0は集合内の他のすべての重複観測値によるものとします。

データ型:|

このプロパティは読み取り専用です。

線形予測子の係数。数値ベクトルを指定します。βの長さは,モデルの学習に使用する予測子の個数と同じです。

MATLABでは,完全なダミーエンコードを使用して予測子データ内のカテゴリカル変数が拡張されます。つまり,MATLABでは各カテゴリカル変数の各レベルについて1つずつダミー変数が作成されます。βには、ダミー変数を含む各予測子変数について 1.つずつ値が格納されます。たとえば、3.つの予測子があり、そのうちの 1.つは 3.つのレベルがあるカテゴリカル変数である場合、βは5つの値が含まれている数値ベクトルになります。

KernelParameters。函数“线性”である場合,観測値xの分類スコアは次のようになります。

f x x / 年代 β + b

Mdlでは,β,bおよび年代がそれぞれβ偏见およびKernelParameters。规模プロパティに格納されます。

分類スコアを手動で推定するには,はじめに,学習時に適用したすべての変換を予測子データに適用しなければなりません。具体的には,fitcsvmを使用するときに“标准化”,没错を指定した場合は、平均Mdl.Muと標準偏差Mdl。σを使用して予測子データを手動で標準化してから,結果をMdl.KernelParameters.Scale内のカーネルスケールで除算しなければなりません。

resubPredict预测など,すべてのSVM関数で,必要な変換の適用は推定の前に行われます。

KernelParameters。函数“线性”ではない場合,βは空([]) になります。

データ型:|

このプロパティは読み取り専用です。

バイアス項。スカラーを指定します。

データ型:|

このプロパティは読み取り専用です。

ボックス制約。ボックス制約が含まれている N行 1.列の数値ベクトルを指定します。Nは学習データ内の観測値の個数 (NumObservationsプロパティを参照) です。

fitcsvmの名前と値のペアの引数RemoveDuplicatesを使用して重複を削除した場合,重複する観測値の特定の集合に対してMATLABはボックス制約を合計し,この合計が1つの観測値からのものと見なします。MATLABは,0のボックス制約が集合内の他のすべての観測値によるものと見なします。

データ型:|

このプロパティは読み取り専用です。

キャッシュ情報。構造体配列を指定します。キャッシュ情報には、次の表に記載されているフィールドが含まれます。

フィールド 説明
サイズ

支持向量机分類器に学習をさせるために予約されているキャッシュのサイズ(MB単位)。詳細については,“CacheSize”を参照してください。

アルゴリズム

最適化時に使用されるキャッシュ アルゴリズム。現在、使用可能なキャッシュ アルゴリズムは队列のみです。キャッシュアルゴリズムは設定できません。

CacheInfoのフィールドを表示するには,ドット表記を使用します。たとえば,Mdl.CacheInfo.Sizeはキャッシュサイズの値を表示します。

データ型:结构体

このプロパティは読み取り専用です。

サポートベクターのインジケーター。予測子データ行列内の対応する観測値がサポート ベクターであるかどうかを示す N行 1.列の 必然的ベクトルを指定します。Nは学習データ内の観測値の個数 (NumObservationsを参照) です。

fitcsvmの名前と値のペアの引数RemoveDuplicatesを使用して重複を削除した場合,サポートベクターである重複する観測値の特定の集合に対して,Is万博1manbetxSupportVectorは1つの観測値のみにサポートベクターであるというフラグを設定します。

データ型:逻辑

このプロパティは読み取り専用です。

カーネルパラメーター。構造体配列を指定します。カーネル パラメータープロパティには、次の表に記載されているフィールドが含まれます。

フィールド 説明
関数

グラム行列の要素を計算するために使用するカーネル関数。詳細については,“KernelFunction”を参照してください。

スケール

モデルに学習させる予測子データのすべての要素をスケーリングするために使用するカーネルスケールパラメーター。詳細については,“KernelScale”を参照してください。

KernelParametersの値を表示するには,ドット表記を使用します。たとえば,Mdl.KernelParameters.Scaleはカーネル スケール パラメーターの値を表示します。

KernelParametersは入力として使用され、値は変更されません。

データ型:结构体

このプロパティは読み取り専用です。

1.クラス学習のパラメーターν。正のスカラーを指定します。

データ型:|

このプロパティは読み取り専用です。

学習データに含まれている外れ値の比率。数値スカラーを指定します。

データ型:

このプロパティは読み取り専用です。

支持向量机分類器の学習に使用する最適化ルーチン。ISDA的“L1QP”,またはSMO的を指定します。詳細については、“解算器”を参照してください。

このプロパティは読み取り専用です。

サポート ベクターのクラス ラベル。s行 1.列の数値ベクトルを指定します。sは学習済み分類器に含まれているサポート ベクターの個数 (总和(Mdl.IsS万博1manbetxupportVector))です。

万博1manbetx支持向量标签+1という値は,対応するサポートベクターが陽性クラス(一会{2})に含まれることを示します。1という値は,対応するサポートベクターが陰性クラス(一会{1})に含まれていることを示します。

fitcsvmの名前と値のペアの引数RemoveDuplicatesを使用して重複を削除した場合,サポートベクターである重複する観測値の特定の集合に対して,万博1manbetx支持向量标签には一意なサポートベクターのラベルが1つ含まれます。

データ型:|

このプロパティは読み取り専用です。

学習済み分類器内のサポートベクター。s行p列の数値行列を指定します。年代は学習済み分類器内のサポート ベクターの個数 (总和(Mdl.IsS万博1manbetxupportVector)), pは予測子データ内の予測子変数の個数です。

万博1manbetxSupportVectorsには,MATLABでサポートベクターと見なされる予測子データXの行が格納されます。fitcsvmを使用して 支持向量机分類器に学習をさせるときに“标准化”,没错を指定した場合,万博1manbetxSupportVectorsには標準化されたXの行が格納されます。

fitcsvmの名前と値のペアの引数RemoveDuplicatesを使用して重複を削除した場合,サポートベクターである重複する観測値の特定の集合に対して,万博1manbetxSupportVectorsには一意なサポートベクターが1つ含まれます。

データ型:|

他の分類のプロパティ

このプロパティは読み取り専用です。

カテゴリカル予測子のインデックス。正の整数のベクトルを指定します。CategoricalPredictorsには、カテゴリカル予測子が含まれている予測子データの列に対応するインデックス値を格納します。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]) になります。

データ型:

このプロパティは読み取り専用です。

学習で使用する一意なクラスラベル。绝对配列、文字配列、逻辑ベクトル、数値ベクトル,または文字ベクトルの细胞配列を指定します。一会のデータ型はクラスラベルYと同じです。(字符串配列は文字ベクトルの细胞配列として扱われます)。一会はクラスの順序も決定します。

データ型:||逻辑|字符|细胞|分类

このプロパティは読み取り専用です。

誤分類コスト。数値正方行列を指定します。成本(i,j)は,真のクラスがである場合に点をクラスjに分類するコストです。

学習時に、コスト行列で表されているペナルティが組み込まれて、事前確率が更新されます。

  • 2クラス学習の成本は、i~=jの場合は成本(i,j)=1i=jの場合は成本(i,j)=0という形式に必ずなります。行は真のクラスに、列は予測するクラスに対応します。成本の行と列の順序は、一会のクラスの順序に対応します。

  • 1クラス学習では,成本= 0です。

詳細は,アルゴリズムを参照してください。

データ型:

このプロパティは読み取り専用です。

展開された予測子名。文字ベクトルの细胞配列を指定します。

モデルでカテゴリカル変数用にダミー変数のエンコードを使用している場合,ExpandedPredictorNamesには展開された変数を表す名前が含まれます。それ以外の場合,ExpandedPredictorNamesPredictorNamesと同じです。

データ型:细胞

このプロパティは読み取り専用です。

学習データの勾配の値。数値ベクトルを指定します。梯度の長さは,観測値の個数(NumObservations) と同じです。

データ型:|

このプロパティは読み取り専用です。

ClassificationSVMモデルの学習に使用するパラメーター。オブジェクトを指定します。模型参数には,支持向量机分類器の学習に使用する名前と値のペアの引数の値などのパラメーター値が格納されます。推定したパラメーターは模型参数に格納されません。

模型参数のプロパティにアクセスするには,ドット表記を使用します。たとえば,αを推定するための初期値にアクセスするには,Mdl.ModelParameters.Alphaを使用します。

このプロパティは読み取り専用です。

予測子の平均。数値ベクトルを指定します。fitcsvmを使用して 支持向量机分類器に学習をさせるときに“标准化”,1または“标准化”,没错を指定した場合,μの長さは予測子の個数と同じです。

MATLABでは,完全なダミーエンコードを使用して予測子データ内のカテゴリカル変数が拡張されます。つまり,MATLABでは各カテゴリカル変数の各レベルについて1つずつダミー変数が作成されます。μには,ダミー変数を含む各予測子変数について1つずつ値が格納されます。ただし,カテゴリカル変数が含まれている列はMATLABでは標準化されません。

fitcsvmを使用して 支持向量机分類器に学習をさせるときに“标准化”,假的を設定した場合,μは空ベクトル ([])です。

データ型:|

このプロパティは読み取り専用です。

XおよびYに格納されている学習データ内の観測値の個数。数値スカラーを指定します。

データ型:

このプロパティは読み取り専用です。

予測子変数の名前。文字ベクトルの 单间牢房配列を指定します。PredictorNamesの要素の順序は,予測子名が学習データに現れる順序に対応します。

データ型:细胞

このプロパティは読み取り専用です。

各クラスの事前確率。数値ベクトルを指定します。之前の要素の順序はMdl。ClassNamesの要素に対応します。

2クラス学習の場合,コスト行列を指定すると,そのコスト行列で指定されているペナルティが組み込まれ,事前確率が更新されます。

詳細は,アルゴリズムを参照してください。

データ型:|

このプロパティは読み取り専用です。

応答変数名。文字ベクトルを指定します。

データ型:字符

このプロパティは読み取り専用です。

ClassificationSVMモデルのあてはめに使用した元の学習データの行。逻辑ベクトルを指定します。すべての行を使用した場合、このプロパティは空になります。

データ型:逻辑

スコア変換。文字ベクトルまたは関数ハンドルを指定します。ScoreTransformは,組み込みの変換関数または予測した分類スコアを変換する関数のハンドルを表します。

スコア変換関数を函数などに変更するには,ドット表記を使用します。

  • 組み込み関数の場合は,文字ベクトルを入力します。

    Mdl。ScoreTransform =“函数”;

    次の表は,使用可能な組み込み関数の一覧です。

    説明
    “doublelogit” 1 / (1 + e–2倍
    “invlogit” 对数(x/(1-x))
    “ismax” 最大のスコアをもつクラスのスコアを1に設定し,他のすべてのクラスのスコアを0に設定する
    分对数的 1 / (1 + e- x
    “没有”または“身份” x(変換なし)
    “标志” x < 0のとき1
    x=0のとき 0
    x>0のとき 1.
    “对称” 2 x - 1
    “symmetricismax” 最大のスコアをもつクラスのスコアを1に設定し,他のすべてのクラスのスコアを1に設定する
    “symmetriclogit” 2 / (1 + e- x) - 1

  • MATLAB関数やユーザー定義関数の場合は、関数ハンドルを入力します。

    Mdl。ScoreTransform = @function;

    函数は,行列(元のスコア)を受け入れて同じサイズの行列(変換したスコア)を返さなければなりません。

データ型:字符|function_handle

このプロパティは読み取り専用です。

予測子の標準偏差。数値ベクトルを指定します。

fitcsvmを使用して 支持向量机分類器に学習をさせるときに“标准化”,没错を指定した場合,σの長さは予測子変数の個数と同じです。

MATLABでは,完全なダミーエンコードを使用して予測子データ内のカテゴリカル変数が拡張されます。つまり,MATLABでは各カテゴリカル変数の各レベルについて1つずつダミー変数が作成されます。σには,ダミー変数を含む各予測子変数について1つずつ値が格納されます。ただし,カテゴリカル変数が含まれている列はMATLABでは標準化されません。

fitcsvmを使用して 支持向量机分類器に学習をさせるときに“标准化”,假的を設定した場合,σは空ベクトル ([])です。

データ型:|

このプロパティは読み取り専用です。

支持向量机分類器の学習に使用する観測値の重み。n行1列の数値ベクトルを指定します。nは観測値の個数(NumObservationsを参照) です。

fitcsvmは,特定のクラスにおけるWの要素の合計がそのクラスの事前確率になるように,名前と値のペアの引数“重量”で指定された観測値の重みを正規化します。

データ型:|

このプロパティは読み取り専用です。

支持向量机分類器の学習に使用する,標準化されていない予測子。数値行列またはテーブルを指定します。

Xの各行は1つの観測値に対応し,各列は1つの変数に対応します。

MATLABでは,欠損値が少なくとも1つ含まれている観測値が除外され,対応する要がYから削除されます。

データ型:|

このプロパティは読み取り専用です。

支持向量机分類器の学習に使用するクラスラベル。绝对配列、文字配列、逻辑ベクトル、数値ベクトル,または文字ベクトルの细胞配列を指定します。Yのデータ型はfitcsvmの入力引数Yと同じです。(字符串配列は文字ベクトルの细胞配列として扱われます)。

Yの各行は,Xの対応する行の観測された分類を表します。

MATLABでは、欠損値が含まれている要素が除外され、対応する観測値がXから削除されます。

データ型:||逻辑|字符|细胞|分类

収束制御のプロパティ

このプロパティは読み取り専用です。

収束情報。構造体配列を指定します。

フィールド 説明
聚合 アルゴリズムが収束したかどうかを示す論理フラグ (1は収束を示す)。
ReasonForConvergence 使用する収束検出条件を示す文字ベクトル。
差距 双対目的関数と主目的関数の間の実行可能性ギャップを示すスカラー。
GapTolerance 実行可能性ギャップの許容誤差を示すスカラー。この許容誤差を、たとえば1)依照に設定するには,fitcsvmの名前と値のペアの引数依照“GapTolerance”,1を使用します。
DeltaGradient スカラーで取得された,上位の違反値と下位の違反値の間の勾配差分
DeltaGradientTolerance 上位の違反値と下位の違反値の間の勾配差分に対するスカラーの許容誤差。この許容誤差を,たとえば1)依照に設定するには,fitcsvmの名前と値のペアの引数依照“DeltaGradientTolerance”,1を使用します。
LargestKKTViolation カルーシュ・キューン・タッカー (KKT)違反の最大値を示すスカラー。
KKTTolerance 马違反の最大値に対するスカラーの許容誤差。この許容誤差を,たとえば1 e - 3に設定するには,fitcsvmの名前と値のペアの引数“KKTTolerance”,1 e - 3を使用します。
历史

設定された最適化反復での収束情報を含む構造体配列。フィールドは次のとおりです。

  • NumIterations:収束情報の記録の対象となる反復インデックスの数値ベクトル

  • 差距:反復時の差距値の数値ベクトル

  • DeltaGradient:反復時のDeltaGradient値の数値ベクトル

  • LargestKKTViolation:反復時のLargestKKTViolation値の数値ベクトル

  • Num万博1manbetxSupportVectors:反復時のサポートベクターの数を示す数値ベクトル

  • 客观的:反復時の客观的値の数値ベクトル

客观的 双対目的関数のスカラー値。

データ型:结构体

このプロパティは読み取り専用です。

最適化ルーチンが収束するために必要な反復回数。正の整数を指定します。

反復回数の制限を,たとえば1000に設定するには,fitcsvmを使用して 支持向量机分類器に学習をさせるときに“IterationLimit”,1000年を指定します。

データ型:

このプロパティは読み取り専用です。

アクティブセットの縮小間の反復回数。非負の整数値を指定します。

縮小期間を,たとえば1000に設定するには,fitcsvmを使用して 支持向量机分類器に学習をさせるときに“收缩期”,1000を指定します。

データ型:|

ハイパーパラメーター最適化のプロパティ

このプロパティは読み取り専用です。

ハイパーパラメーターの交差検証最適化の説明。BayesianOptimizationオブジェクト、またはハイパーパラメーターおよび関連する値が含まれているテーブルを指定します。作成時にfitcsvmの名前と値のペアの引数“优化超参数”が空以外であった場合、このプロパティは空以外になります。HyperparameterOptimizationResultsの値は,次の表で説明されているように,作成時のfitcsvmの構造体HyperparameterOptimizationOptionsにおける优化器フィールドの設定によって変化します。

优化器フィールドの値 HyperparameterOptimizationResultsの値
“bayesopt”(既定の設定) BayesianOptimizationクラスのオブジェクト
“网格搜索”または“randomsearch” 使用したハイパーパラメーター,観測された目的関数の値(交差検証損失),および最低(最良)から最高(最悪)までの観測値の順位が格納されているテーブル

オブジェクト関数

紧凑的 機械学習モデルのサイズの縮小
compareHoldout 新しいデータを使用して 2.つの分類モデルの精度を比較
crossval 機械学習モデルの交差検証
丢弃支持向量万博1manbetx 線形サポートベクターマシン(SVM)分類器のサポートベクターを破棄
サポート ベクター マシン (支持向量机)分類器の分類エッジを計算
fitPosterior サポートベクターマシン(SVM)分類器の事後確率のあてはめ
incrementalLearner バイナリ分類サポート ベクター マシン (支持向量机)モデルのインクリメンタル学習器への変換
损失 サポートベクターマシン(SVM)分類器の分類誤差を計算
保证金 サポートベクターマシン(SVM)分類器の分類マージンを計算
partialDependence 部分従属の計算
plotPartialDependence 部分依存プロット(PDP)および個別条件付き期待値(ICE)プロットの作成
预测 サポートベクターマシン(SVM)分類器を使用して観測値を分類
resubEdge 再代入分類エッジ
石灰 本地可解释模型不可知解释(LIME)
resubLoss 再代入分類損失
resubMargin 再代入分類マージン
resubPredict 学習済み分類器を使用した学習データの分類
的简历 サポートベクターマシン(SVM)分類器の学習を再開
沙普利 シャープレイ値
testckfold 交差検証の反復により2つの分類モデルの精度を比較

すべて折りたたむ

フィッシャーのアヤメのデータセットを読み込みます。がく片の長さと幅および観測済みのすべての setosa 種のアヤメを削除します。

负载fisheriris第1 = ~ strcmp(物种,“setosa”);X =量(第1 3:4);y =物种(第1);

処理済みのデータセットを使用して 支持向量机分類器に学習させます。

SVMModel = fitcsvm (X, y)
SVMModel = ClassificationSVM ResponseName:‘Y’CategoricalPredictors:[]类名:{“癣”“virginica”}ScoreTransform:“没有一个”NumObservations: 100α:[24 x1双]偏见:-14.4149 KernelParameters: [1 x1 struct] BoxConstraints: x1双[100]ConvergenceInfo: [1 x1 struct] IsSupportVector: x1逻辑[100]解算器:SMO的属性,方法万博1manbetx

SVMModelは学習させたClassificationSVM分類器です。SVMModelのプロパティを表示します。たとえば,クラスの順序を確認するには、ドット表記を使用します。

classOrder=SVMModel.ClassNames
类顺序=2 x1细胞{“癣”}{' virginica '}

最初のクラス (“多色的”) は陰性のクラスで、2.番目のクラス (“virginica”)は陽性のクラスです。“类名”名前と値のペアの引数を使用すると、学習中にクラスの順序を変更できます。

データの散布図をプロットし,サポートベクターを円で囲みます。

sv = SVMModel.万博1manbetxSupportVectors;图gscatter (X (: 1), (:, 2), y)在…上情节(sv (: 1), sv (:, 2),“柯”“MarkerSize”10)传说(“多色的”“virginica”“万博1manbetx支持向量”)举行

图中包含一个坐标轴。轴线包含3个线型对象。这些对象代表花斑,维珍,支持向量。万博1manbetx

サポートベクターは,推定されたクラス境界の上または外側で発生する観測値です。

名前と値のペアの引数“BoxConstraint”を使用して学習時のボックス制約を設定すると,境界(および結果的にサポートベクターの個数)を調整できます。

电离层データセットを読み込みます。

负载电离层

支持向量机分類器の学習と交差検証を行います。予測子データを標準化し,クラスの順序を指定します。

rng (1);%的再现性CVSVMModel = fitcsvm (X, Y,“标准化”符合事实的...“类名”,{“b”‘g’},“克罗斯瓦尔”“上”
CVSVMModel=ClassificationPartitionedModel CrossValidatedModel:'SVM'预测名称:{1x34 cell}响应名称:'Y'numobervations:351 KFold:10 Partition:[1x1 cvpartition]类名:{b''g'}ScoreTransform:'none'属性、方法

CVSVMModelClassificationPartitionedModel交差検証SVM分類器です。既定では10分割交差検証が実行されます。

あるいは,学習済みのClassificationSVM分類器をcrossvalに渡すことにより,この分類器を交差検証できます。

ドット表記を使用して,学習させた分割のいずれかを検査します。

CVSVMModel.Trained{1}
ans = CompactClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' ' 'g'} ScoreTransform: 'none' Alpha: [78x1 double] Bias: -0.2209 KernelParameters: [1x1 struct] Mu: [1x34 double] Sigma: [1x34 double万博1manbetx] SupportVectors: [78x34 double] SupportVectorLabels: [78x1 double]属性,方法

各分割は、データの 90% で学習済みのCompactClassificationSVM分類器です。

汎化誤差を推定します。

genError = kfoldLoss (CVSVMModel)
genError = 0.1168

平均すると汎化誤差は約12%です。

詳細

すべて展開する

アルゴリズム

  • SVMバイナリ分類アルゴリズムの数学的定式化については,バイナリ分類のサポートベクターマシンサポートベクターマシンについてを参照してください。

  • <定义>、空の文字ベクトル ('')、空の 串(""),および< >失踪値は,欠損値を示します。fitcsvmは、欠損応答に対応するデータ行全体を削除します。fitcsvmは、重みの合計を計算するときに (以下の項目を参照)、欠損している予測子が 1.つ以上ある観測値に対応する重みを無視します。これにより、平衡なクラスの問題で不平衡な事前確率が発生する可能性があります。したがって、観測値のボックス制約がBoxConstraintに等しくならない可能性があります。

  • fitcsvmは,重みまたは事前確率がゼロの観測値を削除します。

  • 2クラス学習でコスト行列 C 成本を参照)を指定した場合, C で表されているペナルティを組み込むことにより、クラスの事前確率 p(之前を参照)がpcに更新されます。

    具体的には,fitcsvmは以下のステップを完了します。

    1. p c p C を計算します。

    2. 更新された事前確率の合計が1になるようにpcを正規化します。

      p c 1 j 1 K p c j p c

      Kはクラスの個数です。

    3. コスト行列を既定値にリセットします。

      C 0 1 1 0

    4. 事前確率がゼロのクラスに対応する観測値を学習データから削除します。

  • 2クラス学習の場合,fitcsvmは合計が 1.になるようにすべての観測値の重み (权重を参照) を正規化します。その後、観測値が属しているクラスの更新後の事前確率に重みの合計が等しくなるように、正規化された重みを再度正規化します。つまり、クラス Kの観測値 Jについて、重みの合計は次のようになります。

    w j w j j k w j p c k

    ここで,wjは観測値jの正規化された重み,pc kはクラスkの更新された事前確率(前の項目を参照)です。

  • 2クラス学習の場合,fitcsvmは学習データの各観測値にボックス制約を割り当てます。観測値jのボックス制約の式は,次のようになります。

    C j n C 0 w j

    ここでnは学習標本のサイズ,C0は初期のボックス制約 (名前と値のペアの引数“BoxConstraint”を参照), w j は観測値jの重みの合計(前の項目を参照)です。

  • “标准化”,没错と訛れと値のペアの引数“成本”“之前”または“重量”を設定した場合,fitcsvmは対応する加重平均および加重標準偏差を使用して予測子を標準化します。つまり,fitcsvmは以下を使用して予測子 j(x)j)を標準化します。

    x j x j μ j σ j

    μ j 1 k w k k w k x j k

    xjkは,予測子j(列)の観測値k(行)です。

    σ j 2 v 1 v 1 2 v 2 k w k x j k μ j 2

    v 1 j w j

    v 2 j w j 2

  • pは学習データで予期される外れ値の比率であり,“离群分数”,pを設定したと仮定します。

    • 1クラス学習では,バイアス項の学習により,学習データの観測値のうち100p% が負のスコアをもつようになります。

    • 2.クラス学習では"ロバスト学習"が行われます。この方式では,最適化アルゴリズムが収束すると,観測値のうち100p%の削除が試行されます。削除された観測値は,勾配の大きいものに対応します。

  • 予測子データにカテゴリカル変数が含まれている場合,一般にこれらの変数について完全なダミーエンコードが使用されます。各カテゴリカル変数の各レベルについて,1つずつダミー変数が作成されます。

    • PredictorNamesプロパティには、元の予測子変数名のそれぞれについて 1.つずつ要素が格納されます。たとえば、3.つの予測子があり、そのうちの 1.つは 3.つのレベルがあるカテゴリカル変数であるとします。この場合、PredictorNamesは元の予測子変数名が含まれている1行3列の文字ベクトルの细胞配列になります。

    • ExpandedPredictorNamesプロパティには,ダミー変数を含む予測子変数のそれぞれについて1つずつ要素が格納されます。たとえば,3 つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、ExpandedPredictorNamesは予測子変数および新しいダミー変数の名前が含まれている 1.行 5.列の文字ベクトルの 单间牢房配列になります。

    • 同様に,βプロパティには,ダミー変数を含む各予測子について1つずつベータ係数が格納されます。

    • 万博1manbetxSupportVectorsプロパティには,ダミー変数を含むサポートベクターの予測子の値が格納されます。たとえば,m 個のサポート ベクターと 3 つの予測子があり、そのうちの 1 つは 3 つのレベルがあるカテゴリカル変数であるとします。この場合、万博1manbetxSupportVectorsは N行 5.列の行列になります。

    • Xプロパティには,はじめに入力されたときの状態で学習データが格納され,ダミー変数は含まれません。入力がテーブルの場合,Xには予測子として使用した列のみが格納されます。

  • テーブルで予測子を指定した場合,いずれかの変数に順序付きのカテゴリが含まれていると,これらの変数について順序付きエンコードが使用されます。

    • K個の順序付きレベルが変数に含まれている場合、k-1個のダミー変数が作成されます。j番目のダミー変数は、j までのレベルについては1j + 1からkまでのレベルについては+1になります。

    • ExpandedPredictorNamesプロパティに格納されるダミー変数の名前は1番目のレベルを示し,値は+1になります。レベル 2,3,…,kの名前を含むk-1個の追加予測子名がダミー変数について格納されます。

  • どのソルバーも L1ソフト マージン最小化を実装します。

  • 1クラス学習の場合,次の条件を満たすラグランジュ乗数α1,…,αnが推定されます。

    j 1 n α j n ν

参照

[1] 《统计学习的要素》,第二版。纽约:斯普林格,2008。

Scholkopf, B., J. C. Platt, J. C. shaw - taylor, A. J. Smola, R. C. Williamson。"估算高维分布的支持度"万博1manbetx神经第一版。,Vol. 13, Number 7, 2001, pp. 1443–1471.

克里斯汀尼尼,N。c。肖-泰勒。支持向量机和其他基于核的学习方法简介。万博1manbetx英国剑桥:剑桥大学出版社,2000年。

[4] Scholkopf, B.和A. Smola。核学习:支持向量机,正则化,优化和超越,自适应万博1manbetx计算和机器学习。麻省理工学院出版社,2002年。

拡張機能

R2014aで導入