ClassificationKernel
ランダムな特徴量拡張を使用したガウス カーネル分類モデル
説明
ClassificationKernel は、ランダムな特徴量拡張を使用した、バイナリ ガウス カーネル分類モデルの学習済みモデル オブジェクトです。ClassificationKernel は、大規模な学習セットが含まれているビッグ データ事例への適用の方がより有用ですが、メモリに収まる小規模なデータ セットにも適用できます。
他の分類モデルと異なり、メモリ消費を節約するため、ClassificationKernel モデル オブジェクトには学習データが格納されません。ただし、拡張空間の次元数、カーネル スケール パラメーター、事前クラス確率、正則化強度などの情報は格納されます。
学習済みの ClassificationKernel モデルを使用して、学習データにより学習を続行したり、新しいデータの分類スコアまたはラベルを予測できます。詳細については、resume とpredictを参照してください。
作成
関数 fitckernel を使用して ClassificationKernel オブジェクトを作成します。この関数は、低次元空間のデータを高次元空間にマッピングしてから、正則化された目的関数を最小化することによって高次元空間で線形モデルを当てはめます。高次元空間の線形モデルは、低次元空間におけるガウス カーネルをもつモデルと等価です。使用可能な線形分類モデルには、正則化されたサポート ベクター マシン (SVM) とロジスティック回帰モデルがあります。
プロパティ
カーネル分類のプロパティ
線形分類モデルのタイプ。'logistic' または 'svm' を指定します。
次の表では です。
x は p 個の予測子変数による観測値 (行ベクトル) です。
は特徴量を拡張するための観測値 (行ベクトル) の変換です。T(x) は の x を高次元空間 () にマッピングします。
β は係数のベクトルです。
b はスカラー バイアスです。
| 値 | アルゴリズム | 損失関数 | FittedLoss の値 |
|---|---|---|---|
'svm' | サポート ベクター マシン | ヒンジ: | 'hinge' |
'logistic' | ロジスティック回帰 | 逸脱度 (ロジスティック): | 'logit' |
拡張空間の次元数。正の整数を指定します。
データ型: single | double
カーネル スケール パラメーター。正のスカラーを指定します。
データ型: char | single | double
ボックス制約。正のスカラーを指定します。
データ型: double | single
正則化項の強度。非負のスカラーを指定します。
データ型: single | double
R2023b 以降
この プロパティ は読み取り専用です。
予測子の平均。数値ベクトルを指定します。カーネル モデルに学習させるときに Standardize を 1 または true として指定した場合、ベクトル Mu の長さは展開された予測子の数と等しくなります (ExpandedPredictorNames を参照)。展開されたカテゴリカル予測子に対応するダミー変数については、ベクトルに値 0 が格納されます。
カーネル モデルに学習させるときに Standardize を 0 または false に設定した場合、Mu の値は空ベクトル ([]) になります。
データ型: double
R2023b 以降
この プロパティ は読み取り専用です。
予測子の標準偏差。数値ベクトルを指定します。カーネル モデルに学習させるときに Standardize を 1 または true として指定した場合、ベクトル Sigma の長さは展開された予測子の数と等しくなります (ExpandedPredictorNames を参照)。展開されたカテゴリカル予測子に対応するダミー変数については、ベクトルに値 1 が格納されます。
カーネル モデルに学習させるときに Standardize を 0 または false に設定した場合、Sigma の値は空ベクトル ([]) になります。
データ型: double
この プロパティ は読み取り専用です。
線形モデルの当てはめに使用する損失関数。'hinge' または 'logit' を指定します。
| 値 | アルゴリズム | 損失関数 | Learner の値 |
|---|---|---|---|
'hinge' | サポート ベクター マシン | ヒンジ: | 'svm' |
'logit' | ロジスティック回帰 | 逸脱度 (ロジスティック): | 'logistic' |
複雑度ペナルティのタイプ。常に 'ridge (L2)' です。
最小化のための目的関数は、平均損失関数 (FittedLoss を参照) と正則化項であるリッジ (L2) ペナルティを加算することにより作成されます。
リッジ (L2) ペナルティは次のようになります。
ここで、λ は正則化項の強度 (Lambda を参照) を指定します。バイアス項 (β0) は正則化ペナルティから除外されます。
他の分類のプロパティ
カテゴリカル予測子のインデックス。正の整数のベクトルとして指定します。CategoricalPredictors には、対応する予測子がカテゴリカルであることを示すインデックス値が格納されます。インデックス値の範囲は 1 ~ p です。p はモデルの学習に使用した予測子の数です。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]) になります。
データ型: single | double
この プロパティ は読み取り専用です。
学習で使用する一意なクラス ラベル。categorical 配列、文字配列、logical ベクトル、数値ベクトル、または文字ベクトルの cell 配列を指定します。ClassNames のデータ型はクラス ラベル Y と同じです。(string 配列は文字ベクトルの cell 配列として扱われます)。ClassNames はクラスの順序も決定します。
データ型: categorical | char | logical | single | double | cell
この プロパティ は読み取り専用です。
誤分類のコスト。正方数値行列として指定します。Cost には K 個の行および列が含まれ、K はクラスの数です。
Cost( は、真のクラスが i,j)i である点をクラス j に分類するコストです。Cost の行と列の順序は、ClassNames のクラスの順序に対応します。
データ型: double
ClassificationKernel モデルに学習をさせるために使用したパラメーター。構造体を指定します。
ModelParameters のフィールドにはドット表記でアクセスします。たとえば、線形係数およびバイアス項の相対許容誤差にアクセスするには Mdl.ModelParameters.BetaTolerance を使用します。
データ型: struct
予測子データに現れる順序で並んでいる予測子名。文字ベクトルの cell 配列として指定します。PredictorNames の長さは、学習データ X または Tbl で予測子変数として使用される列の数と等しくなります。
データ型: cell
展開された予測子名。文字ベクトルの cell 配列を指定します。
モデルがカテゴリカル変数用のエンコーディングを使用している場合、ExpandedPredictorNames には展開された変数を表す名前が格納されます。それ以外の場合、ExpandedPredictorNames は PredictorNames と同じです。
データ型: cell
この プロパティ は読み取り専用です。
事前クラス確率。数値ベクトルとして指定します。Prior には、ClassNames のクラスと同数の要素があり、その順序は ClassNames の要素と一致します。
データ型: double
応答変数名。文字ベクトルを指定します。
データ型: char
予測されたスコアに適用するスコア変換関数。関数名または関数ハンドルを指定します。
カーネル分類モデルでスコア変換前の場合、観測値 x (行ベクトル) について予測される分類スコアは です。
は特徴量を拡張するための観測値の変換です。
β は推定された係数の列ベクトルです。
b は推定されたスカラー バイアスです。
スコア変換関数を function などに変更するには、ドット表記を使用します。
組み込み関数の場合、
functionを表の値に置き換えて次のコードを入力します。Mdl.ScoreTransform = 'function';
値 説明 "doublelogit"1/(1 + e–2x) "invlogit"log(x / (1 – x)) "ismax"最大のスコアをもつクラスのスコアを 1 に設定し、他のすべてのクラスのスコアを 0 に設定する "logit"1/(1 + e–x) "none"または"identity"x (変換なし) "sign"x < 0 のとき –1
x = 0 のとき 0
x > 0 のとき 1"symmetric"2x – 1 "symmetricismax"最大のスコアをもつクラスのスコアを 1 に設定し、他のすべてのクラスのスコアを –1 に設定する "symmetriclogit"2/(1 + e–x) – 1 MATLAB® 関数やユーザー定義関数の場合は、関数ハンドルを入力します。
Mdl.ScoreTransform = @function;
functionは、各クラスの元のスコアの行列を受け入れて、各クラスの変換後のスコアを表す同じサイズの行列を返さなければなりません。
データ型: char | function_handle
オブジェクト関数
edge | ガウス カーネル分類モデルの分類エッジ |
gather | Gather properties of Statistics and Machine Learning Toolbox object from GPU |
incrementalLearner | バイナリ分類用のカーネル モデルをインクリメンタル学習器に変換 |
lime | Local Interpretable Model-agnostic Explanations (LIME) |
loss | ガウス カーネル分類モデルの分類損失 |
margin | ガウス カーネル分類モデルの分類マージン |
partialDependence | 部分依存の計算 |
plotPartialDependence | 部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成 |
predict | ガウス カーネル分類モデルのラベルの予測 |
resume | ガウス カーネル分類モデルの学習の再開 |
shapley | シャープレイ値 |
例
SVM を使用して、バイナリ カーネル分類モデルに学習をさせます。
ionosphere データ セットを読み込みます。このデータ セットには、レーダー反射についての 34 個の予測子と、不良 ('b') または良好 ('g') という 351 個の二項反応が含まれています。
load ionosphere
[n,p] = size(X)n = 351
p = 34
resp = unique(Y)
resp = 2×1 cell
{'b'}
{'g'}
レーダー反射が不良 ('b') と良好 ('g') のどちらであるかを識別するバイナリ カーネル分類モデルに学習をさせます。当てはめの要約を抽出して、最適化アルゴリズムによりモデルがどの程度適切にデータに当てはめられたかを判断します。
rng('default') % For reproducibility [Mdl,FitInfo] = fitckernel(X,Y)
Mdl =
ClassificationKernel
ResponseName: 'Y'
ClassNames: {'b' 'g'}
Learner: 'svm'
NumExpansionDimensions: 2048
KernelScale: 1
Lambda: 0.0028
BoxConstraint: 1
Properties, Methods
FitInfo = struct with fields:
Solver: 'LBFGS-fast'
LossFunction: 'hinge'
Lambda: 0.0028
BetaTolerance: 1.0000e-04
GradientTolerance: 1.0000e-06
ObjectiveValue: 0.2604
GradientMagnitude: 0.0028
RelativeChangeInBeta: 8.2512e-05
FitTime: 0.1501
History: []
Mdl は ClassificationKernel モデルです。標本内分類誤差を調べるには、Mdl と学習データまたは新しいデータを関数 loss に渡すことができます。または、Mdl と新しい予測子データを関数 predict に渡して、新しい観測値のクラス ラベルを予測することができます。また、Mdl と学習データを関数 resume に渡して学習を続行することもできます。
FitInfo は、最適化情報が格納されている構造体配列です。最適化終了時の結果が満足できるものであるかどうかを判断するには、FitInfo を使用します。
精度を向上させるため、名前と値のペアの引数を使用して、最適化反復の最大回数 ('IterationLimit') を増やしたり、許容誤差の値 ('BetaTolerance' および 'GradientTolerance') を小さくすることができます。このようにすると、FitInfo の ObjectiveValue や RelativeChangeInBeta などの尺度が向上します。名前と値のペアの引数 'OptimizeHyperparameters' を使用してモデル パラメーターを最適化することもできます。
ionosphere データ セットを読み込みます。このデータ セットには、レーダー反射についての 34 個の予測子と、不良 ('b') または良好 ('g') という 351 個の二項反応が含まれています。
load ionosphereデータ セットを学習セットとテスト セットに分割します。テスト セット用に 20% のホールドアウト標本を指定します。
rng('default') % For reproducibility Partition = cvpartition(Y,'Holdout',0.20); trainingInds = training(Partition); % Indices for the training set XTrain = X(trainingInds,:); YTrain = Y(trainingInds); testInds = test(Partition); % Indices for the test set XTest = X(testInds,:); YTest = Y(testInds);
レーダー反射が不良 ('b') と良好 ('g') のどちらであるかを識別するバイナリ カーネル分類モデルに学習をさせます。
Mdl = fitckernel(XTrain,YTrain,'IterationLimit',5,'Verbose',1);
|=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 0 | 1.000000e+00 | 0.000000e+00 | 2.811388e-01 | | 0 | | LBFGS | 1 | 1 | 7.585395e-01 | 4.000000e+00 | 3.594306e-01 | 1.000000e+00 | 2048 | | LBFGS | 1 | 2 | 7.160994e-01 | 1.000000e+00 | 2.028470e-01 | 6.923988e-01 | 2048 | | LBFGS | 1 | 3 | 6.825272e-01 | 1.000000e+00 | 2.846975e-02 | 2.388909e-01 | 2048 | | LBFGS | 1 | 4 | 6.699435e-01 | 1.000000e+00 | 1.779359e-02 | 1.325304e-01 | 2048 | | LBFGS | 1 | 5 | 6.535619e-01 | 1.000000e+00 | 2.669039e-01 | 4.112952e-01 | 2048 | |=================================================================================================================|
Mdl は ClassificationKernel モデルです。
テスト セットのラベルを予測し、テスト セットの混同行列を作成し、テスト セットの分類誤差を推定します。
label = predict(Mdl,XTest); ConfusionTest = confusionchart(YTest,label);

L = loss(Mdl,XTest,YTest)
L = 0.3594
Mdl は、すべての不良なレーダー反射を良好な反射として誤分類します。
resume を使用して学習を続行します。この関数は、Mdl の学習に使用したものと同じ学習オプションによって学習を続行します。
UpdatedMdl = resume(Mdl,XTrain,YTrain);
|=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 0 | 6.535619e-01 | 0.000000e+00 | 2.669039e-01 | | 2048 | | LBFGS | 1 | 1 | 6.132547e-01 | 1.000000e+00 | 6.355537e-03 | 1.522092e-01 | 2048 | | LBFGS | 1 | 2 | 5.938316e-01 | 4.000000e+00 | 3.202847e-02 | 1.498036e-01 | 2048 | | LBFGS | 1 | 3 | 4.169274e-01 | 1.000000e+00 | 1.530249e-01 | 7.234253e-01 | 2048 | | LBFGS | 1 | 4 | 3.679212e-01 | 5.000000e-01 | 2.740214e-01 | 2.495886e-01 | 2048 | | LBFGS | 1 | 5 | 3.332261e-01 | 1.000000e+00 | 1.423488e-02 | 9.558680e-02 | 2048 | | LBFGS | 1 | 6 | 3.235335e-01 | 1.000000e+00 | 7.117438e-03 | 7.137260e-02 | 2048 | | LBFGS | 1 | 7 | 3.112331e-01 | 1.000000e+00 | 6.049822e-02 | 1.252157e-01 | 2048 | | LBFGS | 1 | 8 | 2.972144e-01 | 1.000000e+00 | 7.117438e-03 | 5.796240e-02 | 2048 | | LBFGS | 1 | 9 | 2.837450e-01 | 1.000000e+00 | 8.185053e-02 | 1.484733e-01 | 2048 | | LBFGS | 1 | 10 | 2.797642e-01 | 1.000000e+00 | 3.558719e-02 | 5.856842e-02 | 2048 | | LBFGS | 1 | 11 | 2.771280e-01 | 1.000000e+00 | 2.846975e-02 | 2.349433e-02 | 2048 | | LBFGS | 1 | 12 | 2.741570e-01 | 1.000000e+00 | 3.914591e-02 | 3.113194e-02 | 2048 | | LBFGS | 1 | 13 | 2.725701e-01 | 5.000000e-01 | 1.067616e-01 | 8.729821e-02 | 2048 | | LBFGS | 1 | 14 | 2.667147e-01 | 1.000000e+00 | 3.914591e-02 | 3.491723e-02 | 2048 | | LBFGS | 1 | 15 | 2.621152e-01 | 1.000000e+00 | 7.117438e-03 | 5.104726e-02 | 2048 | | LBFGS | 1 | 16 | 2.601652e-01 | 1.000000e+00 | 3.558719e-02 | 3.764904e-02 | 2048 | | LBFGS | 1 | 17 | 2.589052e-01 | 1.000000e+00 | 3.202847e-02 | 3.655744e-02 | 2048 | | LBFGS | 1 | 18 | 2.583185e-01 | 1.000000e+00 | 7.117438e-03 | 6.490571e-02 | 2048 | | LBFGS | 1 | 19 | 2.556482e-01 | 1.000000e+00 | 9.252669e-02 | 4.601390e-02 | 2048 | | LBFGS | 1 | 20 | 2.542643e-01 | 1.000000e+00 | 7.117438e-02 | 4.141838e-02 | 2048 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 21 | 2.532117e-01 | 1.000000e+00 | 1.067616e-02 | 1.661720e-02 | 2048 | | LBFGS | 1 | 22 | 2.529890e-01 | 1.000000e+00 | 2.135231e-02 | 1.231678e-02 | 2048 | | LBFGS | 1 | 23 | 2.523232e-01 | 1.000000e+00 | 3.202847e-02 | 1.958586e-02 | 2048 | | LBFGS | 1 | 24 | 2.506736e-01 | 1.000000e+00 | 1.779359e-02 | 2.474613e-02 | 2048 | | LBFGS | 1 | 25 | 2.501995e-01 | 1.000000e+00 | 1.779359e-02 | 2.514352e-02 | 2048 | | LBFGS | 1 | 26 | 2.488242e-01 | 1.000000e+00 | 3.558719e-03 | 1.531810e-02 | 2048 | | LBFGS | 1 | 27 | 2.485295e-01 | 5.000000e-01 | 3.202847e-02 | 1.229760e-02 | 2048 | | LBFGS | 1 | 28 | 2.482244e-01 | 1.000000e+00 | 4.270463e-02 | 8.970983e-03 | 2048 | | LBFGS | 1 | 29 | 2.479714e-01 | 1.000000e+00 | 3.558719e-03 | 7.393900e-03 | 2048 | | LBFGS | 1 | 30 | 2.477316e-01 | 1.000000e+00 | 3.202847e-02 | 3.268087e-03 | 2048 | | LBFGS | 1 | 31 | 2.476178e-01 | 2.500000e-01 | 3.202847e-02 | 5.445890e-03 | 2048 | | LBFGS | 1 | 32 | 2.474874e-01 | 1.000000e+00 | 1.779359e-02 | 3.535903e-03 | 2048 | | LBFGS | 1 | 33 | 2.473980e-01 | 1.000000e+00 | 7.117438e-03 | 2.821725e-03 | 2048 | | LBFGS | 1 | 34 | 2.472935e-01 | 1.000000e+00 | 3.558719e-03 | 2.699880e-03 | 2048 | | LBFGS | 1 | 35 | 2.471418e-01 | 1.000000e+00 | 3.558719e-03 | 1.242523e-02 | 2048 | | LBFGS | 1 | 36 | 2.469862e-01 | 1.000000e+00 | 2.846975e-02 | 7.895605e-03 | 2048 | | LBFGS | 1 | 37 | 2.469598e-01 | 1.000000e+00 | 2.135231e-02 | 6.657676e-03 | 2048 | | LBFGS | 1 | 38 | 2.466941e-01 | 1.000000e+00 | 3.558719e-02 | 4.654690e-03 | 2048 | | LBFGS | 1 | 39 | 2.466660e-01 | 5.000000e-01 | 1.423488e-02 | 2.885769e-03 | 2048 | | LBFGS | 1 | 40 | 2.465605e-01 | 1.000000e+00 | 3.558719e-03 | 4.562565e-03 | 2048 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 41 | 2.465362e-01 | 1.000000e+00 | 1.423488e-02 | 5.652180e-03 | 2048 | | LBFGS | 1 | 42 | 2.463528e-01 | 1.000000e+00 | 3.558719e-03 | 2.389759e-03 | 2048 | | LBFGS | 1 | 43 | 2.463207e-01 | 1.000000e+00 | 1.511170e-03 | 3.738286e-03 | 2048 | | LBFGS | 1 | 44 | 2.462585e-01 | 5.000000e-01 | 7.117438e-02 | 2.321693e-03 | 2048 | | LBFGS | 1 | 45 | 2.461742e-01 | 1.000000e+00 | 7.117438e-03 | 2.599725e-03 | 2048 | | LBFGS | 1 | 46 | 2.461434e-01 | 1.000000e+00 | 3.202847e-02 | 3.186923e-03 | 2048 | | LBFGS | 1 | 47 | 2.461115e-01 | 1.000000e+00 | 7.117438e-03 | 1.530711e-03 | 2048 | | LBFGS | 1 | 48 | 2.460814e-01 | 1.000000e+00 | 1.067616e-02 | 1.811714e-03 | 2048 | | LBFGS | 1 | 49 | 2.460533e-01 | 5.000000e-01 | 1.423488e-02 | 1.012252e-03 | 2048 | | LBFGS | 1 | 50 | 2.460111e-01 | 1.000000e+00 | 1.423488e-02 | 4.166762e-03 | 2048 | | LBFGS | 1 | 51 | 2.459414e-01 | 1.000000e+00 | 1.067616e-02 | 3.271946e-03 | 2048 | | LBFGS | 1 | 52 | 2.458809e-01 | 1.000000e+00 | 1.423488e-02 | 1.846440e-03 | 2048 | | LBFGS | 1 | 53 | 2.458479e-01 | 1.000000e+00 | 1.067616e-02 | 1.180871e-03 | 2048 | | LBFGS | 1 | 54 | 2.458146e-01 | 1.000000e+00 | 1.455008e-03 | 1.422954e-03 | 2048 | | LBFGS | 1 | 55 | 2.457878e-01 | 1.000000e+00 | 7.117438e-03 | 1.880892e-03 | 2048 | | LBFGS | 1 | 56 | 2.457519e-01 | 1.000000e+00 | 2.491103e-02 | 1.074764e-03 | 2048 | | LBFGS | 1 | 57 | 2.457420e-01 | 1.000000e+00 | 7.473310e-02 | 9.511878e-04 | 2048 | | LBFGS | 1 | 58 | 2.457212e-01 | 1.000000e+00 | 3.558719e-03 | 3.718564e-04 | 2048 | | LBFGS | 1 | 59 | 2.457089e-01 | 1.000000e+00 | 4.270463e-02 | 6.237270e-04 | 2048 | | LBFGS | 1 | 60 | 2.457047e-01 | 5.000000e-01 | 1.423488e-02 | 3.647573e-04 | 2048 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 61 | 2.456991e-01 | 1.000000e+00 | 1.423488e-02 | 5.666884e-04 | 2048 | | LBFGS | 1 | 62 | 2.456898e-01 | 1.000000e+00 | 1.779359e-02 | 4.697056e-04 | 2048 | | LBFGS | 1 | 63 | 2.456792e-01 | 1.000000e+00 | 1.779359e-02 | 5.984927e-04 | 2048 | | LBFGS | 1 | 64 | 2.456603e-01 | 1.000000e+00 | 1.403782e-03 | 5.414985e-04 | 2048 | | LBFGS | 1 | 65 | 2.456482e-01 | 1.000000e+00 | 3.558719e-03 | 6.506293e-04 | 2048 | | LBFGS | 1 | 66 | 2.456358e-01 | 1.000000e+00 | 1.476262e-03 | 1.284139e-03 | 2048 | | LBFGS | 1 | 67 | 2.456124e-01 | 1.000000e+00 | 3.558719e-03 | 8.636596e-04 | 2048 | | LBFGS | 1 | 68 | 2.455980e-01 | 1.000000e+00 | 1.067616e-02 | 9.861527e-04 | 2048 | | LBFGS | 1 | 69 | 2.455780e-01 | 1.000000e+00 | 1.067616e-02 | 5.102487e-04 | 2048 | | LBFGS | 1 | 70 | 2.455633e-01 | 1.000000e+00 | 3.558719e-03 | 1.228077e-03 | 2048 | | LBFGS | 1 | 71 | 2.455449e-01 | 1.000000e+00 | 1.423488e-02 | 7.864590e-04 | 2048 | | LBFGS | 1 | 72 | 2.455261e-01 | 1.000000e+00 | 3.558719e-02 | 1.090815e-03 | 2048 | | LBFGS | 1 | 73 | 2.455142e-01 | 1.000000e+00 | 1.067616e-02 | 1.701506e-03 | 2048 | | LBFGS | 1 | 74 | 2.455075e-01 | 1.000000e+00 | 1.779359e-02 | 1.504577e-03 | 2048 | | LBFGS | 1 | 75 | 2.455008e-01 | 1.000000e+00 | 3.914591e-02 | 1.144021e-03 | 2048 | | LBFGS | 1 | 76 | 2.454943e-01 | 1.000000e+00 | 2.491103e-02 | 3.015254e-04 | 2048 | | LBFGS | 1 | 77 | 2.454918e-01 | 5.000000e-01 | 3.202847e-02 | 9.837523e-04 | 2048 | | LBFGS | 1 | 78 | 2.454870e-01 | 1.000000e+00 | 1.779359e-02 | 4.328953e-04 | 2048 | | LBFGS | 1 | 79 | 2.454865e-01 | 5.000000e-01 | 3.558719e-03 | 7.126815e-04 | 2048 | | LBFGS | 1 | 80 | 2.454775e-01 | 1.000000e+00 | 5.693950e-02 | 8.992562e-04 | 2048 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 81 | 2.454686e-01 | 1.000000e+00 | 1.183730e-03 | 1.590246e-04 | 2048 | | LBFGS | 1 | 82 | 2.454612e-01 | 1.000000e+00 | 2.135231e-02 | 1.389570e-04 | 2048 | | LBFGS | 1 | 83 | 2.454506e-01 | 1.000000e+00 | 3.558719e-03 | 6.162089e-04 | 2048 | | LBFGS | 1 | 84 | 2.454436e-01 | 1.000000e+00 | 1.423488e-02 | 1.877414e-03 | 2048 | | LBFGS | 1 | 85 | 2.454378e-01 | 1.000000e+00 | 1.423488e-02 | 3.370852e-04 | 2048 | | LBFGS | 1 | 86 | 2.454249e-01 | 1.000000e+00 | 1.423488e-02 | 8.133615e-04 | 2048 | | LBFGS | 1 | 87 | 2.454101e-01 | 1.000000e+00 | 1.067616e-02 | 3.872088e-04 | 2048 | | LBFGS | 1 | 88 | 2.453963e-01 | 1.000000e+00 | 1.779359e-02 | 5.670260e-04 | 2048 | | LBFGS | 1 | 89 | 2.453866e-01 | 1.000000e+00 | 1.067616e-02 | 1.444984e-03 | 2048 | | LBFGS | 1 | 90 | 2.453821e-01 | 1.000000e+00 | 7.117438e-03 | 2.457270e-03 | 2048 | | LBFGS | 1 | 91 | 2.453790e-01 | 5.000000e-01 | 6.761566e-02 | 8.228766e-04 | 2048 | | LBFGS | 1 | 92 | 2.453603e-01 | 1.000000e+00 | 2.135231e-02 | 1.084233e-03 | 2048 | | LBFGS | 1 | 93 | 2.453540e-01 | 1.000000e+00 | 2.135231e-02 | 2.060005e-04 | 2048 | | LBFGS | 1 | 94 | 2.453482e-01 | 1.000000e+00 | 1.779359e-02 | 1.560883e-04 | 2048 | | LBFGS | 1 | 95 | 2.453461e-01 | 1.000000e+00 | 1.779359e-02 | 1.614693e-03 | 2048 | | LBFGS | 1 | 96 | 2.453371e-01 | 1.000000e+00 | 3.558719e-02 | 2.145835e-04 | 2048 | | LBFGS | 1 | 97 | 2.453305e-01 | 1.000000e+00 | 4.270463e-02 | 7.602088e-04 | 2048 | | LBFGS | 1 | 98 | 2.453283e-01 | 2.500000e-01 | 2.135231e-02 | 3.422253e-04 | 2048 | | LBFGS | 1 | 99 | 2.453246e-01 | 1.000000e+00 | 3.558719e-03 | 3.872561e-04 | 2048 | | LBFGS | 1 | 100 | 2.453214e-01 | 1.000000e+00 | 3.202847e-02 | 1.732237e-04 | 2048 | |=================================================================================================================| | Solver | Pass | Iteration | Objective | Step | Gradient | Relative | sum(beta~=0) | | | | | | | magnitude | change in Beta | | |=================================================================================================================| | LBFGS | 1 | 101 | 2.453168e-01 | 1.000000e+00 | 1.067616e-02 | 3.065286e-04 | 2048 | | LBFGS | 1 | 102 | 2.453155e-01 | 5.000000e-01 | 4.626335e-02 | 3.402368e-04 | 2048 | | LBFGS | 1 | 103 | 2.453136e-01 | 1.000000e+00 | 1.779359e-02 | 2.215029e-04 | 2048 | | LBFGS | 1 | 104 | 2.453119e-01 | 1.000000e+00 | 3.202847e-02 | 4.142355e-04 | 2048 | | LBFGS | 1 | 105 | 2.453093e-01 | 1.000000e+00 | 1.423488e-02 | 2.186007e-04 | 2048 | | LBFGS | 1 | 106 | 2.453090e-01 | 1.000000e+00 | 2.846975e-02 | 1.338602e-03 | 2048 | | LBFGS | 1 | 107 | 2.453048e-01 | 1.000000e+00 | 1.423488e-02 | 3.208296e-04 | 2048 | | LBFGS | 1 | 108 | 2.453040e-01 | 1.000000e+00 | 3.558719e-02 | 1.294488e-03 | 2048 | | LBFGS | 1 | 109 | 2.452977e-01 | 1.000000e+00 | 1.423488e-02 | 8.328380e-04 | 2048 | | LBFGS | 1 | 110 | 2.452934e-01 | 1.000000e+00 | 2.135231e-02 | 5.149259e-04 | 2048 | | LBFGS | 1 | 111 | 2.452886e-01 | 1.000000e+00 | 1.779359e-02 | 3.650664e-04 | 2048 | | LBFGS | 1 | 112 | 2.452854e-01 | 1.000000e+00 | 1.067616e-02 | 2.633981e-04 | 2048 | | LBFGS | 1 | 113 | 2.452836e-01 | 1.000000e+00 | 1.067616e-02 | 1.804300e-04 | 2048 | | LBFGS | 1 | 114 | 2.452817e-01 | 1.000000e+00 | 7.117438e-03 | 4.251642e-04 | 2048 | | LBFGS | 1 | 115 | 2.452741e-01 | 1.000000e+00 | 1.779359e-02 | 9.018440e-04 | 2048 | | LBFGS | 1 | 116 | 2.452691e-01 | 1.000000e+00 | 2.135231e-02 | 9.941716e-05 | 2048 | |=================================================================================================================|
テスト セットのラベルを予測し、テスト セットの混同行列を作成し、テスト セットの分類誤差を推定します。
UpdatedLabel = predict(UpdatedMdl,XTest); UpdatedConfusionTest = confusionchart(YTest,UpdatedLabel);

UpdatedL = loss(UpdatedMdl,XTest,YTest)
UpdatedL = 0.1284
反復回数を増やして resume で分類モデルを更新すると、分類誤差が減少します。
拡張機能
使用上の注意および制限:
次のオブジェクト関数は GPU 配列を完全にサポートしています。
次の少なくとも 1 つに該当する場合、オブジェクト関数は GPU で実行されます。
モデルが GPU 配列を使用して当てはめられている。
オブジェクト関数に渡す予測子データが GPU 配列である。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2017b で導入fitckernel を使用して GPU 配列で ClassificationKernel オブジェクトを当てはめることができます。GPU で関数を実行できるように、ClassificationKernel のほとんどのオブジェクト関数で GPU 配列の入力引数がサポートされるようになりました。GPU 配列の入力をサポートしていないオブジェクト関数は、incrementalLearner、lime、および shapley です。
gather 関数を使用して、ClassificationKernel モデル オブジェクトのプロパティを GPU から収集することもできます。
関数 fitckernel および fitrkernel で数値予測子の標準化がサポートされます。つまり、いずれかの関数の呼び出しで Standardize の値を true として指定することで、各数値予測子変数をセンタリングおよびスケーリングできます。カーネル モデルに含まれる Mu プロパティと Sigma プロパティに、学習前の予測子の標準化に使用される平均と標準偏差がそれぞれ格納されます。これらのプロパティは、近似関数で標準化が一切実行されない場合は空になります。
関数 predict に対する C/C++ コードを生成できます。
R2022a 以降では、指定したコストの値を使用して観測誤分類コストを計算できるように、Cost プロパティにユーザー指定のコスト行列が格納されます。ソフトウェアで格納される正規化された事前確率 (Prior) には、コスト行列で指定されているペナルティは反映されていません。観測誤分類コストを計算するには、関数 loss を呼び出すときに名前と値の引数 LossFun を "classifcost" として指定します。
モデルの学習は変更されていないため、クラス間の判定境界には変更がないことに注意してください。
学習用に、指定した事前確率が近似関数によって更新され、指定したコスト行列で指定されているペナルティが組み込まれます。さらに、事前確率と観測値の重みが正規化されます。この動作は変更されていません。以前のリリースでは、Cost プロパティには既定のコスト行列が格納され、Prior プロパティには学習に使用される事前確率が格納されていました。R2022a 以降では、ユーザー指定のコスト行列が変更なしで格納され、コストのペナルティが反映されていない正規化された事前確率が格納されます。詳細については、誤分類コスト行列、事前確率、および観測値の重みを参照してください。
Cost プロパティと Prior プロパティを使用するオブジェクト関数の一部を次に示します。
関数
lossは、名前と値の引数LossFunを"classifcost"または"mincost"として指定した場合、Costプロパティに格納されたコスト行列を使用します。関数
lossおよびedgeは、入力データの観測値の重みを正規化するために、Priorプロパティに格納された事前確率を使用します。
分類モデルに学習させるときに既定以外のコスト行列を指定すると、オブジェクト関数で以前のリリースとは異なる値が返されます。
ソフトウェアでコスト行列、事前確率、および観測値の重みを以前のリリースと同じように扱う場合は、誤分類コスト行列に応じた事前確率と観測値の重みの調整の説明に従って、既定以外のコスト行列の事前確率と観測値の重みを調整します。その後、分類モデルに学習させるときに、調整後の事前確率と観測値の重みを名前と値の引数 Prior と Weights を使用して指定し、既定のコスト行列を使用します。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)