このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
線形分類学習器テンプレート
templateLinear
は,マルチクラス問題の高次元データに線形分類モデルをあてはめるために適したテンプレートを作成します。
このテンプレートでは,バイナリ学習器モデル,正則化のタイプおよび強度,ソルバーなどを指定します。テンプレートの作成後,テンプレートとデータをfitcecoc
に渡して,モデルに学習をさせます。
複数のバイナリ線形分類モデルから構成されているECOCモデルに学習をさせます。
NLPのデータセットを読み込みます。
负载nlpdata
X
は予測子データのスパース行列,Y
はクラスラベルの直言ベクトルです。データには2つを超えるクラスがあります。
既定の線形分類モデルテンプレートを作成します。
t = templateLinear ();
既定値を調整する方法については,templateLinear
のページの名前と値のペアの引数を参照してください。
複数のバイナリ線形分類モデルから構成されているECOCモデルに学習をさせます。これらの分類モデルは,ドキュメンテーションWebページにおける単語の度数分布から製品を特定できます。学習時間を短縮するため,予測子データを転置し,観測値が列に対応することを指定します。
X = X ';rng (1);%的再现性Mdl = fitcecoc (X, Y,“学习者”t“ObservationsIn”,“列”)
Mdl = CompactClassificationECOC ResponseName: 'Y' ClassNames: [1x13 categorical] ScoreTransform: 'none' BinaryLearners: {78x1 cell} CodingMatrix: [13x78 double]属性,方法
または,“学习者”,“线性”
を使用して,既定の線形分類モデルから構成されているECOCモデルに学習をさせることができます。
メモリを節約するため,fitcecoc
は線形分類学習器から構成されている学習済みのECOCモデルをCompactClassificationECOC
モデルオブジェクトで返します。
オプションの名称,值
引数のコンマ区切りペアを指定します。的名字
は引数名で,价值
は対応する値です。的名字
は引用符で囲まなければなりません。Name1, Value1,…,的家
のように,複数の名前と値のペアの引数を,任意の順番で指定できます。
“学习者”,“物流”、“正规化”,“套索”、“CrossVal”,“上”
は,套索ペナルティがあるロジスティック回帰と10分割の交差検証を実装するように指定します。
λ
- - - - - -正則化項の強度“汽车”
(既定値) |非負のスカラー|非負値のベクトル。正則化項の強度。“λ”
と“汽车”
,非負のスカラーまたは非負値のベクトルから構成されるコンマ区切りのペアとして指定します。
“汽车”
の場合,gydF4y2Baλ
= 1 / nです。
交差検証の名前と値のペアの引数(CrossVal
など)を指定した場合,nは分割内観測値の数です。
それ以外の場合,nは学習標本のサイズです。
非負値のベクトルの場合,templateLinear
は,λ
の異なる値それぞれについて目的関数の最適化を逐次的に昇順で実行します。
例:“λ”,10 ^ (- (10:2:2))
データ型:字符
|字符串
|双
|单
学习者
- - - - - -線形分類モデルのタイプ“支持向量机”
(既定値) |“物流”
線形分類モデルのタイプ。“学习者”
と“支持向量机”
または“物流”
から構成されるコンマ区切りのペアとして指定します。
次の表では, です。
βはp個の係数のベクトルです。
xはp個の予測子変数による観測値です。
bはスカラーバイアスです。
値 | アルゴリズム | 応答の範囲 | 損失関数 |
---|---|---|---|
“支持向量机” |
サポートベクターマシン | Y∊{- 1,1}。陽性クラスの場合は1,それ以外の場合は1 | ヒンジ: |
“物流” |
ロジスティック回帰 | “支持向量机” と同じ |
逸脱度(ロジスティック): |
例:“学习者”,“物流”
正则化
- - - - - -複雑度ペナルティのタイプ“套索”
|“岭”
複雑度ペナルティのタイプ。“正规化”
と“套索”
または“岭”
から構成されるコンマ区切りのペアとして指定します。
最小化のための目的関数は,平均損失関数(学习者
を参照)と次の表の正則化項を加算することにより作成されます。
値 | 説明 |
---|---|
“套索” |
套索(L1)ペナルティ: |
“岭” |
リッジ(L2)ペナルティ: |
正則化項の強度(式のλ)を指定するには,λ
を使用します。
バイアス項(β0)は正則化ペナルティから除外されます。
解算器
が“sparsa”
の場合,gydF4y2Ba正则化
の既定値は“套索”
になります。それ以外の場合は,既定値は“岭”
です。
ヒント
予測子変数を選択する場合は,“套索”
を指定します。変数の選択の詳細については,特徴選択の紹介を参照してください。
最適化の精度を向上させるには,“岭”
を指定します。
例:“正规化”、“套索”
解算器
- - - - - -目的関数の最小化手法“sgd”
|“asgd”
|“双重”
|“蓄热”
|“lbfgs”
|“sparsa”
|字符串配列|文字ベクトルの细胞配列目的関数の最小化手法。“规划求解”
と次の表の値をもつ文字ベクトル,字符串スカラー,字符串配列,または文字ベクトルの细胞配列から構成されるコンマ区切りのペアとして指定します。
値 | 説明 | 制限 |
---|---|---|
“sgd” |
確率的勾配降下法(SGD)[4][2] | |
“asgd” |
平均化確率的勾配降下法(ASGD)[7] | |
“双重” |
支持向量机用の双対SGD[1][6] | 正则化 は“岭” 、学习者 は“支持向量机” でなければなりません。 |
“蓄热” |
Broyden-Fletcher-Goldfarb-Shanno準ニュートンアルゴリズム(高炉煤气)[3] | X の次元数が非常に多い場合は非効率的です。 |
“lbfgs” |
記憶制限蓄热(LBFGS)[3] | 正则化 は“岭” でなければなりません。 |
“sparsa” |
可分近似によるスパース再構成(SpaRSA)[5] | 正则化 は“套索” でなければなりません。 |
指定する項目によって,内容は次のように変わります。
予測子データセットに100個以下の予測子変数が格納されている場合にリッジペナルティ(正则化
を参照)を指定すると,既定のソルバーは“蓄热”
になります。
予測子データセットに100個より多い予測子変数が格納されている場合にSVMモデル(学习者
を参照)とリッジペナルティを指定すると,既定のソルバーは“双重”
になります。
予測子データセットに100個以下の予測子変数が格納されている場合に套索ペナルティを指定すると,既定のソルバーは“sparsa”
になります。
それ以外の場合,既定のソルバーは“sgd”
になります。
選択するソルバーの詳細は,ヒントを参照してください。
例:“规划求解”,{‘sgd’,‘lbfgs}
β
- - - - - -線形係数の初期推定値0 (p
, 1)
(既定値) |数値ベクトル|数値行列線形係数の初期推定値(β)“β”
とp次元の数値ベクトルまたはp行L列の数値行列から構成されるコンマ区切りのペアとして指定します。pはX
の予測子変数の数Lは正則化強度値の数です(詳細については,λ
を参照)。
p次元ベクトルを指定した場合,次のプロセスを使用して目的関数がL回最適化されます。
初期値としてβ
,正則化強度としてλ
の最小値を使用して最適化を行う。
前回の最適化で生成された推定値をウォームスタートとして使用し,λ
内の次に小さい値を正則化強度として使用して,再度最適化を行う。
λ
の値をすべて使用するまでステップ2を繰り返す。
p行L列の行列を指定した場合,目的関数がL回最適化されます。反復j
では,初期値としてβ(:,
が使用され,j
)λ
を昇順で並べ替えた後で正則化強度としてλ(
が使用されます。j
)
“规划求解”、“双”
を設定した場合,β
は無視されます。
データ型:单
|双
偏见
- - - - - -切片の初期推定値切片の初期推定値(b)。“偏见”
と数値スカラーまたはL次元の数値ベクトルから構成されるコンマ区切りのペアとして指定します。Lは正則化強度値の数です(詳細については,λ
を参照)。
スカラーを指定した場合,次のプロセスを使用して目的関数がL回最適化されます。
初期値として偏见
,正則化強度としてλ
の最小値を使用して最適化を行う。
生成された推定値を次回の最適化の反復でウォームスタートとして使用し,λ
内の次に小さい値を正則化強度として使用する。
λ
の値をすべて使用するまでステップ2を繰り返す。
L次元ベクトルを指定した場合,目的関数がL回最適化されます。反復j
では,初期値として偏差(
が使用され,j
)λ
を昇順で並べ替えた後で正則化強度としてλ(
が使用されます。j
)
既定の設定では,次のようになります。
学习者
が“物流”
の場合,gjはY (
が陽性クラスであれば1,そうでなければ1になります。j
)偏见
は,学習の場合はgの交差検証の場合は分割内観測値の加重平均になります。
学习者
が“支持向量机”
の場合,gydF4y2Ba偏见
は0になります。
データ型:单
|双
FitBias
- - - - - -線形モデルの切片使用フラグ真正的
(既定値) |假
線形モデルの切片使用フラグ。“FitBias”
と真正的
または假
から構成されるコンマ区切りのペアとして指定します。
値 | 説明 |
---|---|
真正的 |
線形モデルにバイアス項bが追加され,推定されます。 |
假 |
推定時にb = 0に設定されます。 |
例:“FitBias”,假的
データ型:逻辑
PostFitBias
- - - - - -最適化後に線形モデルの切片をあてはめるフラグ假
(既定値) |真正的
最適化後に線形モデルの切片をあてはめるフラグ。“PostFitBias”
と真正的
または假
から構成されるコンマ区切りのペアとして指定します。
値 | 説明 |
---|---|
假 |
最適化時にバイアス項bと係数βが推定されます。 |
真正的 |
bを推定するため,以下が行われます。
|
真正的
を指定する場合,FitBias
は真正でなければなりません。
例:“PostFitBias”,真的
データ型:逻辑
详细的
- - - - - -詳細レベル0
(既定値) |1
詳細レベル。“详细”
と0
または1
のいずれかから構成されるコンマ区切りのペアとして指定します。详细的
は,コマンドラインにおける診断情報の表示を制御します。
値 | 説明 |
---|---|
0 |
templateLinear は診断情報を表示しません。 |
1 |
templateLinear は,目的関数の値,勾配の大きさ,および他の診断情報を定期的に表示します。 |
例:“详细”,1
データ型:单
|双
BatchSize
- - - - - -ミニバッチのサイズミニバッチのサイズ。“BatchSize”
と正の整数から構成されるコンマ区切りのペアとして指定します。各反復では,学習データの観測値をBatchSize
個使用して勾配が推定されます。
予測子データが数値行列の場合,既定値は10
です。
予測子データがスパース行列の場合,既定値は马克斯([10日装天花板(sqrt (ff))))
です。ここで,ff =元素个数(X) / nnz (X)
(X
の“スパース性係数”)です。
例:“BatchSize”,100年
データ型:单
|双
LearnRate
- - - - - -学習率学習率。“LearnRate”
と正のスカラーで構成される,コンマ区切りのペアとして指定します。LearnRate
は,劣勾配をスケールすることによって最適化のステップサイズを制御します。
正则化
が“岭”
の場合,gydF4y2BaLearnRate
は初期学習率γ0を指定します。templateLinear
は,次の式を使用して,反復t,γtについての学習率を決定します。
正则化
が“套索”
の場合,すべての反復についてLearnRate
は一定になります。
既定の設定では,LearnRate
は1 /√(1 +马克斯(sum (x ^ 2, obsDim))))
です。obsDim
は,観測値が予測子データX
の列から構成されている場合は1
,それ以外の場合は2
です。
例:“LearnRate”,0.01
データ型:单
|双
OptimizeLearnRate
- - - - - -学習率を減少させるフラグ真正的
(既定値) |假
発散(最小値の限度を超える状態)が検出された場合に学習率を減少させるフラグ。“OptimizeLearnRate”
と真正的
または假
から構成されるコンマ区切りのペアとして指定します。
OptimizeLearnRate
が“真正的”
の場合,次のようになります。
数回の最適化反復について,LearnRate
を学習率として使用して最適化が開始される。
目的関数の値が増加した場合,現在の学習率の半分の値を使用して再開される。
目的関数が減少するまで,ステップ2が繰り返される。
例:“OptimizeLearnRate”,真的
データ型:逻辑
TruncationPeriod
- - - - - -套索切り捨て実行間のミニバッチの回数10
(既定値) |正の整数套索切り捨て実行間のミニバッチの回数。“TruncationPeriod”
と正の整数から構成されるコンマ区切りのペアとして指定します。
切り捨て実行の後で,ソフトしきい値が線形係数に適用されます。つまりk =TruncationPeriod
回のミニバッチが処理された後で,次を使用して係数推定jが切り捨てられます。
SGDの場合,
はミニバッチを次を満たすkの回数処理した後の係数jの推定値です。
γtは反復tにおける学習率です。λはλ
の値です。
ASGDの場合, はミニバッチを次を満たすkの回数処理した後の係数jの平均推定値です。
正则化
が“岭”
の場合,gydF4y2BaTruncationPeriod
は無視されます。
例:“TruncationPeriod”,100年
データ型:单
|双
BatchLimit
- - - - - -バッチの最大回数バッチを処理する最大回数。“BatchLimit”
と正の整数から構成されるコンマ区切りのペアとして指定します。BatchLimit
回のバッチが処理されると,最適化が終了します。
既定の設定では,次のようになります。
“BatchLimit”
と'
PassLimit
'
を指定した場合,処理する観測値の数が最も少なくなる引数が選択されます。
“BatchLimit”
を指定し,“PassLimit”
は指定しなかった場合,データ全体を完全に1回通すのに十分な回数のバッチが処理されます。
例:“BatchLimit”,100年
データ型:单
|双
BetaTolerance
- - - - - -線形係数およびバイアス項の相対許容誤差1的军医
(既定値) |非負のスカラー線形係数およびバイアス項(切片)の相対許容誤差。“BetaTolerance”
と非負のスカラーから構成されるコンマ区切りのペアとして指定します。
であるとします。これは,最適化反復tにおける係数およびバイアス項のベクトルです。 で最適化が終了します。
解算器
で指定された最後のソルバーで収束する場合,最適化が終了します。それ以外の場合,解算器
で指定された次のソルバーが使用されます。
例:e-6 BetaTolerance, 1
データ型:单
|双
NumCheckConvergence
- - - - - -次回の収束チェックの前にバッチを処理する回数次回の収束チェックの前にバッチを処理する回数。“NumCheckConvergence”
と正の整数から構成されるコンマ区切りのペアとして指定します。
バッチのサイズの指定について,BatchSize
を参照してください。
既定の設定では,データセット全体が通されるたびに約10回収束がチェックされます。
例:“NumCheckConvergence”,100年
データ型:单
|双
PassLimit
- - - - - -最大通過回数1
(既定値) |正の整数データを通す最大回数。“PassLimit”
と正の整数から構成されるコンマ区切りのペアとして指定します。
データが完全に1回通されると,すべての観測値が処理されます。
データが通される回数がPassLimit
になると,最適化が終了します。
'
BatchLimit
'
とPassLimit
を指定した場合,処理する観測値の数が最も少なくなる引数が選択されます。
例:“PassLimit”,5
データ型:单
|双
BetaTolerance
- - - - - -線形係数およびバイアス項の相対許容誤差1的军医
(既定値) |非負のスカラー線形係数およびバイアス項(切片)の相対許容誤差。“BetaTolerance”
と非負のスカラーから構成されるコンマ区切りのペアとして指定します。
であるとします。これは,最適化反復tにおける係数およびバイアス項のベクトルです。 で最適化が終了します。
DeltaGradientTolerance
も指定した場合,いずれかの終了条件が満たされると最適化が終了します。
解算器
で指定された最後のソルバーで収束する場合,最適化が終了します。それ以外の場合,解算器
で指定された次のソルバーが使用されます。
例:e-6 BetaTolerance, 1
データ型:单
|双
DeltaGradientTolerance
- - - - - -勾配差分の許容誤差1
(既定値) |非負のスカラー上位および下位プールのカルーシュ・キューン・タッカー(马)相補性条件違反値の間における勾配差分の許容誤差。“DeltaGradientTolerance”
と非負のスカラーから構成されるコンマ区切りのペアとして指定します。
马違反値の大きさがDeltaGradientTolerance
より小さい場合,最適化が終了します。
解算器
で指定された最後のソルバーで収束する場合,最適化が終了します。それ以外の場合,解算器
で指定された次のソルバーが使用されます。
例:依照“DeltaGapTolerance”,1
データ型:双
|单
NumCheckConvergence
- - - - - -次回の収束チェックの前に処理するデータセット全体が通される回数5
(既定値) |正の整数次回の収束チェックの前に処理するデータセット全体が通される回数。“NumCheckConvergence”
と正の整数から構成されるコンマ区切りのペアとして指定します。
例:“NumCheckConvergence”,100年
データ型:单
|双
PassLimit
- - - - - -最大通過回数10
(既定値) |正の整数データを通す最大回数。“PassLimit”
と正の整数から構成されるコンマ区切りのペアとして指定します。
データが完全に1回通されると,すべての観測値が処理されます。
データが通される回数がPassLimit
になると,最適化が終了します。
例:“PassLimit”,5
データ型:单
|双
BetaTolerance
- - - - - -線形係数およびバイアス項の相対許容誤差1的军医
(既定値) |非負のスカラー線形係数およびバイアス項(切片)の相対許容誤差。“BetaTolerance”
と非負のスカラーから構成されるコンマ区切りのペアとして指定します。
であるとします。これは,最適化反復tにおける係数およびバイアス項のベクトルです。 で最適化が終了します。
GradientTolerance
も指定した場合,いずれかの終了条件が満たされると最適化が終了します。
解算器
で指定された最後のソルバーで収束する場合,最適化が終了します。それ以外の場合,解算器
で指定された次のソルバーが使用されます。
例:e-6 BetaTolerance, 1
データ型:单
|双
GradientTolerance
- - - - - -勾配の絶対許容誤差1 e-6
(既定値) |非負のスカラー勾配の絶対許容誤差。“GradientTolerance”
と非負のスカラーから構成されるコンマ区切りのペアとして指定します。
最適化反復tにおける係数およびバイアス項に関する目的関数の勾配ベクトルを とします。 で最適化が終了します。
BetaTolerance
も指定した場合,いずれかの終了条件が満たされると最適化が終了します。
指定された最後のソルバーで収束する場合,最適化が終了します。それ以外の場合,解算器
で指定された次のソルバーが使用されます。
例:e-5 GradientTolerance, 1
データ型:单
|双
HessianHistorySize
- - - - - -ヘッセ近似の履歴バッファーのサイズ15
(既定値) |正の整数ヘッセ近似の履歴バッファーのサイズ。“HessianHistorySize”
と正の整数から構成されるコンマ区切りのペアとして指定します。各反復において,最新のHessianHistorySize
回の反復の統計量を使用してヘッシアンが構成されます。
SpaRSAの場合,“HessianHistorySize”
はサポートされません。
例:“HessianHistorySize”,10
データ型:单
|双
IterationLimit
- - - - - -最適化反復の最大回数1000
(既定値) |正の整数最適化反復の最大回数。“IterationLimit”
と正の整数から構成されるコンマ区切りのペアとして指定します。IterationLimit
は,解算器
の値が“蓄热”
、“lbfgs”
または“sparsa”
である場合に適用されます。
例:“IterationLimit”,500年
データ型:单
|双
“ウォームスタート”は,収束時間を短縮するために最適化ルーチンに与えられるベータ係数およびバイアス項の初期推定値です。
観測値が列に対応するように予測子行列を配置して“ObservationsIn”、“列”
を指定することをお勧めします。このようにすると,最適化実行時間が大幅に短縮される可能性があります。
予測子データが高次元で正则化
が“岭”
の場合に最適化の精度を向上させるには,次の解算器
の組み合わせのいずれかを設定します。
“sgd”
“asgd”
“双重”
(学习者
が“支持向量机”
の場合)
{“sgd”、“lbfgs”}
{“asgd”、“lbfgs”}
{“双”、“lbfgs”}
(学习者
が“支持向量机”
の場合)
他の組み合わせでは,最適化の精度が低下する可能性があります。
予測子データが中~低次元で正则化
が“岭”
の場合に最適化の精度を向上させるには,解算器
を“蓄热”
に設定します。
正则化
が“套索”
の場合,次の解算器
の組み合わせのいずれかを設定します。
“sgd”
“asgd”
“sparsa”
{“sgd”、“sparsa”}
{“asgd”、“sparsa”}
SGDとASGDのいずれかを選択する場合,以下を考慮します。
SGDは反復あたりの時間が短くなりますが,収束するまでに必要な反復回数が多くなります。
ASGDは収束するまでに必要な反復回数が少なくなりますが,反復あたりの時間が長くなります。
予測子データに含まれている観測値の数が少なく,予測子変数の数が多い場合,次のようにします。
“PostFitBias”,真的
を指定します。
ソルバーがSGDまたはASGDの場合,PassLimit
を1より大きい正の整数(5や10など)に設定します。このように設定すると,多くの場合に精度が向上します。
ソルバーがSGDまたはASGDの場合,BatchSize
は収束速度に影響を与えます。
BatchSize
が小さすぎる場合,最小値を計算するための反復回数は多くなりますが,反復ごとの勾配の計算時間は短くなります。
BatchSize
が大きすぎる場合,最小値を計算するための反復回数は少なくなりますが,反復ごとの勾配の計算時間は長くなります。
学習率 (LearnRate
を参照)が大きいと,最小値への収束が高速になりますが,発散(最小値の限度を超える状態)の可能性があります。学習率が小さいと最小値への収束が保証されますが,終了までに時間がかかる可能性があります。
正则化
が“套索”
の場合は,さまざまな値のTruncationPeriod
を試してください。たとえば,TruncationPeriod
を1
、10
に設定してからOne hundred.
に設定します。
効率のため,予測子データは標準化されません。予測子データ(X
)を標準化するには,次のように入力します。
X = bsxfun (@rdivide bsxfun (@minus X,意味着(X, 2)),性病(0,2));
このコードでは,予測子が行,観測値が列に対応するようにX
が配置されている必要があります。また,メモリを節約するため,このコードは元の予測子データを標準化されたデータに置き換えます。
张国伟,林家杰,S. S. Keerthi, S. S. Sundararajan。“大规模线性支持向量机的双坐标下降方法”。第25届机器学习国际会议论文集,ICML’08,2001,pp. 408-415。
李磊,张涛。“基于截断梯度的稀疏在线学习”。j·马赫。学习。研究报告,2009,Vol. 10, pp. 777-801。
Nocedal, J.和S. J. Wright。数值优化,第2版,纽约:施普林格,2006。
谢勒夫-施瓦茨,S. Y.辛格和N.斯雷布罗。Pegasos:支持向量机的原始估计次梯度求解器第24届机器学习国际会议论文集,ICML’07,2007,第807-814页。
莱特,S. J., R. D.诺瓦克,M. A. T. Figueiredo。“可分离近似稀疏重建”。反式。Vol. 57, No . 7, 2009, pp. 2479-2493。
肖[6],林。“正则化随机学习和在线优化的双重平均方法”。j·马赫。学习。研究报告,Vol. 11, 2010, pp. 2543-2596。
[7]徐,魏。“基于平均随机梯度下降的最优一次大规模学习”。2011年,abs / 1107.2490。
以下は,線形モデルテンプレートと高配列をfitcecoc
に渡してモデルに学習をさせる場合の使用上の注意および制限です。
高配列を処理する場合,以下の名前と値のペアの引数は既定値が異なります。
“λ”
- - - - - -“汽车”
(既定値)またはスカラーが可能
“正规化”
- - - - - -“岭”
のみをサポート
“规划求解”
- - - - - -“lbfgs”
のみをサポート
“FitBias”
- - - - - -真正的
のみをサポート
“详细”
——既定値は1
“BetaTolerance”
——既定値は1 e - 3
に緩和される
“GradientTolerance”
——既定値は1 e - 3
に緩和される
“IterationLimit”
——既定値は20.
に緩和される
高配列が含まれているtemplateLinear
オブジェクトをfitcecoc
で使用する場合,使用可能なソルバーはLBFGSだけです。各反復で損失と勾配の計算を高配列のさまざまな部分に分散させることにより,LBFGSが実装されます。β
と偏见
の初期値を指定しなかった場合,データの一部に対して局所的にモデルをあてはめ,平均化で係数を結合することにより,パラメーターの初期推定が改善されます。
詳細は,高配列を参照してください。
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。