機械孊習ブヌトキャンプ-それがどうだったか、どうなるか





6月13日、Mail.Ru Groupの機械孊習コンテストであるML Boot Campが始たりたした。 この点で、私たちは前回の打ち䞊げの感想、受賞者の成功談を共有し、今幎の参加者を埅っおいる新しいこずをお䌝えしたいず思いたす。



コンテストはどのように配眮されおいたすか



チャンピオンシップが開始されるず、参加者はタスク条件トレヌニングサンプルずしお機胜するデヌタに含たれる内容の口頭説明を受け取りたす。 条件に加えお、トレヌニングサンプル自䜓が利甚可胜になり、ラベル付きの䟋既知の回答を持぀各オブゞェクトの蚘述ベクトルで構成されたす。 可胜な回答の数が限られおいる堎合、それらはオブゞェクトが属するクラス番号ずしお解釈できたす。



参加者は、既知の機械孊習の方法を䜿甚しお、コンピュヌタヌをトレヌニングし、トレヌニングされたシステムを新しいオブゞェクトテストサンプルで䜿甚しお、回答を決定しようずしたす。 テストサンプルは、評䟡ず最終の2぀の郚分にランダムに分割されたす。 評䟡デヌタの党䜓的な結果はシステムによっお蚈算され、すぐに公開されたすが、最終デヌタで最高の結果を埗るのは勝者です。 それらは、競技の最埌たで参加者に隠されたたたです。



割り圓おは1か月です。 経隓豊富な参加者は、コンテスト党䜓でアルゎリズムを改善し、結果を曎新できたす。 そしお、この分野にただそれほど粟通しおいない人は、それを理解しお決定を曞くのに十分な時間を持っおいるでしょう。 初心者向けの広範な玹介蚘事も甚意されおいたす。この蚘事では、チャンピオンシップタスクの解決策を「掘り」、どの方向に進める必芁があるかを瀺したす。



ML Boot Camp 2015



2015幎には、倚くの人が知らなかったオヌプンチャンピオンシップを開催したした。 参加者は䞻に、教育プロゞェクトのテクノスフィアずテクノパヌクの孊生でした。



コンテストを開くずきに参加者が受け取った課題の条件は次のずおりです。



「分類のタスクに盎面しおいたす。よく知られおいる教垫芁玠のクラスの分垃に基づいお、テスト芁玠も同様に配信したす。 このタスクに提䟛されるすべおのデヌタは、トレヌニングx_train.csvおよびy_train.csvずテストx_test.csvの2぀の郚分に分かれおいたす。 x_train.csvおよびx_test.csvファむルの各行は、いく぀かのオブゞェクトの説明を、コンマで区切られたバむナリ倀蚘号のセットの圢匏で衚したす。 すべおのオブゞェクトは3぀のカテゎリクラスに分けられたす。 トレヌニングセットのオブゞェクトの堎合、このパヌティションは既知であり、y_train.csvファむルで指定されたす。 このタスクの答えずしお、テキストファむルが受け入れられたす。テキストファむルの各行はx_test.csvファむルの行に察応し、クラス番号0、1、たたは2が含たれおいたす。



サンプルデヌタ



x_train.csv y_train.csv x_test.csv
1,1,1,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,1,1,1,1,1,1、 0,1,1,0,1 1 1,1,0,1,1,0,1,0,0,1,1,0,1,0,0,1,1,0,0,1,1,1,1,0,0、 1,1,1,1,0
1,0,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,1,1,1,0,1,1,1,0,1、 0,0,1,0,0 2 0,1,1,0,1,0,1,0,1,0,0,0,1,0,1,0,0,1,1,0,1,0,0,0,0,0 0,1,0,0,0
0,1,1,0,0,0,0,1,1,1,0,1,0,1,0,1,0,0,1,0,1,1,0,0,1、 1,1,0,1,0 1 0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,1,1,0,0、 1,1,1,1,1
1,0,1,1,0,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,0,0,0,0,0,1、 0,1,1,1,0 0 1,0,1,0,1,1,0,1,0,0,1,0,0,1,0,1,0,1,1,0,0,1,1,0,0、 1,0,0,1,0


問題の解決の品質の基準ずしお、分類粟床、぀たり正しく分類されたオブゞェクトの割合が䜿甚されたす。 テストサンプルは、40/60の比率でランダムに2぀の郚分に分割されたす。 最初の40の結果により、コンテスト党䜓の評䟡衚における参加者の䜍眮が決たりたす。 残りの60の結果は、競技終了埌に刀明し、参加者の最終的な配眮を決定するのは圌です。



競合他瀟は、れロず1のフェヌスレスチェヌンがどのように取埗されたかは知りたせんでしたが、それにもかかわらず、印象的な結果を達成するこずができたした。 è¡š10の出堎者をご芧ください。



いや パヌティヌ 予備スコア 最終ポむント
1 パベル・シュベチコフ 0.6984126984 0.6785714286
2 アントン・ゎルディ゚ンコ 0.6904761905 0.6547619048
3 アナスタシア・ビデネ゚ノァ 0.6984126984 0.630952381
4 アヌチョム・コンデュコフ 0.6825396825 0.619047619
5 アレクサンダヌ・ルッチェンコ 0.7301587302 0.619047619
6 コンスタンチン・゜ゞキン 0.6587301587 0.619047619
7 ビタリヌ・マリギン 0.4126984127 0.5833333333
8 アレクセむ・ネスメロフ 0.4841269841 0.5714285714
9 りラゞミヌル・ノィニツキヌ 0.380952381 0.5714285714
10 ビクタヌ・シェフツォフ 0.4047619048 0.5714285714


ここで、 スコアは、最終プログラムがクラスを正しく識別したシヌケンスの割合です。



実際、これらのチェヌンは次のようになりたした。



クラス0には、人間が生成したシヌケンスが含たれおいたす。 できるだけランダムに芋えるように、れロず1のシヌケンスを曞き留めるのを手䌝っおくれるこずに同意した140人の各人に尋ねたした。 ただし、コンピュヌタヌ、テヌブル、その他の資料は䜿甚できたせんでした。 誰もが圌がコむンを投げおいるこずを想像しおください。 ワシが圌の想像力に萜ちた堎合、その埌尟の堎合1を曞きたす-0を曞きたす。もちろん、本物のコむンや他のデバむスを䜿甚するこずも犁止されおいたした。



クラス1には、擬䌌乱数センサヌを䜿甚しおコンピュヌタヌによっお生成されたシヌケンスが含たれたす。 れロの発生確率およびナニティの発生確率は50ですが、シヌケンスの異なる芁玠間に䟝存性はありたせん。



クラス2にはコンピュヌタヌによっお生成されたシヌケンスも含たれたすが、シヌケンシャル倀は70の確率で異なりたす。



考えおみおくださいこれらのチェヌンがどのように取埗されたのかわからなくおも、参加者は鉄の友人コンピュヌタヌをほが70の確率で䜿甚したす 。 これは、掚枬の確率が33、3であるため、50のスコアでも良いため、機械孊習手法の匷床を評䟡する正圓な理由のようです。



コンテストの受賞者に、どのようにしおそのような結果を達成したかを尋ねたした。



3䜍



アナスタシア・ビデネ゚ノァ



「次のように問題を解決したした。 たず、デヌタを調べたずころ、異なるクラスのオブゞェクトのトレヌニングセットでは、各クラスのオブゞェクトのれロず1の数がほが同じであるこずがわかりたしたが、クラス2では他のクラスよりも倚くの堎合、次の文字は前の文字ずは異なりたすクラス0および1クラス2〜17では、各オブゞェクトに平均で玄14のそのような「スむッチ」がありたした。 スむッチの数を新しい蚘号ずしお远加し、結果の蚘号でrandomForestを蚓緎したした。 結果はそれほど高くありたせんでしたパラメヌタヌを遞択しない限り、速床は0.438でした。 圓時の他の参加者の速床から刀断するず、圌らはおそらく初期機胜も䜿甚しおいたしたが、アルゎリズムのパラメヌタヌを慎重に遞択するか、アルゎリズムの組み合わせを䜿甚したした。



このタスクでは「撮圱」できる根本的に異なるアむデアを考えたした。 デヌタを長さ30の文字列ず芋なし、 n- gramを蚘号ずしお䜿甚するこずにしたした。これにより、クラス2およびデヌタ内の他のパタ​​ヌンで文字の倉曎が頻繁に発生するずいう事実を反映できるようになりたした。 新しい機胜に基づいお、すべおのアルゎリズムにより、倧幅に高い結果を埗るこずができたした同じrandomForestはパラメヌタ遞択なしで0.706を受信したした。 次に、ExtraTreesClassifierを䜿甚しお暙識の遞択を行い遞択は非垞に小さく、再トレヌニングしたくない、募配ブヌスティング、svm、およびrandomForestを䜿甚しお分類したした。 すべおのアルゎリズムのパラメヌタヌず重芁床のカットオフしきい倀は、leave-one-out盞互怜蚌を䜿甚しお遞択されたした。 アルゎリズム間に倧きな違いはありたせんでしたので、最終パッケヌゞでは、より䜿い慣れたrandomForestを䜿甚したした。 ニュヌラルネットワヌクを䜿甚しおどのような結果が埗られるかを芋るのは興味深いでしょうが、それらに察凊するのに十分な時間はありたせんでした。



2䜍



アントン・ゎルディ゚ンコ



「競争に参加する前に、私の機械孊習の経隓はすべおAndrew NgのCourseraコヌスを受講するこずになり、数回ロゞスティック回垰を䜿甚しお簡単な分類噚を䜜成しようずしたした。



最初の詊み私はXGBoostを教えようずしたした。 倜にパラメヌタを敎理するために蚭定したす。 ロヌカルの品質は良奜玄50でしたが、゜リュヌションをサむトに送信した埌、わずか39です。 XGBoostをデフォルトパラメヌタで送信するず、41を受信したため、確実に再トレヌニングされたした。



2回目の詊み症状を分析しようずしたした。 各列には個別に情報がたったく含たれおいないこずがわかりたした。れロず1の数は各クラスで同じです。 さたざたな列セットの䟝存関係を探すこずにしたした。 3列のあらゆる皮類の組み合わせ2列ず4列の組み合わせも詊したで䞊べ替え、各クラスで各組み合わせが発生する頻床を監芖したした。 珟圚、クラスの1぀での倚くの組み合わせが、他の2぀よりも1.5〜2倍頻繁にたたはより少ない頻床で発芋されたした。 しかし、結果ずしおの新しいバむナリ蚘号「シヌケンス内の各組み合わせの存圚」ぞの移行は䜕も生じたせんでした。 サむトは同じ41を返したした。 その理由は、おそらく、兆候が倚すぎるこずですトレヌニング芁玠が210の芁玠を持぀4060兆候。



3番目の詊行長さ5の各タむプのサブシヌケンスの数を笊号ずしお怜蚎するこずにしたした他の長さも詊したしたが、品質は少し悪くなりたした。 ランダムなパラメヌタヌでrandomForestを䜿甚しおトレヌニングし、サむトで63を埗たした。 兆候の重芁性を芋お、「サブシヌケンス10101の存圚」ずいう兆候が際立っおいるこずがわかりたした。 「シヌケンス内の亀互の総数」ずいう蚘号がもう1぀远加されたした。 パラメヌタヌmax_featuresは少し混乱し、最終的な69になりたした。



1䜍



パベル・シュベチコフ



「これは私の最初の機械孊習コンテストでした。だから、頭に浮かんだすべおのこずを詊しおみお、予枬の質を向䞊させるこずができたした。 最初は、デヌタを芖芚化するために長い間詊しおみたしたが、デヌタを芋おPCAで分解したしたが、良い結果は埗られたせんでした。 デヌタはすべおヒヌプ䞊にあり、目に芋える簡単なものは目に芋えたせんでした。 次に、蚘号が互いに䜕らかの圢で぀ながっおいるかどうかに興味があり、異なるクラスの蚘号間の盞関図を䜜成したした。 これは、クラス0の図のようです。







たた、最初のクラスの盞関図を䜜成したした。







この段階で、私は長い間立ち止たっお、本圓の違いが䜕であるかを理解しようずしたしたが、2番目のクラスに぀いお同様の図を䜜成するず、すべおがいくらか明確になりたした。







明らかに、兆候は盞互に関連しおおり、このすべおのほずんどは2幎生で顕著でした。 その埌、私の友人が、ほずんどの堎合、モデルのアンサンブルがkaggleで勝ち、芋぀かった䟝存関係を完党に忘れお、アンサンブルの構築にヒットしたず蚀ったこずを思い出したした。



それから私は自由な手綱を䞎えたした。 :)私は、単玔な投祚、加重投祚、スタッキング、ブレンディングを詊したした。これらはそれぞれ、異なる数のレベルず異なるモデルでリストされおいたした。 ここでは、元のバむナリ蚘号を远加しお前のレベルの予枬に関する高レベルのモデルを教えるなど、さたざたな興味深いこずを詊したした。さたざたな皮類の亀差怜蚌を詊したした。 クロス怜蚌leave-one-outメ゜ッドは、デヌタ量が少ないために第2レベルモデルの真の発芋になったこずを認めなければなりたせん。これにより、アンサンブルの品質がさらに向䞊したした。



ある時点で、偶然、いく぀かの良いアむデア、特に前のモデルの予枬ではなく、次のレベルのモデルを教えるために䜿甚できるものに぀いお提瀺されたした。行ごずの蚘号。 コンテストの最初に受け取った盞関図ず合わせお、品質を改善するために他に䜕ができるかに目を開きたした。 特に、バむナリ蚘号をランダムりォヌクずしお提瀺し、蚘号の察称性、シフト数0-1、連続0たたは1の数、それらの最倧/䞭倮倀/平均長を䜿甚しようずしたした。たた、元の蚘号をテキスト文曞の圢匏で提瀺しようずしたした単語0、1から、同じ倀の連続したシヌケンスが䞭断される蚘号の番号を瀺す新しい蚘号を远加したした。 さらに進んで、さたざたな「単語」の組み合わせにTF-IDF属性を远加するこずを考えたしたが、時間がなくなり、すでに起こったこずに集䞭するこずにしたした。



結果のモデルは次のずおりです。







デヌタの90䞊蚘の远加機胜を䜿甚で7぀のモデル以䞋に瀺すをトレヌニングし、デヌタの残りの10で第1レベルモデルからクラス確率予枬を受け取り、これらの新しい兆候でsvmを含む第2レベルモデルをトレヌニングしたした、randomForestおよび小さなニュヌラルネットワヌク。 第2レベルモデルの予枬ず倚数決投祚を統合したした。」



ご芧のずおり、3人のファむナリストのうち2人は、コンテスト前の機械孊習の問題を解決した経隓が高くなかったこずを認めたした。 これは、競争のタむミングずオヌプンリ゜ヌスが、これらすべおを理解し、゜リュヌションを提䟛する機䌚を提䟛するだけでなく、たずもな結果を瀺す機䌚を提䟛するこずを意味したす。それは、欲望ず忍耐のみです。



***



今幎もコンテストを開催したす 今回は、参加者のために新しいタスクが甚意されたした。受賞者だけでなく、賞品iPod shuffleず500 GB倖付けハヌドドラむブを尊重し、尊敬するだけでなく、Mail.Ruグルヌプチヌムに参加する機䌚もありたす。 機械孊習アルゎリズムの範囲は絶えず拡倧しおおり、珟圚では広告サヌビス、スパム察策、゜ヌシャルネットワヌクで積極的に䜿甚されおいたす。 私たちは機械孊習の専門家に興味があり、それが䜕であり、どのように䜿甚するかを人々に知っおもらいたいです。 ML Boot Campなどの競技䌚は、抜象的に理解できない理論を読むだけでなく、すぐに実際の理論に近いタスクに分割する絶奜の機䌚です。 これは、これに垞に興味を持っおいるが、優柔䞍断にためらいがちな人のための機械孊習に最終的に埓事する機䌚であり、経隓豊富なナヌザヌが圌らの高いレベルを瀺す機䌚です。 ML Boot Campにご参加ください



MLブヌトキャンプチャンピオンシップは、ロシアのIT産業の発展を目的ずしたMail.Ruグルヌプの取り組みの1぀であり、 IT.Mail.Ruリ゜ヌスによっお統合されおいたす。 IT.Mail.Ruプラットフォヌムは、ITに興味があり、この分野で専門的に開発しようず努力しおいる人々のために䜜成されたした。 このプロゞェクトは、MSTUのテクノパヌクの教育プロゞェクトである、ロシアのAiカップ、ロシアのコヌドカップ、ロシアのデベロッパヌズカップのチャンピオンシップも結び付けおいたす。 バりマン、モスクワ州立倧孊テクノスフィア MIPTのM.V. LomonosovずTechnotrek さらに、IT.Mail.Ruでは、人気のあるプログラミング蚀語の知識をテストしたり、ITの䞖界から重芁なニュヌスを孊んだり、関連するむベントやITトピックに関する講矩の攟送を芋たり芋たりするためにテストを䜿甚できたす。



All Articles