構築ブロックの設定¶
構成ブロックは、複数のEureqaモデルで構成されます。 Eureqaモデルのチューニングの一環として、複数の構成ブロックを組み合わせて設定し、そのモデルの新しいターゲット式を作成できます。 たとえば、データにおいて季節などの循環的傾向が要因であると考えられる場合、構築ブロックの設定を使用して、そのようなタイプの傾向を考慮に入れたターゲット式を作成できます。
構成ブロックは、以下のような数学関数および演算子を提供します。
- 定数
- 変数
- 演算子(加算、減算、乗算、除算)
- 関数(sin()、sqrt()、logistic()など)
構築ブロックの選択方法¶
広範なテストに基づいて選択されたデフォルトの構築ブロックは、適切な開始ポイントとして使用できます。 どの構築ブロックを変更するかは、専門知識が役立ちます。 対象分野で一般的に使用されている構築ブロックはどれか? 対象の問題の解に含まれる構築ブロックはどれか? データのグラフで示唆されている構築ブロックはどれか? 直感(エキスパートの観点とそれ以外の観点)で適切な候補と思われる構築ブロックはどれか?
構築ブロックの無効化¶
DataRobotでのモデル構築に含めるべきでない構築ブロックが分かっている場合、無効として設定できます。 構築ブロックの数を少なくすると検索速度が向上し、解が見つかる確率が高くなりますが、あまりに多くの構築ブロックを無効化すると、必要な演算が無効化された場合に正しい解が見つからなくなります。 DataRobotのモデル構築エンジンは非常に高速で、反復処理をすばやく実行できます。複数のアクション間で決定を行う際は追加の反復処理を行うことが推奨されます。
必要に応じて、ユースケースを反映させ、優れた説明能力を提供するモデルを検出する目的で構築ブロックの設定を調整する際は、対象分野のエキスパートに相談してください。
構築ブロックの複雑さ¶
各構築ブロックには、そのブロックを含むモデルの全体的な複雑性が考慮されたデフォルトの複雑さの値が割り当てられています。 複雑さに加重を加えることにより、モデルの解釈性と精度の相対的な有用性をDataRobotに示すことができます。 2つのモデルの精度が同じで、一方のモデルの複雑さの値が高い構築ブロックが使用されている場合、DataRobotでは複雑さの低いモデルが優先されます。 特定の問題タイプ(べき法則など)において特定の構築ブロックがデフォルト値よりも一般的であることがわかっている場合、構築ブロックの複雑さを低い値に設定できます。
この値は、構築ブロックの「複雑さのペナルティ」でもあります。 構築ブロックの複雑さの加重(ペナルティ)が0の場合、モデルはペナルティなしで必要に応じてその構築ブロックを使用できます。 構築ブロックの複雑さを設定する際は注意してください。その構築ブロックを繰り返し不要に使用するモデルは「乱雑」になることがあります。
モデルの複雑さを計算するために、DataRobotでは、モデルのターゲット式に含まれる個々の構築ブロックに反復処理が行われ、個々の複雑さの加重が読み取られて、そのモデルの複雑さの加重の合計が計算されます。
構築ブロックの複雑さに加重を設定するには:
- ブロックが無効に設定されていないことを確認します。
- 複雑さの加重として使用する数値を入力します。 一般的な複雑さの値は0~4です。モデル処理中にペナルティなしで繰り返し使用する可能性のあるブロックには低い複雑さの加重(0など)を割り当て、頻繁に使用しないブロックには高い複雑さの加重を割り当てます。
複雑さの指標の例¶
以下の構築ブロックの複雑さを考えてみます。
- 入力特徴量:1
- 加算:1
- 乗算:0
式 | 複雑さ |
---|---|
a + b | 3 |
a * b | 2 |
使用可能な構築ブロック¶
Eureqaモデルで使用できるすべての構築ブロック(定義および使用方法を含む)については、構築ブロックリファレンスのページを参照してください。 構築ブロックの設定の詳細情報にアクセスするには、Eureqaモデルブループリントで提供されているドキュメントリンクをクリックしてください(このリンクは構築ブロックの右上の高度なチューニングタブの下にあります)。