アルゴリズムモデルをソートスズメバチの巣は、高速反復のために推奨される方法

(元の記事のスズメバチの巣の技術、マイクロ文字のID:mfwtech)

上巻スズメバチの巣推薦システム

次のようにスズメバチ推薦システムは、主に(ランク)を選別、リコール(マッチ)からなる、(Rerank)いくつかの構成要素を並べ替え、全体的な構造は以下の通りであります:

リコール段階では、ユーザの好み(百、千)に沿ったコンテンツのA候補セットの膨大なライブラリから上映されます。これに基づき位相を並べ替え、より多くの候補セットの内容は、特定の最適化目標に基づいて(例えば、クリックスルー率)計算及び各コンテンツの正確な、正確なスコアリングの選択、従ってほとんどのユーザは、候補セットの数十万の内容から関心の小さな高品質のコンテンツを選択します。

高速のサポートモデルで、より正確な推薦結果をユーザに提示するために、効率的な反復プロセス、ソートアルゴリズムプラットフォームプレイ、アルゴリズムプラットフォームを並べ替え、どのようにその全体的なアーキテクチャ - この記事では、コアのスズメバチの巣推薦システムの一つに焦点を当てます練習と経験のどのような役割。

進化2弾ソートアルゴリズムプラットフォーム

2.1全体的なアーキテクチャ

現在、スズメバチソートアルゴリズムソートラインモデル主にインターネットに一般的なデータ処理モジュール、あるいはモデル生成モジュール、監視、分析モジュールは、以下に示すワークフロー三つの部分、各モジュールおよび全体的なプラットフォームの構造で構成されています。

2.1.1モジュールの機能

(1)一般的なデータ処理モジュール

コア機能は、建物、および機能訓練サンプルを構築することであり、それは全体のランキングアルゴリズムの最も基本的かつ重要な部分です。データソース向ける印象は、ユーザーの肖像画、肖像画やリアルタイムのストリーミングおよびFLINKを処理スパークオフラインバッチを処理する基礎となるデータの内容のように、依存を記録しをクリックします。

(2)別の方法として、モデル生成モジュール

トレーニングセット、鉄道模型と母線構成、シームレスな同期ラインモデルを構築するための主に担当。

(3)監視および分析モジュール

主にそれは、推奨プールを監視する監視及び解析機能、モデル関数の視覚的解析、上流依存監視データを含みます。

それらの間のJSONのコンフィギュレーションファイルと各モジュールと相互作用の機能は、トレーニングを統合し、オンラインのモデルのみの急速な反復ソートアルゴリズムのための強固な基盤を築い大幅開発の効率化を増強する、コンフィギュレーションを行うことができます変更する必要があります。

2.1.2メインプロファイルタイプ

コンフィギュレーションファイルがされているTrainConfig、MergeConfig、OnlineConfig、CtrConfig 4つのカテゴリに分類し、その役割をされています。

(1)TrainConfig

これは、トレーニングセットの構成とモデル構成を含む研修の構成を参照します。

  • トレーニングデータ使用期間を指定します;訓練機能の使用を指定するトレーニングセットを備えた構成の指定されたシーン、ページ、およびチャネルなど

  • 鉄道模型セットパスなどのパス・テスト・セット、保存パスモデルを含むモデルの構成パラメータ

(2)MergeConfig

、ユーザ選択機能を備えた構成を特徴と、コンテキストの特性を意味し、機能を交差請求物品。

ここで、我々はまた、コンフィギュレーションを達成するためのクロス特性を算出しました。例えば、一部のユーザは、特徴ベクトルを特徴とする、いくつかのコンテンツ特性ベクトルの特徴もあります。我々は、クロスまたはモデル特徴のユークリッド距離として2つのベクトルのコサイン類似度を使用したいときに使用し、このクロス計算機能の選択は、構成として直接実装することができ、構成の同期ラインの使用におけるラインの場合。

(3)OnlineConfig

ライン構成、機能の構成(特徴コンテキスト、ユーザ特性、前記コンテンツ、前記クロス)、放出経路を含む自動生成されたオンラインでの使用のための訓練データを構築するプロセスを指し、モデルがあります。

(4)CtrConfig

CTRは、ユーザとコンテンツCTR特性を効果平滑化処理を、デフォルトの設定を指します。

2.1.3機能プロジェクト

アプリケーションの観点から、これは3つの主な特徴は、ユーザ特徴(ユーザ特徴)、前記コンテンツ(記事機能)、前記コンテキスト(コンテキスト機能)を含みます。

取得の方法に分けることができた場合:

  • 統計的特性(統計機能):露出/クリック率などの特定の時間/量のユーザ、コンテンツ、トラフィックを含みます

  • ベクタフィーチャ(埋め込み機能):情報をラベル、例えば、宛先ベースの過去の行動をユーザがクリックを使用して、ベクターの特徴Word2Vecトレーニング等の使用。

  • CROSS機能(クロス特集):タグまたはデスティネーションベクター、ベクターまたは構築物ユーザベクトルアイテム、それによって物品とユーザ特徴の類似度などに基づいて

2.2アルゴリズムのプラットフォームをソートV1

ソートアルゴリズムプラットフォームV1フェーズでは、単純なJSONファイルの設定により、プラットフォームは、分割シーンXGBoostモデルトレーニング、トレーニングセットを選択し、特徴選択を実現することができ、AUCオフラインで評価XGBoostモデルは、オンラインプロファイル自動同期ラインを生成し、機能。

2.3ソートアルゴリズムプラットフォームV2

上記のこれらの問題を解決するために、監視および分析モジュールの我々のソートアルゴリズムプラットフォームは、追加データの検証を、モデルでは説明して、私たちは継続的、反復モデルの最適化のために、より科学的かつ正確な根拠を提供するヘルプを備えています。

2.3.1データの検証(DataVerification)

オンライン結果がとして期待されていない間にオフラインモデル結果(AUC)は、好調なアルゴリズムプラットフォーム、中V1ステージは、モデルの反復に影響を与える問題のトラブルシューティングを見つけることは困難です。

露出計を得るために、毎日クリックの概要を、問題の調査と分析を通じて、我々は、ラインを引き起こす効果は非常に重要な理由を期待満たしていないことが判明し、おそらく列車のセットモデルは、位置の数に基づいています。一部がクリックエクスポージャーのリアルタイム動作中に、このコンテキストオフライン露出計のクリックを備えたデータは、遅延やその他の理由を報告しているため、オフラインとオンラインの多くの問題をもたらすことは矛盾しています、エラーがあるかもしれません。

このような状況に鑑み、我々はデータ検証機能を追加した、リアルタイムのログ機能は、各次元の比較分析のオフラインとオンラインプリントトレーニングセットを構築しました。

具体的なアプローチは、ラインに基づいて(モデルは、モデル予測機能やグレーディング情報を使用含む)リアルタイムの対数露光をクリックすることで、各露光レコードのクリックのためのリアルタイムのユニークIDを追加するには、表をオフラインにまとめた感想をクリックしてください私たちは、このユニークなIDを維持します。このように、クリックエクスポージャーの記録のために、我々は、機能、特性およびオンラインAUCのオンライン仲間の実際の使用のオフライントレーニングセットとオフラインモデルで予測を構築し、オンラインとオフラインのモデルを特徴とすることができますいくつかの問題を発見した場合の比較。

例えば、プロセスモデルの以前の反復、AUCの高いオフラインモデルにおいて、その効果はライン上にありません。データの検証を通じ、我々はまず、オンライン状況とオフラインモデルAUCを比較し、矛盾が効果現象が存在し、その後、ポイントを予測し、オンラインで見つけると予想して最大のTOPKサンプル間のオフラインの違いには、オンラインとオフラインのモデルを比較しました彼らのオフラインとオンライン機能の特性を分析しました。最後に、データが遅延線と選択されたパラメータはDMatrixは、オンラインとオフラインの両方のモデルの予測偏差が得られ、missingValueの問題を構築し、オフラインとオンラインXGBoostの文脈の特徴によって引き起こされる不一致の数を報告することが判明しているため。上記の修正後、オンラインUV CTRは16.79パーセント、19.10パーセントPV CTRの隆起を高揚しました。

データ検証機能とソリューション戦略を通じ、我々はすぐにアプリケーションラインの効果を高めるために開発された反復アルゴリズムモデルのプロセスを加速するために、問題の原因を突き止めます。

2.3.2モデルが説明(ModelExplain)

モデル解釈は改善モデルのためのインスピレーションを提供し、意思決定モデルを理解するための意思決定モデルで私たちの自信を高め、機械学習モデルのブラックボックスを開くことができます。「なぜ、万一Iトラストあなたがどんな分類子の予測を説明する」、「解釈モデル予測に統一されたアプローチ」:2件の記事を理解するために皆にそれを説明し、推奨するモデルのいくつかの概念。

実際の開発では、我々は常にトレードオフ精度とモデルモデル解釈可能との間にあります。単純なモデルが良いの説明がありますが、精度は高くありません。そして複雑なモデルは、モデルの解釈可能を犠牲にし、同時にモデルの精度を向上させることができます。複雑なモデルを説明するために、単純なモデルを使用すると、現在のモデルの解釈のコア法の一つです。

現在、我々は、オンライン注文のモデルXGBoostモデルを使用しています。しかしXGBoostモデルは、モデル特徴の重要性に基づいて解釈する従来の方法は、全体的にのみ、各機能の重要性の尺度を与える、と部分出力のモデルの解釈、または単一のサンプルモデルの出力説明をサポートしていません。 。この文脈では、我々のモデルでは、我々は、単一のサンプル中の特徴を理解できるように、モジュールは、機能をサポートするだけでなく、重要性、方法シャップとライムを説明するために新しいモデルを使用し、また地元の解釈モデルをサポートしています説明します正または負のどの程度のモデルの出力の値が役割を果たすことができます。

以下からコア機能を導入するために、実際のシーンの簡単な例を通してモデルによって説明しました。まず、いくつかの機能の意味を教えて:

我々のモデルは、単一のサンプルは、以下の分析が与えられますについて説明します。

  • U0 - I1

  • U0 - I2

  • U_0 - I3

示されるように、単一のサンプルモデルU0 - I2U0 -_I3_ 0.094930の予測値、0.073473、0.066176。単一のサンプルの予測、正および負の固有値の各々は多くの効果を有するが、図面とストリップの特性長さからわかるように、赤色は正の効果を示し、青色は負の効果を表します。この値は、のテーブルshap_valueの値によって決定されます。

ここで、logit_output_value = 1.0 / (1 + np.exp(-margin_output_value)),logit_base_value = 1.0 / (1 + np.exp(-margin_base_value))、output_valueはXGBoostモデル出力値であり、A BASE_VALUEモデルは、所望の出力であり、濃度は約全体のトレーニングモデル予測の平均値に等しい。shap_valueが果たす役割の正および負の予測因子特性の尺度です。

モデル予測は、logit_output_value> 0.066176> 0.073473 0.094930、結果があるので、ソートI1 > I2 > I3U0 - I1の予測値0.094930、doubleFlow_article_ctr_7_v1 = _I1_ctrがベース値予測値と比較するように、0.062029の積極的な役割を果たし特徴、増加傾向にあります。同様に、ui_cosine_70 = 0.894006、0.188769はで積極的な役割を果たしました。

直感的に、我々は、7日間の内容を見ることができ、ユーザーのクリックスルー率 - 高いコンテンツの類似性、期待に沿ったものである高い予測値、。実際のシナリオでは、我々はより多くの機能を持つことになります。

コア機能を説明するためのシャップモデルはローカル1サンプルの分析をサポートすることです、もちろん、それはまた、世界的な分析をサポートしていますこのようなインタラクティブな機能として、正と負の機能の役割の重要性などの機能します。以下の特性doubleFlow_article_ctr_7_v1の分析であり、それは見ることができ、コンテンツCTRは7日より負に関与すると予測モデルの閾値よりも、予測モデルプラスの効果からの閾値よりも大きいです。

パート3最近の計画

最近では、ソートアルゴリズムプラットフォームはトレーニングモデルのオンラインアプリケーションの効果を高めるために継続し、リアルタイムでは、ラインの急激な変化を反映して、優先順位として備わっています。

連続離散クロスが特徴のように構築し、前記現在のモデルXGBoostの利点は、アルゴリズムプラットフォームが機能欠損値を含む多くのエンジニアリング機能を、必要としないソートされます。しかし含む多くの欠陥は、もあります。

  1. クッシュマン・アンド・ウェイクフィールドは、疎な特徴を処理することは困難です

  2. メモリのトレーニングモデルにロードされるデータの完全なセットは、オンライン学習アルゴリズムをサポートしていない、モデルのリアルタイム更新を達成することは困難です。

下に示すように、これらの問題を解決するために、我々は、ワイド&ディープ建設に遅れDeepFM他の深いモデルになります。

現在のモデル予測項目個々のスコア、およびブラシを取るために、次にソート結果、(ランクに学習、点状)たびに、さらに。私たちは、後者は、正確な推薦結果をユーザーに、よりリアルタイムを与え、ユーザーに(ランク、リストごとに学習)の推薦ブラシの結果を達成することができることを願っています。

著者:夏は、鉛、王磊、スズメバチの巣プラットフォームの推薦アルゴリズムのR&Dエンジニアを取りました。

おすすめ

転載: juejin.im/post/5dc8fc00f265da4d0d0dd4de