個人財務 マシン学習モデルを改善する10の方法 - ダミー

マシン学習モデルを改善する10の方法 - ダミー

目次:

ビデオ: AI予測分析ツール「Driverless AI」商品需要予測を自動で最適化 2024

ビデオ: AI予測分析ツール「Driverless AI」商品需要予測を自動で最適化 2024
Anonim

機械学習アルゴリズムがPythonやRを使って得られたデータから学習を終えたので、あなたはあなたの考えを熟考しています。あなたのテストセットの結果とあなたがそれらを改善することができるかどうか、本当に最高の可能な結果に到達したかどうか疑問に思っています。多くのチェックとアクションは、機械学習のパフォーマンスを向上させ、テストセットや新しいデータと同等に機能するより一般的なプレディクタを実現するための方法を示唆しています。この10のテクニックのリストは、機械学習アルゴリズムを使用して達成される結果を改善する機会を提供します。

<! - 1 - >

学習曲線の学習

結果を改善するための第一歩として、モデルの問題を特定する必要があります。学習曲線を使用するには、トレーニングインスタンスの数を変更するときにテストセットに対して検証する必要があります。サンプル内のエラーとサンプル外のエラーの間に大きな違いがあるかどうかはすぐにわかります。幅広い初期差は推定分散の兆候です。逆に、エラーが高く類似していることは、偏ったモデルで作業しているという印です。

<! - 2 - >

Pythonは、Scikit-learn()関数を使って簡単に学習曲線を描くのに役立ちます。 Revolution Analyticsブログで説明しているように、カスタム関数でRを使っても同じ結果を簡単に得ることができます。

クロスバリデーションを正しく使用する

クロスバリデーション(CV)の見積もりと結果との大きな違いが、テストセットまたは新鮮なデータに現れる一般的な問題です。この問題は、クロスバリデーションに何か問題が生じたことを意味します。 CVが良いパフォーマンスの予測値ではないという事実以外にも、この問題は、誤解を招くインジケータが原因で問題を正しくモデル化できず、結果が不十分であることを意味します。

<! - 3 - >

クロスバリデーションは、実行するステップが正しいときにヒントを提供します。重要ではありますが、重要ではないことですが、CV推定値はサンプル外の誤差測定値を正確に再現します。しかし、モデリングの決定により、CVの見積もりがテスト段階での改善または悪化を正しく反映していることが重要です。

  • スヌーピング
  • 誤ったサンプリング

Pythonは層別kフォールドCVサンプラーを提供しています。 Rは、引数としてyパラメータを指定すると、キャレットライブラリのcreateFoldsメソッドを使用してサンプルを階層化できます。

正しいエラーまたはスコアメトリックの選択

平均エラーに基づく学習アルゴリズムを使用してメジアンエラーに基づいてエラーメトリックを最適化しようとしても、最適化プロセスを管理しない限り、最良の結果は得られません。あなたが選んだメトリックに賛成するファッション。データと機械学習を使用して問題を解決する場合は、問題を分析し、最適化する理想的な指標を決定する必要があります。

例は多くを助けることができます。学術論文や公式の機械学習コンテストから、データとエラー/スコアメトリックの面で特定の問題を慎重に定義することで、それらの多くを得ることができます。目的とデータがあなたと似ているコンテストを探して、要求されたメトリックを確認します。

最適なハイパーパラメータの検索

ほとんどのアルゴリズムは、デフォルトのパラメータ設定を使用して、すぐに使用できます。ただし、さまざまなハイパーパラメータをテストすることで、より良い結果を得ることができます。適切なエラーまたはスコアメトリックを使用して、パラメータが取ることができる可能な値の中からグリッド検索を作成し、結果を評価するだけです。検索に時間がかかりますが、検索結果が向上します。

検索に時間がかかり過ぎると、元のデータのサンプルを使って同じ結果を得ることができます。無作為に選んだ例はほとんどなく、計算量は少なくて済みますが、通常は同じ解決策を示唆しています。時間と労力を節約できる別のトリックは、無作為検索を行うことで、テストするハイパーパラメータの組み合わせの数を制限します。

複数のモデルのテスト

複数のモデルをテストすることをお勧めします。基本的なモデルから始めて、分散よりも偏りのあるモデルをテストします。あなたは、複雑なものに対して単純な解決策を常に優先すべきです。簡単な解決策が優れていることがわかります。

同じチャートを使用して異なるモデルの性能を表すことは、問題を解決するために最良のモデルを選択する前に役立ちます。特別なゲインチャートやリフトチャートで、商業的オファーへの反応など、消費者の行動を予測するために使用されるモデルを配置することができます。これらのチャートは、結果をデシルまたは小さな部品に分割することによって、モデルのパフォーマンスを示します。

あなたのオファーに最も反応する可能性が高い消費者だけに関心があるかもしれないので、最も有望な顧客を予測する上でモデルがどれほど良いかを強調するでしょう。これらのQuoraの回答は、グラフのゲインとリフトの動作を確認するのに役立ちます。ROC曲線とは何ですか?リフトカーブとは何ですか? 。

複数のモデルをテストして、 イントロスペクションする ことで、フィーチャ作成のために変換するフィーチャや、フィーチャを選択したときに残すフィーチャに関する提案を提供することもできます。

平均化モデル

機械学習では、多くのモデルを構築し、さまざまな予測を作成し、すべて異なる予測誤差パフォーマンスで作成します。モデルを一緒に平均化することでより良い結果を得ることができることを知っても驚くかもしれません。原則は非常に簡単です:分散を推定することはランダムなので、多くの異なるモデルを平均化することで、 信号 を向上させ、しばしばそれ自体をキャンセルするノイズを除外することができます。

うまくいくアルゴリズムの結果と、それほどうまくいかない単純なアルゴリズムの結果が混在すると、単一のアルゴリズムを使用するよりも良い予測が得られることがあります。リニアモデルなどのより単純なモデルから得られた貢献度を、グラジエントブーストなどのより洗練されたアルゴリズムの出力結果で平均化したときに、過小評価しないでください。

積み重ねモデル

平均化が働くのと同じ理由で、積み重ねはより良いパフォーマンスを提供することもできます。スタッキングでは、2段階でマシン学習モデルを構築します。当初、この手法では、さまざまなアルゴリズムを使用して複数の結果を予測し、そのすべてがデータに存在する機能から学習します。第2段階では、新しいモデルが学習する機能を提供する代わりに、そのモデルに以前に訓練された他のモデルの予測を提供します。複雑なターゲット関数を推測する場合、2段階アプローチを用いることは正当化される。複数のモデルを一緒に使用し、スマートな方法で乗算の結果を組み合わせることによってのみ、それらを近似することができます。第2段階のモデルとして、簡単なロジスティック回帰または複雑なツリーアンサンブルを使用できます。

Netflixの競争は、異種モデルを積み重ねてより強力なモデルを形成する方法についての証拠と詳細な説明を提供します。しかし、この解決策を実用的なアプリケーションとして実装することは、非常に面倒なことがあります。

フィーチャー・エンジニアリングの適用

バイアスがまだモデルに影響していると思われる場合は、モデルのパフォーマンスを向上させる新しいフィーチャーを作成するしかありません。新しい機能はすべて、ターゲットレスポンスの推測を容易にします。

自動特徴生成は多項式展開または機械学習アルゴリズムのサポートベクトルマシンクラスを使用して可能である。サポートベクターマシンは、計算上高速でメモリが最適な方法で、高次元のフィーチャスペースでより優れたフィーチャを自動的に探すことができます。

しかし、アルゴリズムが学習しようとしているデータの問題を解決するために必要な方法の知識と知識を実際に代用することはできません。あなたは、あなたの知識と世界での物事の仕組みのアイデアに基づいて機能を作成することができます。人類はまだそうすることで無敵であり、マシンはそれらを簡単に置き換えることはできません。

機能とサンプルの選択

推定分散が高く、アルゴリズムが多くの機能に依存している場合は、より良い結果を得るためにいくつかの機能をプルーニングする必要があります。このコンテキストでは、予測値が最も高いものを選択してデータ行列のフィーチャの数を減らすことをお勧めします。

線形モデル、線形サポートベクトルマシン、またはニューラルネットワークで作業する場合、正則化は常にオプションです。 L1とL2の両方は、冗長変数の影響を減らしたり、それらをモデルから削除することさえできます。安定性選択は、有用性の低い変数を除外するL1能力を活用する。この技術は、排除を確認するためにトレーニングデータを再サンプリングする。

安定性選択の詳細については、Scikit-learnウェブサイトの例を参照してください。さらに、linear_modelモジュールでRandomizedLogisticRegressionとRandomizedLasso Scikit-learn関数を使用して練習することもできます。

より多くのデータを探す

以前の提案をすべて試した後も、予測の分散が大きい場合があります。この場合、唯一の選択肢はトレーニングセットのサイズを増やすことです。新しいデータを提供することでサンプルを増やしてみてください。新しいデータや新しい機能に変わる可能性があります。

さらに多くのケースを追加したい場合は、類似したデータがあるかどうかを確認するだけです。新しい機能を追加する場合は、可能であれば、オープンソースのデータソースを探して、データとそのエントリを照合します。新しいケースと新しい機能の両方を得るもう1つのすばらしい方法は、ウェブからデータをスクラップすることです。しばしば、異なるソース間またはアプリケーションプログラミングインターフェイス(API)を介してデータが利用可能である。たとえば、Google APIには多くの地理的情報やビジネス情報があります。

マシン学習モデルを改善する10の方法 - ダミー

エディタの選択

キーボードからQuickBooksアクションへのショートカット - ダミー

キーボードからQuickBooksアクションへのショートカット - ダミー

QuickBooks 2012には便利なショートカットが用意されています重要な会計業務を遂行する。この表では、最も便利なQuickBooksショートカットをいくつか紹介しています。ショートカットキーまたはキーの組み合わせ結果+選択した番号または日付ファイルに表示されている値に1を加算 - 表示されている値から1を引く...

QuickBooks 2012を介して給与サービスに登録する - ダミー

QuickBooks 2012を介して給与サービスに登録する - ダミー

QuickBooks 2012 Intuit QuickBooks Payroll Servicesページから特定のオプションを選択した後、一連のWebページフォームを記入します。あなたの会社名と住所を入力し、会社の雇用者識別番号またはEINを入力し、Intuitのようにクレジットカード情報も入力します。

同時にQuickBooks 2012に領収書と請求書を記録する - ダミー

同時にQuickBooks 2012に領収書と請求書を記録する - ダミー

はQuickBooks 2012で、アイテムの領収書を記録すると同時に受け取ったアイテムの請求書を記録します。これは、明細受領伝票登録ウィンドウの上部付近に表示される請求受領チェックボックスを選択するだけで実行できます。

エディタの選択

公正なダミーを戦うことによる結婚作業

公正なダミーを戦うことによる結婚作業

いくつかのカップルは、彼らが決して論じることはないと主張する。これは、両方のパートナーが自由に相違点を表現できるような結婚では不可能です。他のカップルは頻繁に非常に大声を出す頻繁な議論を持っています。しかし、戦いの量と頻度はあまり知られていない - カップルが戦う問題でもありません。最も重要なのは...

事件後のあなたの関係の再構築 - ダミー

事件後のあなたの関係の再構築 - ダミー

不倫は離婚の主要な原因ですが、離婚するよりも事件。事件後の再建は、カップルが不倫やパターンをさまざまな形で直面することを要求します。時間は癒えますが、それだけではありません。ここではいくつか...

苦しい関係の警告サインを認識する - ダミー

苦しい関係の警告サインを認識する - ダミー

完全な関係はありません。カップルは、紛争の公正な分配を期待する必要がありますが、これらの紛争にどのように対処するかは、強さや苦痛の兆候となります。毎日の問題が時間の経過とともに克服できない問題になる可能性を見失うと、困ってしまうことがあります。ここにいくつかの警告兆候があります...

エディタの選択

セキュリティで保護されたWebサーバーをSEOフレンドリにする方法 - ダミー

セキュリティで保護されたWebサーバーをSEOフレンドリにする方法 - ダミー

Ifユーザーがクレジットカード番号や他のタイプのアカウント情報などの機密データを提供するWebサイト上のページがある場合、これらのページを安全かつSEOに適したものにすることができます。機密情報を保護するためのインターネットソリューションは、これらのWebページを安全なサーバーに置くことです。技術的には、これは...

あなたのウェブページをローカライズする方法 - ダミー

あなたのウェブページをローカライズする方法 - ダミー

ローカルでは、あなたのページにローカルな用語があることを確認することです。理想的には、「お問い合わせ」ページだけではなく、すべてのページにこれらの用語を載せてください。いくつかのウェブサイトでは、地域の検索用語をランク付けする必要がありますが、やりたいことが少しでもありません。

検索エンジンがあなたのウェブサイトを索引付けしているかどうかを調べる方法 - ダミー

検索エンジンがあなたのウェブサイトを索引付けしているかどうかを調べる方法 - ダミー

Ifあなたは検索エンジンの最適化(SEO)を心配しているので、あなたのサイトが実際に検索エンジンやディレクトリにあるかどうかを調べることが重要です。あなたのサイトは、誰かがGoogleで検索したときに現れませんか? Bingでそれを見つけることができませんか?おそらくそれは単にそこにないと思ったことはありますか?