機能カロリーと別の機能人数がある場合、機能カロリー/1人を追加したり、機能カロリー/10を追加したりすると、テストの改善に役立つのはなぜですか? 2 つの機能に対して単純な演算を実行しても、より多くの情報が得られるとは思いません。
ありがとう
機能カロリーと別の機能人数がある場合、機能カロリー/1人を追加したり、機能カロリー/10を追加したりすると、テストの改善に役立つのはなぜですか? 2 つの機能に対して単純な演算を実行しても、より多くの情報が得られるとは思いません。
ありがとう
特徴空間で線形(または対数線形)である分類器/回帰メカニズムを使用していると考えてください。インスタンスxに機能x_iがある場合、線形であるということは、スコアが次のようになることを意味します。
y_i = \ sum_i x_i * w_i
ここで、機能間にいくつかの重要な相互作用があると考えてください--- x_iが重要であるのは、x_jが同様の値をとる場合、またはそれらの合計が個々の値よりも重要である場合などです。この情報を組み込む1つの方法は、アルゴリズムに外積を明示的にモデル化させることです。
y_i = [\ sum_i x_i * w_i] + [\ sum_i、j x_i * x_j * w_ij]
ただし、線形アルゴリズムはユビキタスで使いやすいため、相互作用のような用語を標準の線形分類器/回帰メカニズムに組み込む方法は、特徴空間を拡張することです。したがって、すべてのペアx_i、x_jに対して、[x_iの形式の特徴を作成します。 *x_j]または[x_i/x_j]など。これで、非線形アルゴリズムを使用せずに、フィーチャ間の相互作用をモデル化できます。
そのタイプの演算を実行すると、変数の非線形の組み合わせを明示的に考慮しないモデルでその情報を使用できます。一部の分類器は、トレーニング データを最もよく説明/予測する機能を見つけようとしますが、多くの場合、最良の機能は非線形である可能性があります。
データを使用して、人々のグループが - 平均して - 体重が増えるかどうかを予測したいとします。そして、「正しい」答えが、グループ内の人々が 1 日あたり平均 3,000 カロリーを消費する場合、そのグループは体重が増えるというものであるとします。入力がgroup_size
とgroup_calories
の場合、正確な予測を行うには、これらの変数の両方を使用する必要があります。group_avg_calories
ただし、 ( group_calories
/だけである)も提供する場合group_size
は、その単一の機能を使用して予測を行うことができます。最初の 2 つの機能が追加情報を追加したとしても、これら 3 つの機能を決定木分類器にフィードすると、ほぼ確実に選択されます。group_avg_calories
をルート ノードとして使用すると、はるかに単純なツリー構造になります。機能の任意の非線形の組み合わせをモデルに多数追加することには、欠点もあります。これは、分類器のトレーニング時間が大幅に増加する可能性があることです。
に関してcalories/10
は、具体的にそれを行う理由は明らかではありませんが、入力フィーチャを正規化すると、一部の分類器 (ANN など) の収束率が向上し、クラスタリング アルゴリズムのパフォーマンスも向上します。これは、入力フィーチャがすべて同じになるためです。スケール (つまり、異なるフィーチャ軸に沿った距離が比較可能)。