2016-05-23 12 views
1

現在、私は予測問題を扱っています。私は、入力と出力のデータを表すために線形関数を使っていることについて言及しています。最適化アルゴリズムと回帰モデル

Y = PO + p1.x1 + p2.x2

X1及びX2の両方が入力を知られています。 yが出力される。 p0、p1、p2は係数です。その後、モデルを構築するための最適な係数(p0、p1、p2)を見つけるために、すべてのトレーニングデータと最小二乗法推定(LSE)法を使用しました。

LSEアルゴリズムを既に使用していた場合、より良い係数値を見つけるために最適化アルゴリズム(PSOやGAなど)を使用してメソッドを改善しようとすることができますか?あなたはこれを自分で答え

+0

データセットのサイズはどのくらいですか?それが巨大でないなら、あなたはおそらく最適な解決策を持っています。 – ayhan

+0

それはあまりにも大きすぎず、トレーニングでは約200、テストでは約50です。メソッドを改善する他の方法はありませんか? – Eldeanor

+1

損失機能を最小限に抑えようとしています。最小二乗については、二次損失関数であり、素敵な特性(微分可能)を持っています。そうです、そのサイズのデータ​​セットでは、これらの係数で最小の誤差がありますが、それは確かです。最小限にするのが難しい独自の損失関数(非凸型、制約型など)を定義すると、GAなどのヒューリスティックを試すことができますが、この場合は役に立たないでしょう。エラーをさらに減らしたい場合は、モデルの改善(新しい変数の追加など)に集中する必要があります。このモデルでは、それはあなたが得る二乗誤差の平均です。 – ayhan

答えて

1

BLOCKQUOTEをその後、彼は、モデルを構築するために最適な係数(P0、P1、P2)を見つけるために、すべてのトレーニングデータと最小二乗推定(LSE)メソッドを使用していました。

リニアモデルは非常に簡単に最適化できるため、LSEメソッドは大域最適(微妙な丸め誤差と早期停止/許容誤差を無視して)を得ました。モデルを変更することなく、GAのようなメタヒューリスティクスの使用に依存せずに、他の係数を使用するという点で利得はありません。

モデルを修正したり、データを追加したりすることができます(フィーチャエンジニアリング:たとえば、2つの変数の結果であるカーネルメソッド)。

試してみること:サポートベクターマシン。これらも凸面であり、効率的に訓練することができます(多すぎないデータで)。カーネルでうまく動作するように設計されています。その他のメリット(複雑なモデルと比べて、非凸型など):データがあまりない(非常に小さいデータセットのように聞こえる)ため、ここで重要と思われる一般化に関してはかなり優れています。

@ ayhanのコメントも参照してください!

関連する問題