回帰モデルのオプションの選択
回帰モデルのタイプの選択
回帰学習器アプリを使用すると、選択した各種のモデルにデータを自動的に学習をさせることができます。自動化された学習を使用したモデル タイプの選択を簡単に試してから、有望なモデルを対話的に探します。まず、次のオプションを試します。
最初に使用する回帰モデルのオプション | 説明 |
---|---|
すべてのクイック学習![]() | はじめに [すべてのクイック学習] オプションを試します。通常は学習が高速であるすべてのモデル タイプに学習をさせます。 |
すべて![]() | 使用可能なすべての最適化不可能なモデル タイプに学習させるには、[すべて] オプションを使用します。前に学習させたモデルであるかどうかに関係なく、すべてのタイプに学習をさせます。時間がかかる可能性があります。 |
モデルへの自動学習のさせ方の詳細は、自動で回帰モデルに学習をさせるを参照してください。
一度に 1 つずつモデルを調べる場合、または必要なモデルのタイプが既にわかっている場合、個々のモデルを選択するか、同じタイプのグループに学習をさせることができます。利用可能なすべての回帰モデルのオプションを表示するには、[学習] タブで [モデル] セクションにある矢印をクリックして回帰モデルのリストを展開します。ギャラリーの最適化不可能なモデル オプションは、種々の設定が事前に行われている開始点であり、さまざまな回帰問題に適しています。最適化可能なモデル オプションを使用してモデル ハイパーパラメーターを自動的に調整する場合は、回帰学習器アプリのハイパーパラメーターの最適化を参照してください。
問題に最適なモデル タイプの選択に関する情報については、各種の回帰モデル タイプの一般的な特徴が示されている表を参照してください。速度、柔軟性および解釈可能性に関するトレードオフに基づいて判断してください。最適なモデルのタイプは、データによって異なります。
ヒント
過適合を回避するには、十分な精度が得られる、柔軟性が低いモデルを探してください。たとえば、高速で解釈が容易な回帰木などの単純なモデルを探します。応答を予測するにはモデルの精度が不十分である場合は、柔軟性が高い他のモデル (アンサンブルなど) を選択します。柔軟性の制御については、各モデル タイプの詳細を参照してください。
回帰モデルのタイプの特徴
回帰モデルのタイプ | 解釈可能性 |
---|---|
線形回帰モデル ![]() | 容易 |
回帰木 ![]() | 容易 |
サポート ベクター マシン ![]() | 線形 SVM では容易。他のカーネルでは困難。 |
効率的に学習させた線形回帰モデル ![]() | 容易 |
ガウス過程回帰モデル ![]() | 困難 |
カーネル近似モデル ![]() | 困難 |
木のアンサンブル ![]() | 困難 |
ニューラル ネットワーク ![]() | 困難 |
回帰学習器で各モデルの説明を表示するには、すべての事前設定済みモデルのリストで詳細表示に切り替えます。
ヒント
[モデル] ギャラリーの最適化不可能なモデルは、さまざまな設定の事前設定済み開始点となります。モデルのタイプ (回帰木など) を選択した後で、最適化不可能なすべての事前設定による学習を試して、使用しているデータに最適なモデルが生成されるのはどの設定であるかを調べてください。
ワークフローの指示については、回帰学習器アプリにより回帰モデルに学習をさせるを参照してください。
カテゴリカル予測子のサポート
回帰学習器では、すべてのモデル タイプがカテゴリカル予測子をサポートします。
ヒント
カテゴリカル予測子に多くの一意な値がある場合、交互作用項または 2 次項がある線形モデルとステップワイズ線形モデルに学習をさせると、メモリが大量に使用される可能性があります。モデルが学習に失敗した場合は、このようなカテゴリカル予測子の削除を試してください。
線形回帰モデル
線形回帰モデルは、線形の予測子がモデル パラメーターに含まれており、解釈が容易であり、予測が高速です。これらの特徴のため、線形回帰モデルははじめに試すモデルとして一般的です。しかし、このモデルは形式が非常に制約されているので、多くの場合に予測精度が低くなります。線形回帰モデルを当てはめた後で、より柔軟なモデル (回帰木など) を作成してみて結果を比較してください。
ヒント
[モデル] ギャラリーの [すべての線形] をクリックして線形回帰の各オプションを試し、使用しているデータに最適なモデルが生成されるのはどの設定であるかを調べます。最適なモデルを [モデル] ペインで選択し、特徴選択の使用と一部の詳細オプションの変更によりモデルの改善を試します。
回帰モデルのタイプ | 解釈可能性 | モデルの柔軟性 |
---|---|---|
線形![]() | 容易 | 非常に低い |
交互作用線形![]() | 容易 | 中 |
ロバスト線形![]() | 容易 | 非常に低い。外れ値の影響は少なくなりますが、学習は遅くなる可能性があります。 |
ステップワイズ線形![]() | 容易 | 中 |
ワークフローの例については、回帰学習器アプリを使用して回帰木に学習をさせるを参照してください。
線形回帰モデルのハイパーパラメーターのオプション
回帰学習器は、線形モデル、交互作用線形モデルおよびロバスト線形モデルの学習に関数 fitlm
を使用します。ステップワイズ線形モデルの学習には関数 stepwiselm
を使用します。
線形モデル、交互作用線形モデルおよびロバスト線形モデルの場合、以下のオプションを設定できます。
項
線形モデルで使用する項を指定します。以下から選択できます。
線形
。予測子の定数項と線形項交互作用
。定数項、線形項、および予測子間の交互作用項純粋な 2 次
。定数項、線形項、および各予測子内の純粋な 2 次項2 次
。定数項、線形項および (交互作用を含む) 2 次項
ロバスト オプション
ロバスト目的関数を使用してモデルに対する外れ値の影響を少なくするかどうかを指定します。このオプションを指定した場合、当てはめのメソッドは外れ値である可能性が高いデータ点に低い重みを自動的に割り当てます。
ステップワイズ線形回帰は初期モデルで始まり、徐々に大きさが変わるモデルの説明能力に基づいて、モデルに対して項を系統的に追加および削除します。ステップワイズ線形モデルの場合、以下のオプションを設定できます。
初期項
ステップワイズ法の初期モデルに含める項を指定します。
[定数]
、[線形]
、[交互作用]
、[純粋な 2 次]
および[2 次]
から選択できます。項の上限
ステップワイズ法でモデルに追加できる項の最高次数を指定します。
[線形]
、[交互作用]
、[純粋な 2 次]
および[2 次]
から選択できます。最大ステップ数
ステップワイズ法で試行できる、異なる線形モデルの最大数を指定します。学習を高速化するには、ステップの最大数の削減を試します。ステップの最大数を小さくすると、適切なモデルを見つける可能性が低くなります。
ヒント
カテゴリカル予測子に多くの一意な値がある場合、交互作用項または 2 次項がある線形モデルとステップワイズ線形モデルに学習をさせると、メモリが大量に使用される可能性があります。モデルが学習に失敗した場合は、このようなカテゴリカル予測子の削除を試してください。
回帰木
回帰木は、当てはめと予測が高速で、メモリ使用量が少なく、解釈が容易です。過適合を避けるには、少ない数の大きい葉がある小さい木の成長を試します。葉のサイズは [最小リーフ サイズ] の設定で制御します。
ヒント
[モデル] ギャラリーの [すべての木] をクリックして最適化不可能な回帰木の各オプションを試し、使用しているデータに最適なモデルが生成されるのはどの設定であるかを調べます。最適なモデルを [モデル] ペインで選択し、特徴選択の使用と一部の詳細オプションの変更によりモデルの改善を試します。
回帰モデルのタイプ | 解釈可能性 | モデルの柔軟性 |
---|---|---|
複雑な木![]() | 容易 | 高 非常に柔軟な応答関数向けの、多くの小さい葉 (最小リーフ サイズは 4) |
中程度の木![]() | 容易 | 中 柔軟性が低い応答関数向けの、中程度のサイズの葉 (最小リーフ サイズは 12) |
粗い木![]() | 容易 | 低 粗い応答関数向けの、少数の大きい葉 (最小リーフ サイズは 36) |
回帰木の応答を予測するには、ルート (開始) ノードから葉ノードの方向に木をたどります。葉ノードには応答の値が含まれています。
Statistics and Machine Learning Toolbox™ のツリーは二分木です。予測の各ステップでは、1 つの予測子変数の値がチェックされます。たとえば、次の図は単純な回帰木を示しています。
この木は、2 つの予測子 x1
および x2
に基づいて応答を予測します。予測は最上位のノードから始まります。各ノードでは、予測子の値をチェックして、どの分岐に進むかを決定します。分岐が葉ノードに達した場合、そのノードに対応する値が応答として設定されます。
モデルをアプリからエクスポートして次のように入力すると、回帰木モデルを可視化できます。
view(trainedModel.RegressionTree,"Mode","graph")
ワークフローの例については、回帰学習器アプリを使用して回帰木に学習をさせるを参照してください。
回帰木モデルのハイパーパラメーターのオプション
回帰学習器アプリは、回帰木の学習に関数 fitrtree
を使用します。次のオプションを設定できます。
最小リーフ サイズ
各葉ノードの応答の計算に使用する学習標本の最小数を指定します。回帰木を成長させるときは、単純さと予測力を考慮してください。葉の最小サイズを変更するには、ボタンをクリックするか、[最小リーフ サイズ] ボックスに正の整数値を入力します。
通常、多くの小さい葉がある複雑な木は、学習データに対して非常に正確です。しかし、独立したテスト セットに対しては同等の精度にならない場合があります。葉が非常に多い木は過適合になる傾向があり、多くの場合に検証精度が学習 (再代入) 精度よりはるかに低くなります。
対照的に、少数の大きい葉がある粗い木では学習精度が高くなりません。しかし、代表的なテスト セットの精度に学習精度が近づく可能性があるという点で、粗い木の方がロバストになる可能性があります。
ヒント
より柔軟なモデルを作成するには、[最小リーフ サイズ] を小さくします。
代理決定分岐 — 欠損データがある場合のみ。
決定分岐に代理を使用するよう指定します。データに欠損値が含まれている場合、代理分岐を使用すると予測の精度が向上します。
[代理決定分岐] を
[オン]
に設定した場合、回帰木では最大 10 個の代理分岐が各枝ノードで探索されます。代理分岐の数を変更するには、ボタンをクリックするか、[各ノードの最大代理] ボックスに正の整数値を入力します。[代理決定分岐] を
[すべて検索]
に設定した場合、回帰木ではすべての代理分岐が各枝ノードで探索されます。[すべて検索]
に設定すると、時間とメモリが大量に使用される可能性があります。
あるいは、ハイパーパラメーターの最適化を使用して、いくつかのモデル オプションを自動的に選択することもできます。回帰学習器アプリのハイパーパラメーターの最適化 を参照してください。
サポート ベクター マシン
回帰学習器で回帰サポート ベクター マシン (SVM) に学習をさせることができます。線形 SVM は解釈が容易ですが、予測精度が低くなる可能性があります。非線形 SVM は解釈が困難ですが、精度は高くなる可能性があります。
ヒント
[モデル] ギャラリーの [すべての SVM] をクリックして最適化不可能な SVM の各オプションを試し、使用しているデータに最適なモデルが生成されるのはどの設定であるかを調べます。最適なモデルを [モデル] ペインで選択し、特徴選択の使用と一部の詳細オプションの変更によりモデルの改善を試します。
回帰モデルのタイプ | 解釈可能性 | モデルの柔軟性 |
---|---|---|
線形 SVM![]() | 容易 | 低 |
2 次 SVM![]() | 困難 | 中 |
3 次 SVM![]() | 困難 | 中 |
細かいガウス SVM![]() | 困難 | 高 応答関数の急激な変動が許容されます。カーネル スケールは sqrt(P)/4 に設定されます。P は予測子の個数です。 |
中程度のガウス SVM![]() | 困難 | 中 応答関数の柔軟性が低くなります。カーネル スケールは sqrt(P) に設定されます。 |
粗いガウス SVM![]() | 困難 | 低 応答関数の柔軟性がなくなります。カーネル スケールは sqrt(P)*4 に設定されます。 |
Statistics and Machine Learning Toolbox では、線形のイプシロン不感応 SVM 回帰を実装しています。この SVM では、何らかの固定数 ε より小さい予測誤差を無視します。"サポート ベクター" は、誤差が ε より大きいデータ点です。SVM で新しい値の予測に使用する関数は、サポート ベクターのみに依存します。SVM 回帰の詳細については、サポート ベクター マシン回帰についてを参照してください。
ワークフローの例については、回帰学習器アプリを使用して回帰木に学習をさせるを参照してください。
SVM モデルのハイパーパラメーターのオプション
回帰学習器は、SVM 回帰モデルの学習に関数 fitrsvm
を使用します。
次のオプションをアプリで設定できます。
カーネル関数
カーネル関数は、SVM に学習をさせる前にデータに適用する非線形変換を決定します。以下から選択できます。
[ガウス]
または放射基底関数 (RBF) カーネル[線形]
カーネル (解釈が最も容易)[2 次]
カーネル[3 次]
カーネル
ボックス制約モード
ボックス制約は、残差が大きい観測値に対するペナルティを制御します。ボックス制約が大きくなると、モデルの柔軟性が高くなります。値が小さいとモデルの柔軟性が低くなり、過適合の影響が小さくなります。
[ボックス制約モード] を
[自動]
に設定した場合、ヒューリスティック手法を使用してボックス制約が選択されます。モデルを微調整するには、ボックス制約を手動で指定します。[ボックス制約モード] を
[手動]
に設定して値を指定します。値を変更するには、矢印をクリックするか、[手動のボックス制約] ボックスに正のスカラー値を入力します。適切な値が自動的に事前選択されます。この値を少しだけ変化させて、モデルが改善されるかどうかを調べます。ヒント
より柔軟なモデルを作成するには、ボックス制約の値を大きくします。
イプシロン モード
イプシロン (ε) の値より小さい予測誤差は無視され、ゼロに等しいものとして扱われます。イプシロンの値が小さくなると、モデルの柔軟性が高くなります。
[イプシロン モード] を
[自動]
に設定した場合、ヒューリスティック手法を使用してカーネル スケールが選択されます。モデルを微調整するには、イプシロンの値を手動で指定します。[イプシロン モード] を
[手動]
に設定して値を指定します。値を変更するには、矢印をクリックするか、[手動のイプシロン] ボックスに正のスカラー値を入力します。適切な値が自動的に事前選択されます。この値を少しだけ変化させて、モデルが改善されるかどうかを調べます。ヒント
より柔軟なモデルを作成するには、イプシロンの値を小さくします。
カーネル スケール モード
カーネル スケールは、カーネルが有意に変化する予測子のスケールを制御します。カーネル スケールが小さくなると、モデルの柔軟性が高くなります。
[カーネル スケール モード] を
[自動]
に設定した場合、ヒューリスティック手法を使用してカーネル スケールが選択されます。モデルを微調整するには、カーネル スケールを手動で指定します。[カーネル スケール モード] を
[手動]
に設定して値を指定します。値を変更するには、矢印をクリックするか、[手動カーネル スケール] ボックスに正のスカラー値を入力します。適切な値が自動的に事前選択されます。この値を少しだけ変化させて、モデルが改善されるかどうかを調べます。ヒント
より柔軟なモデルを作成するには、カーネル スケールの値を小さくします。
データの標準化
予測子は、標準化によって平均が 0、標準偏差が 1 になるように変換されます。標準化により、任意のスケールに対する依存性が予測子から除去され、通常は性能が向上します。
あるいは、ハイパーパラメーターの最適化を使用して、いくつかのモデル オプションを自動的に選択することもできます。回帰学習器アプリのハイパーパラメーターの最適化 を参照してください。
効率的に学習させた線形回帰モデル
効率的に学習させた線形回帰モデルでは、多少の精度は犠牲にして学習計算の時間を短縮する手法が使用されます。線形最小二乗モデルと線形サポート ベクター マシン (SVM) の効率的に学習させたモデルを使用できます。多くの予測子や多くの観測値を含むデータで学習させるときは、既存の線形または線形 SVM の事前設定されたモデルの代わりに、効率的に学習させた線形回帰モデルの使用を検討してください。
ヒント
[モデル] ギャラリーの [効率的に学習させたすべての線形モデル] をクリックして事前設定済みの効率的な線形モデルの各オプションを試し、使用しているデータに最適なモデルが生成されるのはどの設定であるかを調べます。最適なモデルを [モデル] ペインで選択し、特徴選択の使用と一部の詳細オプションの変更によりモデルの改善を試します。
回帰モデルのタイプ | 解釈可能性 | モデルの柔軟性 |
---|---|---|
効率的な線形最小二乗法![]() | 容易 | 中 — [ベータ許容誤差] の設定を小さくすると向上 |
効率的な線形 SVM![]() | 容易 | 中 — [ベータ許容誤差] の設定を小さくすると向上 |
例については、Compare Linear Regression Models Using Regression Learner Appを参照してください。
効率的に学習させた線形モデルのハイパーパラメーターのオプション
回帰学習器は、効率的に学習させた線形回帰モデルの作成に関数 fitrlinear
を使用します。次のオプションを設定できます。
学習器 — 効率的な線形回帰モデルの学習器タイプとして、
[SVM]
または[最小二乗]
のいずれかを指定します。SVM モデルではモデルの当てはめでイプシロン不感応損失を使用するのに対し、最小二乗モデルでは平均二乗誤差 (MSE) を使用します。詳細については、Learner
を参照してください。ソルバー — 学習に使用する目的関数の最小化手法を指定します。データと他のハイパーパラメーターの値に応じて、利用可能なソルバーのオプションには
[SGD]
、[ASGD]
、[双対 SGD]
、[BFGS]
、[LBFGS]
、[SpaRSA]
、[自動]
があります。このオプションを
[自動]
に設定した場合、ソフトウェアによって次のように選択されます。データに含まれる予測子変数が 100 個以下で、モデルでリッジ ペナルティを使用している場合は BFGS
データに含まれる予測子変数が 100 個以下で、モデルで LASSO ペナルティを使用している場合は SpaRSA
データに含まれる予測子変数が 100 個より多く、モデルで SVM 学習器とリッジ ペナルティを使用している場合は双対 SGD
それ以外の場合は SGD
詳細については、
Solver
を参照してください。正則化 — 複雑度ペナルティのタイプとして、LASSO (L1) ペナルティまたはリッジ (L2) ペナルティのいずれかを指定します。他のハイパーパラメーターの値に応じて、利用可能な正則化のオプションには
[LASSO]
、[リッジ]
、[自動]
があります。このオプションを
[自動]
に設定した場合、ソフトウェアによって次のように選択されます。モデルで SpaRSA ソルバーを使用している場合は LASSO
それ以外の場合はリッジ
詳細については、
Regularization
を参照してください。正則化強度 (Lambda) — 正則化の強度である lambda を指定します。
このオプションを
[自動]
に設定した場合、正則化強度が 1/n に設定されます。n は観測値の個数です。このオプションを
[手動]
に設定した場合、矢印をクリックするかボックスに正のスカラー値を入力して値を指定できます。
詳細については、
Lambda
を参照してください。係数の相対許容誤差 (ベータ許容誤差) — 線形係数とバイアス項 (切片) の相対許容誤差であるベータ許容誤差を指定します。ベータ許容誤差は、学習プロセスが終了するタイミングに影響します。収束が速すぎてモデルが十分に機能しない場合は、ベータ許容誤差を小さくして適合が改善するかを試すことができます。既定値は 0.0001 です。詳細については、
BetaTolerance
を参照してください。イプシロン — イプシロン不感応区間の幅の半分を指定します。このオプションは、[学習器] が
SVM
の場合に使用できます。このオプションを
[自動]
に設定した場合、[イプシロン] の値はiqr(Y)/13.49
と決定されます。これは、応答変数Y
の四分位数間範囲を使用した標準偏差の 1/10 の推定値です。iqr(Y)
がゼロに等しい場合、値は 0.1 に設定されます。このオプションを
[手動]
に設定した場合、矢印をクリックするかボックスに正のスカラー値を入力して値を指定できます。
詳細については、
Epsilon
を参照してください。
あるいは、ハイパーパラメーターの最適化を使用して、いくつかのモデル オプションを自動的に選択することもできます。回帰学習器アプリのハイパーパラメーターの最適化 を参照してください。
ガウス過程回帰モデル
回帰学習器でガウス過程回帰 (GPR) モデルに学習をさせることができます。多くの場合に GPR モデルは非常に正確ですが、解釈が困難になる可能性があります。
ヒント
[モデル] ギャラリーの [すべての GPR モデル] をクリックして最適化不可能な GPR モデルの各オプションを試し、使用しているデータに最適なモデルが生成されるのはどの設定であるかを調べます。最適なモデルを [モデル] ペインで選択し、特徴選択の使用と一部の詳細オプションの変更によりモデルの改善を試します。
回帰モデルのタイプ | 解釈可能性 | モデルの柔軟性 |
---|---|---|
有理二次![]() | 困難 | 自動 |
二乗指数![]() | 困難 | 自動 |
Matern 5/2![]() | 困難 | 自動 |
指数![]() | 困難 | 自動 |
ガウス過程回帰では、関数の空間に対する確率分布を使用して応答がモデル化されます。[モデル] ギャラリーの事前設定の柔軟性は、学習誤差が小さくなると同時に過適合を防ぐように自動的に選択されます。ガウス過程回帰の詳細については、ガウス過程回帰モデルを参照してください。
ワークフローの例については、回帰学習器アプリを使用して回帰木に学習をさせるを参照してください。
ガウス過程回帰モデルのハイパーパラメーターのオプション
回帰学習器は、GPR モデルの学習に関数 fitrgp
を使用します。
次のオプションをアプリで設定できます。
基底関数
基底関数は、ガウス過程回帰モデルの事前平均関数の形式を指定します。
[ゼロ]
、[定数]
および[線形]
から選択できます。異なる基底関数を選択して、モデルが改善されるかどうかを調べます。カーネル関数
カーネル関数は、予測子値間の距離の関数として応答の相関を決定します。
[有理二次]
、[二乗指数]
、[Matern 5/2]
、[Matern 3/2]
および[指数]
から選択できます。カーネル関数の詳細については、カーネル (共分散) 関数のオプションを参照してください。
等方性カーネルを使用
等方性カーネルを使用する場合、すべての予測子について相関長のスケールが同じになります。非等方性カーネルの場合、相関長のスケールが予測子変数ごとに異なります。
非等方性カーネルを使用すると、モデルの精度が向上する可能性がありますが、当てはめにかかる時間が長くなる可能性があります。
非等方性カーネルの詳細については、カーネル (共分散) 関数のオプションを参照してください。
カーネル モード
[カーネル スケール] および [信号標準偏差] というカーネル パラメーターの "初期" 値を手動で指定できます。信号標準偏差は応答値の事前標準偏差です。既定では、カーネル パラメーターが初期値を開始点として、局所的に最適化されます。固定されたカーネル パラメーターを使用するには、[数値パラメーターの最適化] を
[いいえ]
に設定します。[カーネル スケール モード] を
[自動]
に設定した場合、ヒューリスティック手法を使用して初期カーネル パラメーターが選択されます。[カーネル スケール モード] を
[手動]
に設定した場合、初期値を指定できます。ボタンをクリックするか、[カーネル スケール] ボックスと [信号標準偏差] ボックスに正のスカラー値を入力します。[等方性カーネルを使用] を
[いいえ]
に設定した場合、初期カーネル パラメーターを手動で設定することはできません。シグマ モード
観測値のノイズ標準偏差 [シグマ] の "初期" 値を手動で指定できます。既定では、観測値のノイズ標準偏差が、初期値を開始点として最適化されます。固定されたカーネル パラメーターを使用するには、詳細オプションの [数値パラメーターの最適化] チェック ボックスをオフにします。
[シグマ モード] を
[自動]
に設定した場合、ヒューリスティック手法を使用して観測値の初期ノイズ標準偏差が選択されます。[シグマ モード] を
[手動]
に設定した場合、初期値を指定できます。ボタンをクリックするか、[シグマ] ボックスに正のスカラー値を入力します。データの標準化
予測子は、標準化によって平均が 0、標準偏差が 1 になるように変換されます。標準化により、任意のスケールに対する依存性が予測子から除去され、通常は性能が向上します。
数値パラメーターの最適化
このオプションを指定すると、GPR モデルの数値パラメーターが自動的に最適化されます。最適化されるパラメーターは、[基底関数] の係数、カーネル パラメーター [カーネル スケール] および [信号標準偏差]、および観測値のノイズ標準偏差 [シグマ] です。
あるいは、ハイパーパラメーターの最適化を使用して、いくつかのモデル オプションを自動的に選択することもできます。回帰学習器アプリのハイパーパラメーターの最適化 を参照してください。
カーネル近似モデル
回帰学習器では、カーネル近似モデルを使用して多数の観測値を含むデータの非線形回帰を実行できます。大規模なインメモリ データに対しては、ガウス カーネルによる SVM モデルに比べ、カーネル近似モデルの方が学習と予測が高速になる傾向があります。
ガウス カーネル回帰モデルは、低次元空間の予測子を高次元空間にマッピングしてから、変換された予測子に高次元空間で線形モデルを当てはめます。拡張空間に SVM 線形モデルを当てはめるか最小二乗線形モデルを当てはめるかを選択します。
ヒント
[モデル] ギャラリーの [すべてのカーネル] をクリックして事前設定済みのカーネル近似の各オプションを試し、使用しているデータに最適なモデルが生成されるのはどの設定であるかを調べます。最適なモデルを [モデル] ペインで選択し、特徴選択の使用と一部の詳細オプションの変更によりモデルの改善を試します。
回帰モデルのタイプ | 解釈可能性 | モデルの柔軟性 |
---|---|---|
SVM カーネル![]() | 困難 | 中 — [カーネル スケール] の設定を小さくすると向上 |
最小二乗カーネル回帰![]() | 困難 | 中 — [カーネル スケール] の設定を小さくすると向上 |
例については、回帰学習器アプリを使用したカーネル近似モデルの学習を参照してください。
カーネル モデルのハイパーパラメーターのオプション
回帰学習器は、カーネル近似回帰モデルの学習に関数 fitrkernel
を使用します。
選択したモデルの [概要] タブで次のオプションを設定できます。
学習器 — 拡張空間に当てはめる線形回帰モデルのタイプを指定します。
SVM
またはLeast Squares Kernel
のいずれかになります。SVM モデルではモデルの当てはめでイプシロン不感応損失を使用するのに対し、最小二乗モデルでは平均二乗誤差 (MSE) を使用します。拡張次元数 — 拡張空間内の次元数を指定します。
このオプションを
[自動]
に設定した場合、次元数が2.^ceil(min(log2(p)+5,15))
に設定されます。p
は予測子の個数です。このオプションを
[手動]
に設定した場合、矢印をクリックするかボックスに正のスカラー値を入力して値を指定できます。
正則化強度 (Lambda) — リッジ (L2) 正則化ペナルティ項を指定します。SVM 学習器を使用する場合、ボックス制約 C と正則化項の強度 λ には C = 1/(λn) という関係があります。n は観測値の個数です。
このオプションを
[自動]
に設定した場合、正則化強度が 1/n に設定されます。n は観測値の個数です。このオプションを
[手動]
に設定した場合、矢印をクリックするかボックスに正のスカラー値を入力して値を指定できます。
カーネル スケール — カーネル スケーリングを指定します。この値を使用して、ランダムな特徴量拡張用のランダムな基底が取得されます。詳細については、ランダムな特徴量拡張を参照してください。
このオプションを
[自動]
に設定した場合、ヒューリスティック手法を使用してスケール値が選択されます。ヒューリスティック手法では副標本抽出を使用します。そのため、結果を再現するには、回帰モデルの学習の前にrng
を使用して乱数シードを設定します。このオプションを
[手動]
に設定した場合、矢印をクリックするかボックスに正のスカラー値を入力して値を指定できます。
イプシロン — イプシロン不感応区間の幅の半分を指定します。このオプションは、[学習器] が
SVM
の場合に使用できます。このオプションを
[自動]
に設定した場合、[イプシロン] の値はiqr(Y)/13.49
と決定されます。これは、応答変数Y
の四分位数間範囲を使用した標準偏差の 1/10 の推定値です。iqr(Y)
がゼロに等しい場合、値は 0.1 に設定されます。このオプションを
[手動]
に設定した場合、矢印をクリックするかボックスに正のスカラー値を入力して値を指定できます。
データの標準化 — 数値予測子を標準化するかどうかを指定します。予測子ごとにスケールが大きく異なる場合、標準化を行うと当てはめを向上させることができます。
反復制限 — 学習反復の最大数を指定します。
あるいは、ハイパーパラメーターの最適化を使用して、いくつかのモデル オプションを自動的に選択することもできます。回帰学習器アプリのハイパーパラメーターの最適化 を参照してください。
木のアンサンブル
回帰学習器で回帰木のアンサンブルに学習をさせることができます。アンサンブル モデルでは、複数の弱学習器の結果を結合して 1 つの高品質のアンサンブル モデルにします。
ヒント
[モデル] ギャラリーの [すべてのアンサンブル] をクリックして最適化不可能なアンサンブルの各オプションを試し、使用しているデータに最適なモデルが生成されるのはどの設定であるかを調べます。最適なモデルを [モデル] ペインで選択し、特徴選択の使用と一部の詳細オプションの変更によりモデルの改善を試します。
回帰モデルのタイプ | 解釈可能性 | アンサンブル法 | モデルの柔軟性 |
---|---|---|---|
ブースティング木![]() | 困難 | 回帰木学習器による最小二乗ブースティング ( | 中から高 |
バギング木![]() | 困難 | 回帰木学習器によるブートストラップ集約、すなわちバギング。 | 高 |
ワークフローの例については、回帰学習器アプリを使用して回帰木に学習をさせるを参照してください。
アンサンブル モデルのハイパーパラメーターのオプション
回帰学習器はアンサンブル モデルの学習に関数 fitrensemble
を使用します。次のオプションを設定できます。
最小リーフ サイズ
各葉ノードの応答の計算に使用する学習標本の最小数を指定します。回帰木を成長させるときは、単純さと予測力を考慮してください。葉の最小サイズを変更するには、ボタンをクリックするか、[最小リーフ サイズ] ボックスに正の整数値を入力します。
通常、多くの小さい葉がある複雑な木は、学習データに対して非常に正確です。しかし、独立したテスト セットに対しては同等の精度にならない場合があります。葉が非常に多い木は過適合になる傾向があり、多くの場合に検証精度が学習 (再代入) 精度よりはるかに低くなります。
対照的に、少数の大きい葉がある粗い木では学習精度が高くなりません。しかし、代表的なテスト セットの精度に学習精度が近づく可能性があるという点で、粗い木の方がロバストになる可能性があります。
ヒント
より柔軟なモデルを作成するには、[最小リーフ サイズ] を小さくします。
学習器の数
学習器の数を変更してモデルが向上するか確認してください。学習器を増やすと精度が向上しますが、当てはめに時間がかかる可能性があります。
ヒント
より柔軟なモデルを作成するには、[学習器の数] を大きくします。
学習率
ブースティング木の場合に縮小学習率を指定します。学習率を 1 未満に設定すると、アンサンブルでは学習反復数を増加させる必要がありますが、多くの場合に精度が向上します。一般的な初期選択肢は 0.1 です。
サンプリングする予測子の数
木学習器の各分割についてランダムに選択する予測子の数を指定します。
このオプションを
[すべて選択]
に設定した場合、使用可能なすべての予測子が使用されます。このオプションを
[範囲を設定]
に設定した場合、ボタンをクリックするかボックスに正の整数値を入力して値を指定できます。
あるいは、ハイパーパラメーターの最適化を使用して、いくつかのモデル オプションを自動的に選択することもできます。回帰学習器アプリのハイパーパラメーターの最適化 を参照してください。
ニューラル ネットワーク
一般にニューラル ネットワーク モデルは予測精度が高いものの、解釈は容易ではありません。
ニューラル ネットワーク内の全結合層のサイズと数によっては、モデルの柔軟性が向上します。
ヒント
[モデル] ギャラリーの [すべてのニューラル ネットワーク] をクリックして事前設定済みのニューラル ネットワークの各オプションを試し、使用しているデータに最適なモデルが生成されるのはどの設定であるかを調べます。最適なモデルを [モデル] ペインで選択し、特徴選択の使用と一部の詳細オプションの変更によりモデルの改善を試します。
回帰モデルのタイプ | 解釈可能性 | モデルの柔軟性 |
---|---|---|
ナロー ニューラル ネットワーク![]() | 困難 | 中 — [最初の層のサイズ] の設定に応じて向上 |
ミディアム ニューラル ネットワーク![]() | 困難 | 中 — [最初の層のサイズ] の設定に応じて向上 |
ワイド ニューラル ネットワーク![]() | 困難 | 中 — [最初の層のサイズ] の設定に応じて向上 |
2 層ニューラル ネットワーク![]() | 困難 | 中 — [最初の層のサイズ] および [2 番目の層のサイズ] の設定に応じて向上 |
3 層ニューラル ネットワーク![]() | 困難 | 中 — [最初の層のサイズ]、[2 番目の層のサイズ]、および [3 番目の層のサイズ] の設定に応じて向上 |
各モデルは回帰用の全結合のフィードフォワード ニューラル ネットワークです。ニューラル ネットワークの最初の全結合層にはネットワーク入力 (予測子データ) からの結合があり、後続の各層には前の層からの結合があります。各全結合層では、入力に重み行列が乗算されてからバイアス ベクトルが加算されます。最終層を除く各全結合層の後には活性化関数が続きます。最終全結合層によってネットワークの出力、つまり予測応答値が生成されます。詳細については、ニューラル ネットワークの構造を参照してください。
例については、回帰学習器アプリを使用した回帰ニューラル ネットワークの学習を参照してください。
ニューラル ネットワーク モデルのハイパーパラメーターのオプション
回帰学習器は、ニューラル ネットワーク モデルの学習に関数 fitrnet
を使用します。次のオプションを設定できます。
全結合層の数 — 回帰用の最終全結合層を除く、ニューラル ネットワーク内の全結合層の数を指定します。最大 3 つの全結合層を選択できます。
最初の層のサイズ、2 番目の層のサイズ、3 番目の層のサイズ — 最終全結合層を除く、各全結合層のサイズを指定します。複数の全結合層をもつニューラル ネットワークを作成するように選択した場合は、サイズを小さくした層を指定することを検討してください。
活性化 — 最終全結合層を除く、すべての全結合層の活性化関数を指定します。
ReLU
、Tanh
、None
、Sigmoid
のいずれかの活性化関数を選択します。反復制限 — 学習反復の最大数を指定します。
正則化強度 (Lambda) — リッジ (L2) 正則化ペナルティ項を指定します。
データの標準化 — 数値予測子を標準化するかどうかを指定します。予測子ごとにスケールが大きく異なる場合、標準化を行うと当てはめを向上させることができます。データを標準化することを強く推奨します。
あるいは、ハイパーパラメーターの最適化を使用して、いくつかのモデル オプションを自動的に選択することもできます。回帰学習器アプリのハイパーパラメーターの最適化 を参照してください。