サポートベクターマシン用SVEMアドインサポート ベクター マシンを使用してモデル化したい DOE 結果があります (多項式モデルでは推定できない強力な非線形効果があります)。SVEM アドインをインストールするにはどうすればよいでしょうか?
高度な統計モデリング実験計画法予測モデリングと機械学習Re: サポートベクターマシン用の SVEM アドインはい、ブースト ツリーは、シーケンシャル ツリーのトレーニングによる反復的な予測エラー修正により、「設計上」ランダム フォレストよりも正確である可能性があります。ただし、パフォーマンスを向上させるためにシーケンシャル ツリーの学習中に実行される複雑な分割は、トレーニング セットでのみ有効であり、新しいデータ ポイントで発生する可能性のあることを反映していない可能性があります。
ランダム フォレストはハイパーパラメータに関して堅牢なアルゴリズムであるため、ツリーの数を特定の値以上に増やしてもパフォーマンス評価は変わらない可能性があります。LinkedIn の私の投稿や記事「 Tunability: Importance of Hyperparameters of Machine Learning Algorithms 」を参照してください: 1802.09596 (arxiv.org)
Re: サポートベクターマシン用の SVEM アドインブーストツリーの場合 R² = 0,85
Re: サポートベクターマシン用の SVEM アドインランダムフォレストでは、2000本のツリーがあってもR² = 0.63という低い値しか得られません。
Re: サポートベクターマシン用の SVEM アドイン完全には同意しません。ツリーベースのモデル間にはより多くの微妙な違いがあります。
- XGBoost などのブースト ツリー メソッドでは、連続的にトレーニングされたツリーを使用して、予測を段階的に改良および修正します。これらのメソッドは、トレーニング セットの特性、サイズ、データ品質、データ ポイントの再分割、代表性などによって大きく影響されます。トレーニングされたデータセットに対して、最適な予測 (各ツリーが前のツリーの最大の予測エラーを「修正」) を繰り返し実行しようとするためです。
これは通常、低バイアス - 高分散と説明されるアルゴリズムです。予測は非常に正確ですが、使用されるトレーニング データセットによって非常に敏感/影響を受けます。
- ランダム フォレストは、わずかに異なるデータセット (ブートストラップ セット) で並行してトレーニングされたツリーを使用します。このアルゴリズムの優れた予測パフォーマンスは、個々のツリーの予測を平均化することで得られます。これは「群衆の知恵」と考えることができます。つまり、クジラの体重を誰かに尋ねた場合、その答えは非常に不正確で正確ではないかもしれませんが、数百人または数千人から回答を集めて結果を平均すると、平均結果は実際の値に非常に近くなる可能性があります。
これは通常、中/低バイアス - 低分散として説明されるアルゴリズムです。予測は正確である可能性があり (個々の結果の平均化と個々のツリーの複雑さ/数によって異なります)、ブートストラップ プロセスとツリーの個別のトレーニング (さまざまな機能を持つ) により、トレーニング データセットに対して非常に堅牢です。
以下は、さまざまなツリーベースのモデルを簡単に比較した図です (ランダム フォレスト内の個々のツリーが同じ構造になっているのは気に入りませんが、これは単純なスキーマです)。

ご質問にお答えすると、結果の信頼性を高め、過剰適合の傾向が少ないアルゴリズムを使用し、より優れた一般化特性を得るために、DoE のような小規模データセットではブースト ツリー法よりもランダム フォレスト法を試します。
Re: サポートベクターマシン用の SVEM アドインランダムフォレストや XGboost などのツリーベースのモデルでは、小さなセットに SVEM を使用できない限り、大きなデータ セットが必要になると思いますが、正しいでしょうか?
Re: サポートベクターマシン用の SVEM アドインこんにちは@frankderuyck 、
知っておいてよかったです!:)
私はニューラル ネットワークを、可能な限り最後のモデリング オプションとして使用しています。同等に (場合によってはより優れた) パフォーマンスを発揮する、よりシンプルな従来のモデルや ML アルゴリズムが多数あります。これらの他のオプションは、計算も高速で、詳細な知識、テスト、検証を必要とせず、微調整も不要です (NN では、アーキテクチャ、レイヤーの数、関数の種類、ブースティングの有無などを指定したり、 ニューラル ネットワーク チューニング アドインを使用したりする必要があります)。また、解釈も簡単です (応答プロファイルと相対的な要因の重要性の観点から)。
表形式のデータでは、適切に機能する唯一のモデルがニューラル ネットワークである場合、データの品質、代表性、欠損値/外れ値、反復性/再現性などの点で他の問題が発生する可能性が高くなります。
ツリーベースのモデルは優れたパフォーマンスベンチマークを提供し、多くの場合、安全で信頼性の高いオプションです。記事「なぜツリーベースのモデルは表形式データでディープラーニングよりも優れているのか?」(2022) https://arxiv.org/abs/2207.08815を参照してください。
スクリーンショットでは、チューニング設計で見つかった最適な SVM モデルが非常に興味深いようです。
- 10個のサポートベクターを使用するため、SVMモデルで使用される「境界」/ベクターの構築に使用されるポイントは半分以下です。これは、複雑さが低く、一般化特性が優れていることの良い兆候かもしれません。
- 曲率値(ガンマ)は非常に低いため、応答プロファイルと境界は過度に複雑で曲がった状態にはならない可能性があります(したがって、複雑さは低く、一般化特性は良好です)。
- ペナルティ(コスト値)はかなり高いように思えますが、データセットのサイズが小さい場合、誤分類/予測ミスのポイントによって誤分類率/RMSE が大幅に増加するため、実際にはこのようになることがよくあります。25 個中 1 個の誤分類ポイント = 4% の誤分類率ですが、データセットのサイズが大きい場合、誤分類ポイントが 1 個であれば誤分類率は 1% 未満になります。状況によっては、エラー(RMSE/誤分類率)が若干大きいがサポート ベクトルがはるかに少ないモデルを選択すると興味深い場合があります。つまり、トレーニング セットでの予測パフォーマンスを低下させて、新しいデータでより適切に一般化できる、より複雑でないモデルを採用することになります。
チューニング設計によって生成されたテーブルをパフォーマンス メトリックとともに使用して、パフォーマンス メトリック (分類の場合は誤分類率、回帰の場合は RASE と R²) における 2 つのハイパーパラメータの相対的な重要性と貢献度をより適切に評価できます。
いつものように、モデルが過剰適合しないように、新しい検証ポイントを使用してモデルを検証することをお勧めします。
Re: サポートベクターマシン用の SVEM アドインこんにちは、Victor。このチューニング設計はうまく機能しています。NIR スペクトル (FDA) からの 3 つの Y FPCA の関数として品質応答 Y をモデル化したいと考えています。ニューラル ネットワークを試しましたが、3 つの TanH ノードがあっても、プロファイラーは私の意見では高すぎる不規則な ncurvature を示します。チューニング後の SVE はうまく機能しています。ベクター マシン ラーニングをサポートします。


Re: サポートベクターマシン用の SVEM アドインこんにちは@frankderuyck 、
あなたの質問に答える前にいくつか質問があります:
- SVM に SVEM を使用する理由は何ですか?サポート ベクター マシンは、DoE のような小規模なデータセットに使用できる堅牢な ML アルゴリズムです。アルゴリズムの堅牢性に関する詳細については、 LinkedIn をご覧ください。
チューニング設計を使用して SVM ハイパーパラメータを微調整している場合は、サポートベクターの数、ペナルティ (コスト) と曲率 (ガンマ) の値をチェックすることで、検証セットを使用せずに SVM のオーバーフィッティングを評価する方法も多数あります...検証がない場合 (たとえば、DoE データセット内) の堅牢なアルゴリズム (SVM、ランダムフォレスト) のオーバーフィッティングを評価および防止することについてブログ記事を書こうと考えています。
- 他のアルゴリズムも検討しましたか? SVM は小規模データセットの分析に適した堅牢なアルゴリズムですが、ランダム フォレストも優れた結果をもたらすため、パフォーマンスを評価および比較するための優れたベンチマークとなる可能性があります。ランダム フォレストの詳細については、 LinkedIn をご覧ください。
- 因子にはいくつのレベルがありますか? ML アルゴリズムは、各因子にスムーズな補間を可能にするのに十分なレベルがある場合にのみ役立ちます。3 レベル以上が適切な開始点となる可能性があります。
SVEM の使用に関しては、さまざまな方法でアクセスできます。
ただし、クロスバリデーション (K 分割または SVEM) は厳密には検証方法ではなく、さまざまなトレーニング セットと検証セットでのアルゴリズムのパフォーマンスの堅牢性を評価するための「デバッグ」方法であることを強調したいと思います。クロスバリデーション手法を使用した後の主な難しさは、結果の意味を理解し、次にどのように進むかです。
さまざまなフォールドでトレーニングされた個々のモデルを平均化しますか? これらのモデルでアンサンブルを作成しますか? フォールドでトレーニングされた最良のモデルを保持します (このオプションはお勧めしません)? クロス検証で堅牢性を確認したら、データセット全体でモデルをトレーニングしますか? ... この質問に対する明確な答えはなく、データセット、モデル化の複雑さ、パフォーマンスの向上、ユーザーの慣行などに関連します...
クロスバリデーションに関する Cassie Kozyrkov のエピソードを含む詳細情報は、こちらを参照してください: https://youtu.be/zqD0lQy_w40?si=41jfBs83Q0TIlusr
https://youtu.be/by59hsYO0Lg?si=XeZ33j2e4jKQPaRA
この回答がお役に立てば幸いです。
Re: サポートベクターマシン用の SVEM アドインこんにちは、Victor。少し遅れましたが、DOE データをモデリングするのに、SVEM ではなく Random Forest を選択するのはなぜですか?
Re: サポートベクターマシン用の SVEM アドインこんにちは@frankderuyck 、
これには 2 つの異なる考慮事項があります。
- SVEM は、線形回帰からニューラル ネットワークまで、あらゆるモデルに適用できる検証戦略です。
- ランダムフォレストは機械学習モデルです。
どちらも、モデリング時に過剰適合を防ぐ方法を共有しています。
- ランダム フォレストは、ブートストラップ サンプルと「 Out-of-Bag 」サンプルを「内部」モデル検証として使用します。「Out-of-Bag」サンプルは、トレーニングで使用されないデータの一部です。トレーニング サンプルは、元のデータセットで置換サンプリングされたブートストラップ サンプルです。理論的には、元のデータを置換サンプリングすると、約 1/3 のデータがサンプリングされないと計算できます。 機械学習 - ランダム フォレスト out-of-bag サンプル サイズ - Cross Validated (stackexchange.com)
このサンプルは、ランダム フォレストのトレーニングでは使用されない「Out-of-bag」サンプルを構成し、モデルの関連性と精度を評価/検証できるようにします。
- SVEM はトレーニングと検証に相関のない重みを使用します。つまり、トレーニングの重みが高い実験は、検証の重みが低くなります。この検証設定でモデルを適合させ、重みを変更して、トレーニングと検証の新しい重みでモデルを何度も再適合させることで、わずかに異なるモデルをアンサンブル/組み合わせて、分散を減らす (および過剰適合を防ぐ) ことができます。
さて、私の個人的な意見と選択は次のとおりです。
- 私がよく目にするのは、SVEM を非常に複雑なモデルで DoE に使用し、それ以上の考慮や事前の分析/モデリングを行わない人々です。たとえば、SVEM をニューラル ネットワークに適用して、比較的単純な設計と結果を得ることがよくあります。私にとっては「バズーカ砲でハエを殺す」ようなものです。私は、複雑さを増やす前に (必要な場合) 最も単純なオプション/モデルを選択する傾向があります。オッカムの剃刀です。また、機械学習モデルは補間モデルであり、ポイント間のパターンを見つけるのに非常に効率的であるため、要因のレベル数やその他の考慮事項 (次元など) も考慮する必要があります。したがって、要因のレベルが 2 ~ 3 しかない場合、機械学習を使用して実際にメリットを得るには不十分な可能性があります。
- 十分なレベルがあり、非線形関係のために従来の線形モデリングが適切ではないと思われる場合は、機械学習モデルを試してみるとよいでしょう。
- DoE にはサイズは小さいが高品質のトレーニング データセットがあるため、DoE データをトレーニング セットと検証セットに分割できないため、シンプル (ハイパーパラメータの微調整がまったくないか、または少なく、簡単)、堅牢 (ハイパーパラメータ値の設定による影響が少ない)、オーバーフィッティングが発生しにくい ML モデルを選択する必要があります。ここで興味深いのが、ランダム フォレスト (内部の「Out-of-bag」サンプル検証機能付き) と SVM (ハイパーパラメータの選択とサポート ベクトルの数によってオーバーフィッティングの可能性を評価できる) です。
また、SVEM 戦略で複雑なアルゴリズムの代わりに堅牢な ML アルゴリズムを使用すると、計算時間が短縮され、解釈が容易になるなど、他の利点もあります。
この回答があなたにとって役に立ち、意味のあるものになることを願っています。
Re: サポートベクターマシン用 SVEM アドインこんにちは、ビクター。混合結果にこれを使用しようとしたところ、良いモデルが得られましたが、コンポーネントのsuが1にならず、ほぼ3だったため、プロファイラーによる最適化が機能しませんでした。他のMLモデル、PLS、Gen Regでも同じことが起こります。
Re: サポートベクターマシン用 SVEM アドインこんにちは、フランク。
混合係数に正しい列プロパティがあることを確認しましたか?
- 個々の因子値が低い場合と高い場合の「混合」
- 役割が混合に設定された「デザイン役割」
- 「因子の変化」は「簡単」に設定(分割法/制限付きランダム化シナリオの場合は他のタイプ)
以下は、CuSO4 因子を含む Donev 混合データの例です。

ガウス過程 (またはその他の ML モデル) からプロファイラーを起動する場合、混合制約が尊重され、適用されます (混合係数の合計は常に 1 になります)。
この回答があなたの問題を解決してくれることを願っています。
Re: サポートベクターマシン用 SVEM アドインOK、ビクター、ありがとう!