Kaggle機械学習モデル融合(スタッキング)体験

Kaggle機械学習モデル融合(スタッキング)体験

[[205595]]

この記事では、エントリーレベルのスタッキング アプリケーションを学習する私の精神的な旅について説明します。

学習プロセス中、モデル融合手法と、Kaggle での最初のバトルで上位 10% に入る方法に関する記事 (著者は Zhang Linghao) を提供してくれた @貝塔に感謝したいと思います。情報を提供していただいたお二人に心から感謝いたします。 Kaggle には、このようなアンサンブルに関する記事やコードもいくつかあります。

この記事は、スタッキングに悩まされている初心者向けです。インターネット上のスタッキングに関するコンテンツは数少ないですが、上記の役立​​つ記事はすでにお読みいただいているものと想定しています。しかし、見終わった後もショックを受けました。以下の内容が、スタッキングを学ぶという困難な道のりにおいて、皆さんにとって小さなたいまつとなり、かすかな光を与えてくれることを願っています。

この記事では、Kaggle の Titanic (Titanic Prediction) 入門コンペティションを使用して、スタッキング (2 層!) の応用について説明します。

データの行数: train.csv には 890 行 (つまり 890 人)、test.csv には 418 行 (418 人) があります。

データ列の数は、保持する特徴の数によって決まりますが、これは人によって異なります。自分の列車は7+1を保持します(1は予測列です)。

インターネット上の数少ないスタッキングコンテンツの中で、この画像をすでにご覧になったことがあると思います。

この絵をすぐに理解できれば大丈夫です。

すぐに理解できないと困ってしまいます。その後もしばらくは混乱が続きます…

この写真は***「誤解を招く」からです。 (注: この画像が間違っているとは言っていませんが、確かに間違っています!!! しかし、インターネット上の数少ないチュートリアルの 1 つに無修正の画像があるのは良いことです。感謝してください、私は弱虫です)。

写真を修正しました:

5 倍のラウンドごとに、モデル 1 は 5 ラウンドのトレーニングと予測を実行する必要があります。

タイタニックの例:

トレーニング データには 890 行あります。 (写真上部に対応しております)

各フォールドでは、713 行の小さなトレインと 178 行の小さなテストが生成されます。モデル 1 を使用して、713 行の小さなトレインをトレーニングし、次に 178 行の小さなテストを予測します。予測結果は、長さ 178 の予測値です。

このアクションは 5 回実行されます。長さ 178 X 5 = 890 の予測値となり、これはトレーニング データの長さとちょうど一致します。この 890 予測値はモデル 1 によって生成されます。これは後で第 2 層モデルのトレーニング ソースとなるため、最初に保存します。

重要なポイント: このステップで生成された予測値は、890 X 1 (890 行、1 列) に変換でき、P1 (大文字の P) と表記されます。

次に、テスト データに 418 行あるとします。 (写真の下部、はいはい、緑のボックスに対応してください)

各フォールドについて、713 行の小規模なトレーニングでトレーニングされたモデル 1 は、すべてのテスト データを予測する必要があります (すべてです。テスト データは 5 フォールドに含まれていないため、毎回すべてです)。このとき、モデル1の予測結果は長さ418の予測値となります。

これを 5 回繰り返します。5 x 418 の予測値マトリックスが得られます。次に、行を平均して 1 x 418 の平均予測を取得します。

重要なポイント: このステップで生成された予測値は、418 X 1 (418 行、1 列) に変換でき、p1 (小文字の p) と表記されます。

この時点で、最上位モデル 1 のミッションは完了です。

*** 層にはモデル 2 などの他のモデルがあります。同じプロセスを実行すると、890 X 1 (P2) 列と 418 X 1 (p2) 列の予測値を取得できます。

したがって、最初のレベルに 3 つのモデルがあるとすると、次のようになります。

5 分割からの予測行列は 890 X 3、(P1、P2、P3) であり、テスト データからの予測行列は 418 X 3、(p1、p2、p3) です。

———————————————–

2階に到着………………

5分割からの予測値行列890×3は、第2層モデルをトレーニングするためのトレーニングデータとして使用されます。

テスト データ 418 X 3 からの予測値のマトリックスがテスト データです。トレーニング済みモデルを使用して、これらを予測します。

—————————————

***、ここに Python コードがあります。インターネット上のいくつかのスタック コンテンツの中で、これらの数行のコードは既に見たことがあるでしょう。私は以前ここで行き詰まっていました。ここで少し注釈を追加します。お役に立てば幸いです。

<<:  アディダスのロボット工場で作られた靴が出荷されようとしている

>>:  ニューラルネットワークの問題を解決するための新しいアイデア: OpenAI は線形ネットワークを使用して非線形問題を計算します

ブログ    
ブログ    
ブログ    

推薦する

...

ワシントンポスト紙の李開復氏のコラム:お金を与えることでAI失業危機は解決するのか?シリコンバレーの大物は世間知らずすぎる

AI革命が到来し、それは最良の時代になるかもしれないし、最悪の時代になるかもしれない。それが良いこと...

アコーディオン: HBase メモリ圧縮アルゴリズム

最近では、HBase ベースの製品の読み取り速度と書き込み速度に対する要件がますます高まっています。...

[乾物] Tencent Cloud FPGA 上のディープラーニング アルゴリズム

テンセントクラウド基礎製品センターとテンセントアーキテクチャプラットフォーム部門で構成されたテンセン...

人間はAIの課題にどう立ち向かうのか

経済学者が懸念している大きな問題は、人工知能が雇用にどのような影響を与えるかということです。人工知能...

OpenAI は PyTorch、TensorFlow を全面的に採用していますが、なぜそれほど優れていないのでしょうか?

TensorFlow と PyTorch フレームワーク間の戦いは長い間続いています。最近のニュー...

AI が Sogou 入力方式の新バージョンを強化: 音声認識は 9 つの言語をサポート

最近、Sogou 入力方式がバージョン 10.8 に更新されました。新バージョンでは、主に音声入力と...

MiniGPT-4: 高度な大規模言語モデルを使用した AI 視覚言語理解の向上

1. プロジェクトの背景と動機今年初め、OPEN AI の GPT-4 は前例のないマルチモーダル機...

AI はどのようにしてソフトウェアおよびハードウェア製品のイノベーションを実現するのでしょうか? Baidu Brain オープンデー 西安駅の暗号解読

6月25日、「AIによるソフトウェアとハ​​ードウェア製品のイノベーションの促進」をテーマにした西安...

アルゴリズムの問​​題を解決するための Python 3 コード フレームワーク

序文現在インターンシップをしており、仕事量はそれほど多くないので、空き時間を利用してPATのウェブサ...

...

「人工知能+教育」はどのような機会と課題をもたらすのでしょうか?

人工知能がどのような新しい形で登場するかが話題になっている一方で、教育分野では新たな一連の変化が起こ...

...

世界人工知能会議の最高栄誉である2020年SAIL賞のトップ30プロジェクトが発表されました

世界人工知能会議の最高賞であるSAIL賞(スーパーAIリーダー)は、「卓越性を追求し、未来をリードす...

豊富なインテリジェントビデオ分析システムは、豊富なAIアルゴリズムでよりインテリジェントなシナリオを実現します。

深センリッチ情報技術有限公司が独自に開発したインテリジェントビデオ分析システムは、監視エリアをリア...