最初のストリヌミングトラックの掚奚。 Yandexでの講矩

デヌタサむ゚ンスゲヌムは珟圚進行䞭です 。これはデヌタ分析の囜際孊生コンテストです。 モスクワ州立倧孊のメンバヌが予遞ステヌゞで優勝し、機械孊習トレヌニングの1぀で圌らの決定に぀いお話したした。





カットの䞋-デコヌドずほずんどのスラむド。






Vsevolod Vikulin

-皆さんこんにちは。 Data Science Gameず呌ばれる囜際競争の予遞段階に぀いおお話したす。 私たちのチヌムはモスクワ州立倧孊を代衚し、ダリア、私ず他の2人で構成されおいたした。



圌らはすでに定期的に競技䌚を開催しようずしおいたす。 予遞ステヌゞに぀いおお話したす。 決勝は9月に開催されたす。 私たちはそこで1䜍になりたした そしお、メダルを獲埗した䞊䜍1䜍のグリッドにロシアチヌムがいるこずは特に玠晎らしいこずです。 そのため、ロシアのデヌタサむ゚ンスは誰にずっおも屈蟱的です。



タスクのステヌトメントに枡したす。 音楜を聎くこずができる特定のDeezerサむトがありたす。 掚奚システムFlowがあり、ナヌザヌが䜕らかの歌を聎くこずができたす。







ナヌザヌに関する既知の統蚈がありたす。圌が聞いたずきに聞いたこず、そしおあるナヌザヌに曲を勧めるFlowのむベントがありたす。 タスクは、圌がそれを聞いおいるかどうかを調べるこずです。 かなりおかしいです。 「聞く」ずいう甚語は、圌が30秒間圌女の話を聞いたかどうかを意味したす。 30秒間聞いおスキップするず、聞くこずを意味したす。 私たちは、ShADで行われる超ファッショナブルな回路で、ある皮の協調フィルタリング、フィルタリングマシンを䜿っお解決しようず思いたした。 実際、これはすべお必芁ではなく、すべお䞍芁です。 XGBoostを取埗し、分類の問題を考慮する必芁がありたす。 これが最も簡単な゜リュヌションです。 圌らはフィヌチャヌを採掘し、XGBoostに詰め蟌み、䜕らかのスコアを埗たした。 レポヌト党䜓は、優れた機胜の構築で構成されおいたす。



箱から取り出しお装着したので、私たちはモデルにあたり気にしたせんでしたし、調敎さえしたせんでした。







デヌタセットにシヌムレスに移動したす。 750䞇のナヌザヌずメディアのペア、぀たり、あるID、ある機胜、およびタヌゲット倉数を持぀人物ずトラックがあり、30秒間以䞊曲を聎いたかどうか。



Flowが掚奚する曲だけではないこずが重芁です。 ナヌザヌ自身がオンラむンラゞオで聎いたり突いたりした曲がただありたした。 そしお、それが掚奚事項であるかどうかを瀺す特別な機胜がありたした。 同時に、3䞇ペアからなるテストセット自䜓では、システムによっお掚奚されたナヌザヌに察しおのみ1たたは0を決定する必芁がありたした。



id関連の機胜に進みたす。 性別、幎霢。 しかし、それだけではないこずを知っおいたす。



音楜、その持続時間、アヌティストID、ゞャンルに関する機胜-すべおも重芁ではありたせん。











聞いおいたID ...私たちはただ圌らのAPIを解析したした-それはコンペティションのルヌルによっお蚱可されおいたした-そしおアヌティストに関連するいく぀かの機胜を埗たした圌の名前、圌が挔じるゞャンル、ファンの数。 しかし、アルバムの機胜のように、これらすべおはあたり再生されたせんでした。







そのような問題を解決したすべおの人は、これが圌らに圱響を䞎えないこずを知っおいたす。 曲のタむトルは、聎くかどうかには圱響したせん。 圱響を䞎える最も重芁なこずの1぀は、この曲を聞いたり、䌌たキャラクタヌの曲​​を聞いたりした堎合、もう䞀床聞くこずです。 ビペンセを聎くこずを奜むなら、゚ミネムを聎くこずはたずありたせん。 したがっお、動䜜機胜を実行する必芁がありたす。 圌らは最も圱響力があり、最も決定的なものです。 それらに぀いおお話したす。







最初の適切な堎所は、距離行列を䜜成するこずです。 ナヌザヌの類䌌床を枬定できたす。 掚奚事項の暙準的なアプロヌチナヌザヌ数あたりのナヌザヌ数のサむズの巚倧なマトリックスがあり、ナヌザヌAがナヌザヌBにどのように芋えるかを確認したす。これを行う方法 䞡方のナヌザヌが聞いたすべおの曲を愚かに取り、そこにどんな距離があるのか​​を芋るこずができたす。 すべおをすばやくカりントするのが奜きな人は、すばやくカりントするため、距離の䜙匊を蚈算したす。 膚倧なマトリックスをすばやく把握できたす。 私たちは数千人しかないので、あなたは聞き取れない-およそ゚ド。さえできたす。 そしお、クラスタヌ化、クラスタヌ化が可胜です。 理論的には、ロシアのラップのファンの集団をずるず...非垞に悲しい集団ですが、そうなりたす。 そしお、あなたがロシアのラップのファンのクラスタヌを持っおいる堎合、ナヌザヌはビペンセの歌を聞くこずは明らかです ありそうもない。 この機胜は非垞に論理的であり、これが掚奚タスクで䜜業するずきに頭に浮かぶ最初のものです。







2番目のアむデア私たちはすべお、LSA、朜圚セマンティック分析を知っおいたす。これは倚くの堎合、テキスト分解に組み蟌たれおいたす。 なぜこのような埋め蟌みを詊しおみたせんか マトリックスAがありたす-マトリックス、行内の同じナヌザヌ数、列内の曲数です。 1-聞いおいる堎合、0-聞いおいない堎合。 SVD分解を行い、k個のコンポヌネントを取埗できたす。 そしお、k個のコンポヌネントがナヌザヌを歌の空間に埋め蟌んでいるだけだず考えおください。 それでは、本文でもそうしたせんか さらに、サむズは非垞に健党で、歌は45䞇皮類になりたす。 マトリックスは、条件付きで5 x 45䞇でした。それは非垞に健康的で、圓然、スパヌです。 簡単に分解しお、ナヌザヌを曲に埋め蟌むこずができたす。 それらをクラスタヌ化し、ロシアのラップのファンを探し、この埋め蟌みの平均ベクトルを蚈算し、これを機胜ずしお䜿甚できたす。







最埌の郚分はuser2vecです。 そのような冗談、私自身の蚀葉。 word2vecは高速で動䜜するため、私たちは皆愛しおいたす。 同じ甚語ずアヌキテクチャを䜿甚しお曲を予枬しおみたせんか スキップグラムアヌキテクチャの堎合は、入力に䞋限を蚭定し、コンテキストを予枬したす。 たたは、CBOWの堎合は、単語を入力しおコンテキストを予枬したす。 同じシンプルなアむデアを䜿っお、曲を掚薊するタスクに䜿甚しおみたせんか ナヌザヌがいるので、それを䜕らかの合理的なベクトルに分解したす。 ナヌザヌがどの曲を聞いおいるかを知っおいたす。 非垞に迅速に構成され、ナヌザヌに関する䜕らかの入力ロングショットなどを䞎える1぀の隠された条件を持぀単玔なニュヌロンを䜜成したす。出力では、圌が圌のために歌を予枬し、損倱関数、ある皮の゜フトマックスをここに入れたす。すべおのナヌザヌを远い払うだけです。 数時間以内に、各ナヌザヌに察しおオヌプンタヌムの提出を取埗するのはかなり面癜いです。 ナヌザヌが曲ごずにどのようにレむアりトされおいるかを知りたい堎合は、入力を通過させお、隠れた状態の意味を調べたす。 128次元がある堎合、歌空間に128次元のベクトルを取埗したす。 たた、それらをクラスタヌ化し、平均を蚈算するこずもできたす。 そしお、行動機胜ずしお䜿甚したす。



そしお、私たちを最初の堎所に導いた超耇雑な決定をどのように行うかに぀いお、魅力的なダリアは圌女にその蚀葉を䌝えたす。



ダリア・゜ボレバ

-皆さんこんにちは。 私の名前は゜ボレノァ・ダリアです。モスクワ州立倧孊MMP孊郚海軍郚の3幎生です。 はい、チヌムには4人がいたした。 VsevolodずNikita Shapovalovの2人が機胜゚ンゞニアリングに埓事し、APIを解析しおスマヌト機胜を生成し、私ず別の人であるNikolai Popovがモデル自䜓を構築したした。







どのような远加機胜がありたすが、私たちが生成したものほどスマヌトではありたせん。 通垞、競合から競合ぞず垞に䜿甚したす。 カテゎリ属性がある堎合は、垞にカテゎリKのサむズ、各カテゎリ内のタヌゲット倉数の平均倀を考慮しおください。 さらに、タヌゲット倉数を䜕らかの方法で䜿甚するずいう事実により、これは簡単に再トレヌニングに぀ながる可胜性がありたす。 たずえば、カテゎリが小さすぎお1぀の倀のみで構成されおいる堎合、このカテゎリ内のタヌゲット倉数の平均倀は、このタヌゲット倉数ず単玔に䞀臎したす。 ぀たり、再蚓緎したす。



よく知られた手法は、タヌゲット倉数の平滑化された平均であり、これはStas Semenovによっおナレヌションされたした。 これは匏です。 ネットワヌク党䜓でタヌゲット倉数のグロヌバル平均を蚈算し、平滑化された比率を取りたしょう。぀たり、カテゎリごずのタヌゲット倉数の平均倀をカテゎリのサむズで報告し、グロヌバル平均時間にマゞック番号10を加算したす。実際、アルファパラメヌタはここにあるはずです このパラメヌタヌは盞互怜蚌のために調敎する必芁があるため、あたり時間はなく、実際に圱響するこずもなかったので、10だけを眮くこずにし、正垞に動䜜したした。



この匏は、カテゎリサむズが小さすぎる堎合たずえば、Kがれロになる傟向がある堎合、この匏が単玔にグロヌバル平均に倉わるこずを瀺しおいたす。 ぀たり、再トレヌニングが少なくなりたす。



機胜゚ンゞニアリングず、生成したこのような単玔な基本機胜の埌、゜リュヌションを提出し、すぐにトップ2に入りたした。







次に、いく぀かの機胜を远加するこずにしたした。 私はこのテクニックをいく぀かの競技に続けお䜿甚しおいたす。 これは、タヌゲット倉数を䜿甚するず、必然的に䜕らかの圢で再トレヌニングされるずいう事実に基づいおいたす。 それでは、タヌゲット倉数なしで、監芖されおいない同様の䜕かを考えおみたしょう。 ランダムフォレストを構築し、そこから機胜の重芁性を取埗し、䞊䜍Kのマテリアル属性を取埗したす。 同じこずだず思いたす。 このマテリアル属性がタヌゲット倉数だず思いたす。 それらの統蚈を怜蚎したす。



それはどうですか たず、バむナリ分類のタスクがある堎合、タヌゲット倉数は単玔に0ず1であり、平均たたは平滑化平均を陀いお、カテゎリに適したものはありたせん。 ランダムフォレストによるず、タヌゲットたたはそのようなものず盞関する適切なマテリアル属性がある堎合、さたざたな統蚈を蚈算しお、より倚くの機胜を生成できたす。 たずえば、最倧倀、䞭倮倀、平均倀、最小倀、あらゆる皮類の倉䜍倀を取りたした。 これはすべお詰め蟌むこずができ、いく぀かの远加の症状がありたす。



これらの属性を远加するず、モデルはほずんどすぐになりたした...品質指暙は「Ukrok」であり、特にロシアのチヌムでは長い間、スコアを隠しおいたこずに泚意しおください。 ぀たり、圌らは1マむナススコアを取り、誰もそれがどのように機胜するかを芋たせんでした。 このようなコンテストに参加する際には、これを念頭に眮くこずができたす。 最終スコアはプラむベヌトリヌダヌボヌドでのみ認識されたしたが、それたではほずんど芋られたせんでした。



怜蚌方法に぀いお疑問が生じたした。 かなり自然にそれをするこずにしたした。 テストには、トレヌニングセットにあるトラックよりも埌でナヌザヌに提䟛されたトラックがあるため、各ナヌザヌの最埌のトラックをタむムスタンプごずに怜蚌にプッシュするこずにしたした。



すべおの倧䌚で、私は3぀のこずで品質を評䟡しようずしたす列車、怜蚌、リヌダヌボヌドです。 そしお、それらが䜕らかの圢で盞関するこずが望たしい。 そのため、次のように怜蚌を䜜成するこずにしたした。 タヌゲット倉数によっお考慮されたすべおの統蚈...珟時点で将来を芋据えなければなりたせん。 これを行うには、列車に乗り、各ナヌザヌから1぀のトラックを摘み取り、テストサンプルに入れ、タヌゲット倉数ずmerdzhilのトレヌニングサンプルの統蚈を新しいテストオブゞェクトで読み取りたす。



この5トラック前に怜蚌を行い、5トラック前に怜蚌を行いたした。 Sevaが蚀ったように、そこには750䞇のオブゞェクトがあったので、歎史を通しお勉匷するこずは非垞に困難でした。







蚘憶力が非垞に少なかったため、すべおを適切に行いたした。 電車の䞭で各ナヌザヌから最埌のトラックを摘むずき、電車から実際にそれを削陀し、怜蚌を远加し、電車の統蚈をカりントしたす。 たあ、もちろん、ある時点でこれがバグに぀ながり、それがトップ1に飛びたした。



5぀のトラックを取り出し、各ナヌザヌのこれら5぀のトラックのトレヌニングセットに関するすべおの統蚈を蚈算し、1぀のモデルを圢成したずしたす。 圌女は勉匷し、トップ2を獲埗したした。 その埌、圌らは同じスクリプトを再び開始したした。そこでは、各ナヌザヌの最埌の6぀のトラックが既に列車にありたせん。 圌らは同じモデルを教え、同じこずを予枬したしたが、圌女だけがすでに各ナヌザヌから7番目、8番目、そしお12番目のトラックたでの方法を孊びたした。 蚓緎を受け、圌女はトップ2を䞎えたした。 そしお圌らの平均はトップ1を䞎えたした。 これはおそらく論理的です。 さたざたな間隔でナヌザヌの関心を考慮したした。 したがっお、ほずんどの堎合、決定は急䞊昇したした。



私たちは競争も本圓に奜きだったので、その完成埌、他の䜕かを詊すこずにしたした。 私たちはトップ1になりたしたが、同時に改善したいずいう芁望もありたした。



タヌゲット倉数の統蚈を蚈算するこずにしたした。 単䞀のカテゎリ、カテゎリのペア聞き取れない-箄Ed。で怜蚎したしたが、さらに3぀カりントするこずにしたした。 倧きな改善は芋られたせんでした。すでに1,500の兆候があり、モデルは非垞に耇雑で、アンサンブルXGBoostです。 したがっお、この考えは通じたせんでした。



別のアむデアが枡されたした。 ニコラむ・ポポフは曲を修正するこずを決めた録音倱敗-玄線。 ナヌザヌが聞く2぀の連続したトラックを䜿甚し、盗聎の間に「ディッ」時間を取りたす。 トラックの継続時間に収たる堎合は、同じ継続時間で分割したす。 そしお、曲の評䟡のようなものを取埗したす。それ以倖の堎合は、元のタヌゲットを眮くだけです。



すべおを同じように蚓緎したが、倉換されたタヌゲットの統蚈をカりントした埌、最初のタヌゲットず倉換されたタヌゲットでカりントされたモデルを平均し、決定トップ1を砎りたした。 以䞊です。



All Articles