MLブートキャンプIIIの方法

画像







3月19日、 ML Boot Campプラットフォームでの3回目の機械学習チャンピオンシップが終了しました。 614人がソリューションを送信し、大賞を受賞しましたーMacBook Air。 これは私たちにとって重要なプロジェクトです。ロシアのML専門家のコミュニティを拡大したいと考えています。 したがって、初心者でもタスクを把握できます。 理論的に...メトリックの複雑さと多数のタスクパラメータにより、プロは競争します。







2回目のコンテスト以降、多くの変化がありました。 参加者の数を2倍にし、新しいメトリックをサーバーに固定し、バグを修正して、TelegramにMLコミュニティを作成しました。 第3回コンテストがどのように開催されたかをお知らせします。







タスクを思いついた



最初のコンテストでは、0と1からシーケンスクラスを決定しました。 2番目の方法では、システムパラメータのリストに基づいて、実際のタスクのマシンのパフォーマンスを評価しました。







これはすべて素晴らしいことですが、外部からこれを行う理由が必ずしも明確ではありません。 3回目のチャンピオンシップでは、実際のプロジェクトにおける機械学習の最大の適用性を示したかった。 そのため、タスクをMail.Ru Groupーゲームの製品に近づけました。 過去2週間のデータに基づいてユーザーの行動を予測することを提案しました。 参加者は、入り口で12のゲームサインを受け取りました。









これらの兆候によれば、コンテストの参加者は、人がゲームに残るのか、ゲームを離れるのかを推測しました。 データは、オンラインゲームMail.Ru Groupの1つの25,000人の実際のユーザーから収集され、匿名化されました。 このタスクは、はるかに実践的です。 彼女は質感に見えます。 そのため、このようなタスクが大好きです:







画像







指標を選択してください



そして彼女と間違えた



最初に、参加者がファイルを送信することを提案しました。このファイルには、ユーザーがゲームに残るかどうかにかかわらず、各ユーザーの個別の回答が保存されます:0(いいえ)または1(はい)。 この時点で、少し間違えてメトリックを混同しました。 平均誤差(MAE)を使用してサンプルの成功を測定することが判明しました。 このメトリックは、提案された各回答と正解の違いを考慮し、それらを合計して回答数で除算します。







MAE= frac1n sumj=1n\左|yj widehatyj\右|







事実は、MAEは離散量を対象としていないため、参加者からすぐに報告されました。 実際、正確度と同じ結果(正解の数を質問の数で割った値)が得られます。







メトリックの名前を正確に変更するか、ユーザーが離脱する確率を送信することを提案することができます。 しかし、参加者と話をした後、彼らはリーダーボードを破らないように先に進むことにしました。







おびえたリーダーボードのハッキング



参加者がテストサンプルで「完璧な」答えを達成した状況は、リーダーボードのハッキングと呼ばれます。 テストサンプルでは、​​ハッキングは勝利を保証するものではありません。 正確性メトリックを使用すると、選択項目を使用してすべての正解を単純に計算し、1を取得できます。明らかに、選択中に推測される可能性が50/50になる最終サンプルでは機能しません。







画像

Kaggleチャンピオンシップで賞金総額100万ドルでリーダーボードをハッキング。 Gyupには理想的な結果があります-0を対数損失関数(LogLoss)としてメトリックとして。 これは、そのような選手権の主催者にとっては苦痛です。







リーダーボードがハッキングされると、潜在的な参加者がチャンピオンシップから追い出されます。 彼らは見て、「そのタイプがすでに完全に完了しているなら、なぜ私は自分の力を浪費すべきか」と考えます。 彼らは、本当に強力なアルゴリズムが彼の評価の背後に隠されているかどうかを知りません。







感度指標についての考え



1つのエラーが結果全体にどの程度影響するか-メトリックの感度と考えます。 精度の場合、エラーは結果に直線的に影響するため、参加している他のプレイヤーからトッププレイヤーのマージンが小さすぎる可能性があります。 そして、これはトップにとっては非常にがっかりです(大きなマージンで勝つことは常に素晴らしいことです)そして残り(あなたの間にはギャップがありますが、ほとんどボートをフィニッシュしたように見えるとき、それは迷惑です)。 さらに、スコアがまったく同じ人がトップになる危険性がありました。 そして、何をすべきか? 賞品は限られた数です:)







他のメトリックでは、エラーが結果にさらに強く影響します。 たとえば、標準誤差では、2乗されます。 参加者が方向転換できるように、十分に敏感なメトリックを選択しようとしました。







対数損失関数を選択しました



ROC平均二乗誤差(RMSE)および対数損失関数の間でしばらくフラグを立てた後、後者を基準として選択しました。







logloss= frac1N sumi=1Nyilogpi+1yilog1pi







この関数は線形ではなく、値の範囲が広く、総誤差に非常に敏感です。 ユーザーが100%離れると言っても、彼が突然離れないーあなたは深い…「パンチ」ははるかに難しい。







MAEと比較したLoglossaの動作は、グラフで推定できます。







画像

平均誤差は0から1まで直線的に変化します







画像

平均誤差は0から1まで非線形に変化します







画像

対数損失関数は0から34.6まで非線形に変化します







結果を監視する



新しい基準により、参加者の仕事は本格的でしたが、結果は中程度でした。 ほとんどのスコアはすぐに0.38に達し、立ち上がりました。 メトリックは、このポイントから移動することを許可しませんでした。







ある時点で、やる気を起こさせるために、参加者に挑戦し、少なくとも0.36上昇することができれば大胆に剃るだろうと言った:) チャンピオンシップの間、これは起こりませんでした。







3回目の試行で、ミハイルカラチュン(勝者)は、テストサンプルで0.3856、最終サンプルで0.3869の基準を達成しました。 チャンピオンシップのフィニッシュまでに、彼はテストで0.3808、ファイナルで0.3814の結果を得ました。 これを行うには、彼はさらに125の出荷を必要としました。







画像

最新の貨物ー左







一方、Yevgeny Tsatsorinは、元気いっぱいの0.3832(テスト)と0.3851(合計)で始まり、40回の出荷で最終的な0.3818(テスト)と0.3816(合計)に達しました。 彼の最終決定は、テストサンプルよりも最終サンプルでより良い結果を与えたことに注意してください。 グラフは非常に滑らかで見栄えが良いです。 数日のうちにユージンがトップに立つことができると感じています。







画像

最新の貨物ー左







3回目の試行で、Ivan Tyamginは0.3984(テスト)と0.3995(合計)に達し、100の出荷で0.3807(テスト)と0.3816(合計)に上昇しました。







画像

最新の貨物ー左







まとめた



リーダーボードで最終サンプルを開いた後、変更が行われました。 Ivan Tyamginは最も安定した人物の1つであることが判明しました。彼は3位を維持し、サンプルを変更したときに0.009だけを失いました。







テストサンプル(0.3796)の最適なソリューションの所有者であるAndrey Selivanovは、すでに261位(0.3844)でした。 ミハイル・カラチュンとエフゲニー・ツァソリンは、それぞれ5位と37位からトップに立ちました。 マイケルがチャンピオンシップのダブル勝者になりました!







画像

リーダーボード:上位6人の参加者







受賞者



チャンピオンシップの優秀な参加者の50人が、ML Boot Campのロゴ入りのTシャツを受け取りました。 Appleから賞品をリーダーに授与しました。 6位、5位、4位-iPod nano、2位と3位-iPad、1位-MacBook Air。







チャンピオンシップのリーダーに、どのようにしてそのような結果を達成することができたかを話してもらい、ストーリーを収集しました。







画像







彼の決定で、 ミハイル・カラチュンは回帰からニューラルネットワークまで7つの異なるモデルを使用しました。







ミハイルの決定の完全な分析は、Habréに関する彼の出版物で読むことができます。







画像







Evgeni Tsatsorinは、ランダムフォレストアルゴリズムを基礎として使用しました。 まず、Eugeneは(アルゴリズムによると)最も重要な上位10の機能に依存し、次にそれらの有効性を評価するためにさまざまなセットを構成しました。







彼のソリューションの完全な分析もHabréにあります。







画像







Ivan Tyamginはメインツールとしてxgboostを選択しました。 IvanはBootstrap集約技術を使用しました。 サンプルを200回ランダムにトレーニングとコントロールに分割し(最適な比率は0.95 / 0.05)、xgboostを実行しました。 最終的な分類子は、200個すべての基本分類子の投票(平均)です。 これは、自己記述のランダムフォレストまたはAdaBoostよりも良い結果をもたらしました。







完全な物語はこの出版物で見つけることができます。







さらに、Alexander Kiselyovの7位の物語を読むことをお勧めします。 まだMLを理解していないが、試してみたい人のための素晴らしい動機付け;)







準備された肉焼き



サンドボックス



競技終了後すぐに、サンドボックスを開きました。 これで、参加者は引き続きボットを改善できます。 そして、チャンピオンシップに参加しなかった人たち- 参加して手を試してください。







画像

サンドボックスでは、非公開の学生選手権など、古いコンテストの問題を解決できます







このチャンピオンシップと過去2回のコンテストの資料一式はこちらから入手できます。 リアルタイムの参加者の場合、タスクごとに個別のサンドボックスリーダーボードが作成されます。







電報のグループ



ロシアのAIカップの間でも、参加者がインスタントメッセンジャーに集まって喜んでいることに気付き、この傾向をサポートすることにしました。 チャンピオンシップの公式グループは、コメントに迅速に対応するのを助けてくれました。 そして、参加者はエキサイティングな瞬間について話し合うことができました。 かっこいいですね。







画像

チャンピオンシップの勝者を含む経験豊富な機関銃手がグループに参加します







コンテスト終了後も、グループはMLのトピックに関する議論を行っています。 サンドボックスの問題を解決する場合に追加します。 ここでは、アドバイスと親切な言葉でお手伝いします。







謝辞



Mail.Ru Groupを代表して、UNNに深い感謝の意を表します。 N.I.ロバチェフスキーと個人的にニコライ・ユリエヴィッチ・ゾロティクとオレグ・デュランディンは、このような興味深いタスクの準備とチャンピオンシップの専門家のサポートに貴重な助けをしてくれました! ニコライとオレグは、MLチャンピオンシップのそれぞれの開催に参加しました。彼らがいなければ、今までの半分をマスターできなかったでしょう。







複数のソリューションを選択します。



チャンピオンシップ中に、多くの人が最終としていくつかのオプションの選択を許可するよう求めました。 たとえば、1つはより安定したモデルであり、2つ目は大規模なスコアです。







そうします。 次の選手権では、参加者は1つではなく2つの最終的なソリューションを提供します。 そして、私たちは選択されたベストの最終的なリーダーボードを形成します。







MLブートキャンプIV



3回目のコンペティションの結果に満足しており、21日には4回目のコンテストを開催します! チャンピオンシップに参加し 、ニュースをフォローし、 Sandboxでタスクを試してください。








All Articles