機械孊習ハッカ゜ンさあ。 モデルをトレヌニングしたす。 勝぀ために

ハッカ゜ンの暙準プラン ↓



Microsoft Azure Machine Learning Hackathon



今週の週末には、マむクロ゜フトが䞻催する機械孊習ハッカ゜ンが開催されたす。 ハッカ゜ンの参加者は、十分な睡眠を埗ず、䞖界をより良い堎所にするために、2日間を過ごすこずになりたす。



この蚘事のナレヌションは、私が信じおいるように、参加者の倧倚数にずっおハッカ゜ンが行われるのず同じ迅速な方法で行われたす。 氎なしAzure MLに慣れおいない堎合は、「氎」たたはある皮の入門資料を読むこずをお勧めしたす、長い定矩、このような長いむントロ-ハッカ゜ンで勝぀ために必芁なものだけです。



シンプルに



1 ぀かむ コヌヒヌマシンを芋぀けたす。

22日しかないので、 庭を囲う 耇雑なモデルそれらは簡単に再蚓緎され、䜜成に時間がかかりたす。 最も単玔な仮定を採甚し、繰り返し耇雑にしたす。 反埩が成功するたびに、機械孊習アルゎリズムに提䟛されたデヌタセットず、トレヌニングの結果ずしお取埗されたモデルを保存したす。 これは、Azure ML StudioこれはWeb IDEですのコンテキストメニュヌの[デヌタセットずしお保存]、[モデルを保存]のメニュヌ項目を䜿甚しお行われたす。 したがっお、反埩ごずにデヌタセットずtrained_modelのペアがありたす。



蚘事の構成に぀いお
これは、教垫ずの倚かれ少なかれ暙準的なワヌクフロヌトレヌニングです。 このプロセスの䞭心から、最もおいしいものから始めたす-トレヌニングモデル Train model 、次第に前凊理デヌタ Pre-processing data の段階に移行したす。









コラボレヌション



既にワヌクスペヌスを䜜成しおください manage.windowsazure.comを開き、Azure MLを遞択しお、より高速なワヌクスペヌスを䜜成したす。 チヌムごずに1぀であり、自分自身の個人甚ではありたせん すべおの参加者からメヌルを収集し、参加者間のワヌクスペヌスを拡倧したす。









地球枩暖化ぞの貢献



以䞋は、Azure MLの最も単玔な孊習グラフの倖芳です。



Azure ML train model.png



しかし、それは違いたす だから家でやる走っお、お茶を飲んで、散歩に出お、来お、䜕が起こったのかを芋お、考えお、あなたの肩をかき、再び走っお、お茶を飲む...ハッカ゜ンではこの時間はありたせん



すぐに動䜜する可胜性のあるすべおのアルゎリズムを確認しおください。 それだけです-これはAzureであり、自宅のラップトップではありたせん Azureデヌタセンタヌは、米囜西海岞の雰囲気を枩めたすが、モデルトレヌニングプロセスは完了したす これは、2クラス分類の5぀のアルゎリズムでどのように芋えるかの䟋です。







ロゞスティック回垰アルゎリズム青の曲線ずサポヌトベクトル法赀の曲線でトレヌニングされたモデルの比范









盞互怜蚌



既にクロス怜蚌を有効にしおください そしお、それを正しく有効にしたす怜蚌デヌタセットを䜿甚しお、折り畳みを䜿甚しお、最倧化するメトリックを瀺したす぀たり、盞互怜蚌の図に瀺すように。



亀差怜蚌を有効にするこずで、機械孊習アルゎリズムがデヌタに衚瀺できる可胜性のある最良の結果を芋぀け、このアルゎリズムの安定性を理解したす暙準偏差が小さいほど、結果は安定したす。



各フォヌルドの結果









スむヌプパラメヌタヌ



モデルのパフォヌマンスに察する重芁な圱響は、機械孊習アルゎリズムのパラメヌタヌによっお提䟛されたす。 したがっお、ニュヌラルネットワヌクの堎合、これは決定ツリヌのニュヌロンの隠された局の数、初期重み、ツリヌの数、ツリヌあたりの葉の数です。



4぀の分類アルゎリズムのいく぀かのパラメヌタヌを手動で怜玢するこずにより、新しいアむデアが噎出する状況で、新しい幎たでそしお倚分参加するこずになりたす。 新幎を倧事にしおください たた、ハッカ゜ンでは、組み蟌みのSweep Parametersモゞュヌルを䜿甚したす。







モゞュヌル蚭定











公正なデヌタ分割



個別のテストセットずトレヌニングセット分割モゞュヌル。 デヌタサむ゚ンスで䜿甚可胜なデヌタの量に応じお、テストセットのデヌタの10から30を残すのが䞀般的です。 ない 自己欺く テストセットでモデルを孊習したす。クロス怜蚌の結果を確認するために䜿甚しないでください。 必芁なのは、テストモデルのみです。最終モデルの確認です。



孊習をスピヌドアップ



モデルが時間内に速く孊習するほど、より倚くの仮説をテストできたす。 機胜遞択セクションのモゞュヌルを䜿甚しお、トレヌニング時間を短瞮するだけでなく、最も関連性の高い予枬倉数を取埗し、モデルを䞀般化したす実際のデヌタでのパフォヌマンスを向䞊させるため。



そのため、ツむヌトの調性を決定するタスクでフィルタヌベヌスの機胜遞択モゞュヌルを䜿甚しお、予枬子の数を160Kから20Kに枛らしたした。







結果-フィルタリングの前埌の予枬子列の数を確認したす。









たた、フィッシャヌ線圢刀別モゞュヌルは、Iris Datasetを4xN行列から2xNNは芳枬数に削枛するのに圹立ちたした。







結果-フィルタリングの前埌の予枬子列の数を確認したす。











孊習をスピヌドアップしたす。 パヌト2



Azure MLはR / Pythonスクリプトを実行できたす。 そのため、箱から出しおすぐに〜400個のRパッケヌゞをサポヌトし、Pythonノヌトブックに゚クスポヌトできたす。これはほんの始たりです。



しかしR / Pythonスクリプトを曞くのは、Azure MLに組み蟌たれおいるどのモゞュヌルが同じこずをするのかわからないずいう理由だけで曞かないでください。 組み蟌みモゞュヌル





あなたのプログラミングの才胜をWithoutうこずなく、私はあなたの玠晎らしく曞かれたpythonスクリプトがそのように実行される可胜性は䜎いこずに泚意したす。 Azure MLの堎合、このようなスクリプトはブラックボックスです。



機胜゚ンゞニアリング



詳现を理解しおください このため、Azure MLには芖芚化ツヌルずggplot2を䜿甚する機胜の䞡方がありたす。 たた、蚘述統蚈モゞュヌルを無芖しないでください。これにより、実隓のどの段階でもデヌタに぀いお倚くのこずがわかりたす。



前凊理



デヌタを正しくマヌクしたす-メタデヌタ゚ディタヌモゞュヌルを䜿甚したす。



欠損デヌタの消去モゞュヌルは、欠損デヌタの凊理に圹立ちたす欠損デヌタを削陀し、デフォルト倀、䞭倮倀たたはmodに眮き換えたす。



異垞怜出セクションず簡単な芖芚化は、異垞倀の怜出に圹立ちたす。



Normalizeモゞュヌルを䜿甚しお、正芏分垃ずは異なるすべおの数倀デヌタを正芏化少なくずも詊行したす。 同じモゞュヌルを䜿甚しお、絶察倀が倧きいすべおの数倀デヌタをスケヌリングしたす。





ゞェダむのテクニック



ゞェダむのテクニックブヌスティングずスタッキング



甚語に盎接



ブヌスティングは、結果がいく぀かの異なるモデルの加重/経隓的に蚈算された掚定倀であるアプロヌチです。



スタッキングは、ブヌストに察する同様のアプロヌチです。デヌタでトレヌニングされた耇数のモデルもありたすが、経隓匏はありたせん。元のモデルの掚定に基づいおメタモデルを構築したす。



これらは、80レベルのデヌタサむ゚ンティストをフル掻甚した非垞にクヌルな手法です。 Azure MLでブヌスティングたたはスタックたたは単にバギングを実装する組み蟌みモゞュヌルはありたせん。 それらの実装はそれほど耇雑ではありたせんが、独自の長い埮劙なリストがありたす。



ここで、スタッキングを䜿甚しお、Boosted Decision Tree分類噚ずロゞスティック回垰を䜿甚したニュヌラルネットワヌクを䜿甚しおトレヌニングされたメタモデルを䜜成する方法を説明したす。



実装されたスタッキングの抂略図







レベル1







レベル2







Azure MLでのブヌスティングおよびスタックアプロヌチの実装は、別の興味深い蚘事のトピックであり、この蚘事のフレヌムワヌクでは明らかにできたせん。 しかし、 ハッカ゜ンの2日目に、あなたは私を芋぀けるこずができたす ハッカ゜ンのスピヌカヌペヌゞの右䞋。写真ず同じように悪く芋えたす、私は間違いなくあなたのモデルにスタッキングを远加し 、おそらく重芁なものによっおそのパフォヌマンスを改善する方法を瀺したすこのようなむベントは、3〜5です。



ゞェダむテクニックHadoop / HBase / Spark Cluster



私は冗談を蚀っおいるわけではありたせん。クラスタヌが必芁です ただし、急いで鉄片を賌入しお、゜フトりェア補品が豊富なHadoop゚コシステム党䜓の展開/管理を開始しないでください。 それは長く、高䟡で、そしお...良いです。 そしお、速くお良いもの、すなわち HDInsight。



Azure HDInsightは、オンデマンドでHadoop / HBase / Sparkクラスタヌを提䟛するクラりドサヌビスです。 クラスタヌ䜜成りィザヌドの完了には2分かかりたす。クラスタヌ䜜成自䜓はAzureに移動したす コヌヒヌ1杯 〜10分。







しかし、最良の郚分は、HBase完党に正確な堎合、Hive芁求がAzure MLのデヌタ゜ヌスの1぀ずしおサポヌトされるこずです。 そのため、倧量のデヌタがあり、耇雑なク゚リを実行する必芁がある堎合、ためらうこずなく、HBaseクラスタヌをAzureにデプロむし、そこから盎接Azure MLにデヌタを読み蟌みたす。



ゞェダむテクニックデヌタサむ゚ンスVM



Azure VMで利甚できる仮想マシンむメヌゞの1぀であるRevolution R Open、Anaconda Python、Power BIなどがプリむンストヌルされた「Data Science VM」むメヌゞを利甚しおください 。



最愛の人に限定しないでください必芁なメモリ量最倧448 GBのRAMが䜿甚可胜、コア数最倧32コアが䜿甚可胜、および必芁に応じおSSDドラむブを備えた仮想マシンを䜿甚しおください。 䞀般的に、あなた自身のために快適な劎働条件を䜜成しおください。



肩越しにこじ開けたす。 陰謀。 オむルを芋぀けおください



賞品に参加しない



ハッカ゜ンは、同じ趣味の人ずのコミュニケヌション、専門家ずの出䌚い、無料のコヌヒヌのために、雰囲気のために取る䟡倀のあるむベントです。倖が寒い堎合、䜏む堎所はありたせん。 コミュニケヌション、経隓の共有 ずにかく最もトリッキヌな人が勝ちたす。





コミュニケヌションずいえば、明日モスクワデヌタサむ゚ンスMeetupが開催されたす。これは、デヌタサむ゚ンティストずこの分野に関心のある人にずっお最も楜しい圢匏の最も玠晎らしいむベントです。




All Articles