このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
CompactClassificationNeuralNetwork
説明
CompactClassificationNeuralNetwork
は、ClassificationNeuralNetwork
モデル オブジェクトのコンパクトなバージョンです。コンパクトなモデルには、分類器の学習に使用されたデータが含まれません。このため、コンパクトなモデルを使用しても、交差検証など一部のタスクは実行できません。コンパクトなモデルは、新しいデータに対するラベルの予測などのタスクに使用します。
作成
CompactClassificationNeuralNetwork
オブジェクトは、compact
を使用して完全な ClassificationNeuralNetwork
モデル オブジェクトから作成します。
プロパティ
ニューラル ネットワークのプロパティ
LayerSizes
— 全結合層のサイズ
正の整数ベクトル
この プロパティ は読み取り専用です。
ニューラル ネットワーク モデル内の全結合層のサイズ。正の整数ベクトルとして返されます。LayerSizes
の i 番目の要素は、ニューラル ネットワーク モデルの i 番目の全結合層の出力数です。
LayerSizes
には最終全結合層のサイズは含まれません。この層の出力数は常に K で、K は応答変数内のクラス数です。
データ型: single
| double
LayerWeights
— 学習済みの層の重み
cell 配列
この プロパティ は読み取り専用です。
全結合層の学習済みの層の重み。cell 配列として返されます。cell 配列内の i 番目のエントリは、i 番目の全結合層の層の重みに対応します。たとえば、Mdl.LayerWeights{1}
は、モデル Mdl
の最初の全結合層についての重みを返します。
LayerWeights
には最終全結合層の重みが含まれます。
データ型: cell
LayerBiases
— 学習済みの層のバイアス
cell 配列
この プロパティ は読み取り専用です。
全結合層の学習済みの層のバイアス。cell 配列として返されます。cell 配列内の i 番目のエントリは、i 番目の全結合層の層のバイアスに対応します。たとえば、Mdl.LayerBiases{1}
は、モデル Mdl
の最初の全結合層についてのバイアスを返します。
LayerBiases
には最終全結合層のバイアスが含まれます。
データ型: cell
Activations
— 全結合層の活性化関数
'relu'
| 'tanh'
| 'sigmoid'
| 'none'
| 文字ベクトルの cell 配列
この プロパティ は読み取り専用です。
ニューラル ネットワーク モデルの全結合層の活性化関数。次の表の値をもつ文字ベクトルまたは文字ベクトルの cell 配列として返されます。
値 | 説明 |
---|---|
'relu' | 正規化線形ユニット (ReLU) 関数 — 各入力要素に対して、0 より小さい値については 0 に設定するという次のしきい値演算を実行します。 |
'tanh' | 双曲線正接 (tanh) 関数 — 各入力要素に関数 |
'sigmoid' | シグモイド関数 — 各入力要素に対して次の演算を実行します。 |
'none' | 恒等関数 — 変換を実行せずに、各入力要素を次のようにそのまま返します。f(x) = x |
Activations
に活性化関数が 1 つだけ含まれている場合は、ニューラル ネットワーク モデルの最終全結合層を除くすべての全結合層の活性化関数になります。最終全結合層の活性化関数は常にソフトマックス (OutputLayerActivation
) です。Activations
が活性化関数の配列の場合は、i 番目の要素がニューラル ネットワーク モデルの i 番目の層の活性化関数になります。
データ型: char
| cell
OutputLayerActivation
— 最終全結合層の活性化関数
'softmax'
この プロパティ は読み取り専用です。
最終全結合層の活性化関数。'softmax'
として返されます。関数は入力 xi を取り、各入力について次を返します。K は応答変数内のクラスの数です。
結果は予測分類スコア (または事後確率) に対応します。
データ プロパティ
PredictorNames
— 予測子変数名
文字ベクトルの cell 配列
この プロパティ は読み取り専用です。
予測子変数名。文字ベクトルの cell 配列として返されます。PredictorNames
の要素の順序は、予測子名が学習データに現れる順序に対応します。
データ型: cell
CategoricalPredictors
— カテゴリカル予測子のインデックス
正の整数のベクトル | []
この プロパティ は読み取り専用です。
カテゴリカル予測子のインデックス。正の整数のベクトルとして返されます。予測子データの行に観測値が含まれていると仮定すると、CategoricalPredictors
には、カテゴリカル予測子が含まれている予測子データの列に対応するインデックス値が格納されます。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]
) になります。
データ型: double
ExpandedPredictorNames
— 展開された予測子名
文字ベクトルの cell 配列
この プロパティ は読み取り専用です。
展開された予測子名。文字ベクトルの cell 配列として返されます。モデルがカテゴリカル変数用のエンコーディングを使用している場合、ExpandedPredictorNames
には展開された変数を表す名前が格納されます。それ以外の場合、ExpandedPredictorNames
は PredictorNames
と同じです。
データ型: cell
ClassNames
— 一意のクラス名
数値ベクトル | categorical ベクトル | logical ベクトル | 文字配列 | 文字ベクトルの cell 配列
この プロパティ は読み取り専用です。
学習に使用された一意のクラス名。数値ベクトル、categorical ベクトル、logical ベクトル、文字配列、または文字ベクトルの cell 配列として返されます。ClassNames
のデータ型はモデルの学習に使用された応答変数内のクラス ラベルと同じです。(string 配列は文字ベクトルの cell 配列として扱われます)。ClassNames
はクラスの順序も決定します。
データ型: single
| double
| categorical
| logical
| char
| cell
Mu
— 予測子の平均
数値ベクトル | []
R2023b 以降
この プロパティ は読み取り専用です。
予測子の平均。数値ベクトルとして返されます。ニューラル ネットワーク モデルに学習させるときに Standardize
を 1
または true
に設定した場合、ベクトル Mu
の長さは展開された予測子の数と等しくなります (ExpandedPredictorNames
を参照)。展開されたカテゴリカル予測子に対応するダミー変数については、ベクトルに値 0
が格納されます。
ニューラル ネットワーク モデルに学習させるときに Standardize
を 0
または false
に設定した場合、Mu
の値は空ベクトル ([]
) になります。
データ型: double
ResponseName
— 応答変数名
文字ベクトル
この プロパティ は読み取り専用です。
応答変数名。文字ベクトルとして返されます。
データ型: char
Sigma
— 予測子の標準偏差
数値ベクトル | []
R2023b 以降
この プロパティ は読み取り専用です。
予測子の標準偏差。数値ベクトルとして返されます。ニューラル ネットワーク モデルに学習させるときに Standardize
を 1
または true
に設定した場合、ベクトル Sigma
の長さは展開された予測子の数と等しくなります (ExpandedPredictorNames
を参照)。展開されたカテゴリカル予測子に対応するダミー変数については、ベクトルに値 1
が格納されます。
ニューラル ネットワーク モデルに学習させるときに Standardize
を 0
または false
に設定した場合、Sigma
の値は空ベクトル ([]
) になります。
データ型: double
他の分類のプロパティ
Cost
— 誤分類のコスト
数値正方行列
誤分類コスト。数値正方行列として返されます。Cost(i,j)
は、真のクラスが i
である場合に点をクラス j
に分類するコストです。コスト行列は、i ~= j
の場合は Cost(i,j) = 1
、i = j
の場合は Cost(i,j) = 0
という形式に必ずなります。行は真のクラスに、列は予測するクラスに対応します。Cost
の行と列の順序は、ClassNames
のクラスの順序に対応します。
Cost
の値は予測に使用されますが、学習には使用されません。学習済みモデルの Cost
プロパティの値はドット表記を使用して変更できます。
データ型: double
Prior
— 事前クラス確率
数値ベクトル
この プロパティ は読み取り専用です。
事前クラス確率。数値ベクトルとして返されます。Prior
の要素の順序は ClassNames
の要素に対応します。
データ型: double
ScoreTransform
— スコア変換
文字ベクトル | 関数ハンドル
スコア変換。文字ベクトルまたは関数ハンドルを指定します。ScoreTransform
は、組み込みの変換関数または予測した分類スコアを変換する関数のハンドルを表します。
スコア変換関数を 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
オブジェクト関数
予測の解釈
lime | Local Interpretable Model-agnostic Explanations (LIME) |
partialDependence | 部分依存の計算 |
plotPartialDependence | 部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成 |
shapley | シャープレイ値 |
新しい観測値での予測性能の評価
精度の比較
compareHoldout | 新しいデータを使用して 2 つの分類モデルの精度を比較 |
testckfold | 交差検証の反復により 2 つの分類モデルの精度を比較 |
例
ニューラル ネットワーク分類器のサイズの縮小
モデルから学習データを削除することにより、完全なニューラル ネットワーク分類器のサイズを縮小します。コンパクトなモデルを使用すると、メモリ効率を向上させることができます。
patients
データ セットを読み込みます。データ セットから table を作成します。各行が 1 人の患者に対応し、各列が診断の変数に対応します。変数 Smoker
を応答変数として使用し、残りの変数を予測子として使用します。
load patients
tbl = table(Diastolic,Systolic,Gender,Height,Weight,Age,Smoker);
データを使用してニューラル ネットワーク分類器に学習させます。tbl
の列 Smoker
を応答変数として指定します。数値予測子を標準化するための指定を行います。
Mdl = fitcnet(tbl,"Smoker","Standardize",true)
Mdl = ClassificationNeuralNetwork PredictorNames: {'Diastolic' 'Systolic' 'Gender' 'Height' 'Weight' 'Age'} ResponseName: 'Smoker' CategoricalPredictors: 3 ClassNames: [0 1] ScoreTransform: 'none' NumObservations: 100 LayerSizes: 10 Activations: 'relu' OutputLayerActivation: 'softmax' Solver: 'LBFGS' ConvergenceInfo: [1x1 struct] TrainingHistory: [36x7 table]
Mdl
は完全な ClassificationNeuralNetwork
モデル オブジェクトです。
compact
を使用してモデルのサイズを縮小します。
compactMdl = compact(Mdl)
compactMdl = CompactClassificationNeuralNetwork LayerSizes: 10 Activations: 'relu' OutputLayerActivation: 'softmax'
compactMdl
は CompactClassificationNeuralNetwork
モデル オブジェクトです。compactMdl
では、格納されるプロパティが完全なモデル Mdl
よりも少なくなっています。
各ニューラル ネットワーク モデルで使用されるメモリの量を表示します。
whos("Mdl","compactMdl")
Name Size Bytes Class Attributes Mdl 1x1 19105 ClassificationNeuralNetwork compactMdl 1x1 6832 classreg.learning.classif.CompactClassificationNeuralNetwork
完全なモデルの方がコンパクトなモデルよりも大きくなっています。
拡張機能
バージョン履歴
R2021a で導入R2023b: ニューラル ネットワーク モデルに含まれる標準化プロパティ
ニューラル ネットワーク モデルに含まれる Mu
プロパティと Sigma
プロパティに、学習前の予測子の標準化に使用される平均と標準偏差がそれぞれ格納されます。これらのプロパティは、近似関数で標準化が一切実行されない場合は空になります。
R2023a: ニューラル ネットワーク分類器での誤分類コストと事前確率のサポート
fitcnet
でニューラル ネットワーク分類器の誤分類コストと事前確率がサポートされます。モデルを作成するときに、名前と値の引数 Cost
および Prior
を指定します。あるいは、モデルに学習させた後に誤分類コストを指定するには、ドット表記を使用して Cost
プロパティの値を変更できます。
Mdl.Cost = [0 2; 1 0];
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)