機械学習ソートLTR:線形モデルを簡単に始める

機械学習ソートLTR:線形モデルを簡単に始める

[[207297]]

LTR のエントリーレベルのモデルは線形モデルです。この記事では線形モデルを例に、検索とランキングのシナリオにおける一般的な方法で機械学習の基本的な考え方と実装手順を紹介します。 LTRシリーズの第3回目となるこの記事では、LTRを簡単に始められると思います。

多くの検索専門家は、「機械学習を通じて最適な重みを取得し」、それを検索クエリに使用したいという欲求を持っています。これは検索におけるモグラ叩きのようなもので、よく言われるように、「タイトル一致またはコンテンツ一致のどちらかを最適化することを選択できれば、間違いなくもっとうまくいくだろう」ということになります。

クエリにどのような重みを適用するかを学習するというこの本能は、最も単純なランク付け学習 (LTR) モデルである線形モデルの基本原理です。はい、伝説の線形回帰です!線形回帰は非常にシンプルで使いやすいです。機械学習のようにはまったく感じません。高校生向けの統計学のようなものです。モデルとその原理を理解するのも非常に簡単です。

このシリーズの記事では、まず線形回帰から始めて、徐々に勾配ブースティング(さまざまな種類のブースティング アルゴリズムを組み合わせたもの)、RankSVM、ランダム フォレストなどのアルゴリズムに移行しながら、LTR の実装を成功に導いた主要なアルゴリズムを紹介したいと思います。

LTRは何よりもまず回帰問題である

このシリーズの記事では、前回の記事とドキュメントで学んだように、LTR をより一般的な問題である回帰にマッピングしたいと思います。回帰問題では、一連の数値特徴を予測値にマッピングするモデルをトレーニングする必要があります。

たとえば、会社の利益を予測するにはどのようなデータが必要ですか? 従業員数、株価、収益、キャッシュフローなど、過去の公開財務データが手元にあるかもしれません。いくつかの企業のデータが既知であると仮定すると、モデルはこれらの変数(またはそのサブセット)の関数として利益を予測するようにトレーニングされます。新興企業の場合、この機能を使用して企業の利益を予測できます。

LTR も回帰問題です。クエリに対するドキュメントの関連性を測定する一連の評価があります。関連性スケールは A から F までで、通常は 0 (まったく関連性がない) から 4 (非常に関連性がある) までです。まず、次に示すようなキーワード検索クエリを考えてみましょう。

  1. グレード、映画、キーワードクエリ
  2. 4. ロッキー、ロッキー
  3. 0、ターナーフーチ、ロッキー
  4. 3、ロッキー2、ロッキー
  5. 1、ランボー、ロッキー
  6. ...

時間信号の順序付けの関数としてランクを予測するモデルを構築する場合、LTR は回帰問題になります。 関連性検索におけるリコール、つまりシグナルと呼ばれるものは、クエリとドキュメントの関係を測る尺度です。より一般的な名前は機能ですが、私は個人的には長期シグナルと呼ぶことを好みます。理由の 1 つは、シグナルが通常クエリから独立していることです。つまり、結果はキーワード (またはクエリの一部) がドキュメントにどの程度関連しているかを測定することによって取得されます。一部の方法では、それらの関連性を測定します。したがって、記事の公開日やクエリから抽出されたエンティティ (「会社名」など) など、クエリ固有またはドキュメント固有の他のシグナルを導入できます。

上の映画の例を見てみましょう。関連性を予測するのに役立つクエリ依存のシグナルが 2 つあると思われるかもしれません。

タイトル属性に検索キーワードが何回出現するか サマリー属性に検索キーワードが何回出現するか 上記の評価を拡張すると、次の CSV ファイルに示すように、特定のシグナル値をレベルにマッピングした回帰トレーニング セットを取得できます。

  1. グレード、タイトル一致数、概要一致数
  2. 4,1,1
  3. 0,0,0
  4. 3,0,3
  5. 1,0,1

線形回帰と同じように回帰プロセスを適用して、他の列を使用して最初の列を予測できます。 Solr や Elasticsearch などの既存の検索エンジン上にこのようなシステムを構築することも可能です。

私は複雑な問題を回避しました。それは、これらの評価をどのように取得するか、ドキュメントがクエリに対して良いか悪いかをどのように判断するか、ユーザー分析を理解するか、専門家による人間による分析か、という問題です。これは解決するのが最も難しいことが多く、非常にドメイン固有です。モデルを構築するために仮説的なデータを用意するのは良いことですが、時間の無駄です。

線形回帰LTR

統計学を勉強したことがあるなら、線形回帰についてはすでにご存知でしょう。線形回帰は、回帰問題を単純な線形関数として定義します。たとえば、LTR では、上記の最初のシグナル (検索キーワードがタイトル属性に出現する回数) を t と呼び、2 番目のシグナル (検索キーワードがサマリー属性に出現する回数) を o と呼びます。モデルは、次のように関連性をスコアリングする関数 s を生成できます。

  1. s(t, o) = c0 + c1 * t + c2 * o

最適な係数 c0、c1、c2 などを推定し、最小二乗法を使用してトレーニング データを予測できます。ここでは詳細には触れませんが、ポイントは、実際のグレード g と予測値 s(t, o) の間の誤差を最小限に抑えるために c0、c1、c2 などを見つけることができるということです。線形代数を復習すると、これは単純な行列計算のように見えます。

線形回帰を使用すると、決定が実際に別のランキング シグナル (t*o として定義) であることを含め、より満足できるようになります。または、別の信号 t2 (実際には通常 t^2 または log(t) として定義されます)、または相関予測に最適と思われるその他の式。ここで、これらの値を線形回帰の係数を学習するための追加列として使用する必要があります。

あらゆるモデルの設計、テスト、評価は、より奥の深い技術です。さらに詳しく学びたい場合は、『統計学習入門』を強くお勧めします。

sklearn を使用した線形回帰 LTR の実装

より直感的なエクスペリエンスを得るには、Python の sklearn ライブラリを使用して回帰を実装するのが便利です。上記のデータを使用して線形回帰による単純な LTR トレーニング セットを試したい場合は、予測しようとしている関連性スコアを S として表すことができ、表示される信号はそのスコアを X として予測します。

映画の関連性データを使って、興味深いことを試してみます。こちらは、検索キーワード「Rocky」の関連性評価のデータセットです。上記の判断表を思い出して、それをトレーニング セットに変換します。実際のトレーニング セットを体験してみましょう (注釈は特定のプロセスを理解するのに役立ちます)。タイトルTFを含む3つのソートシグナルを検証します。

IDFスコア、TFプロファイル

IDFスコアと映画ファンからの評価。

それでは、早速コードを見てみましょう。次のコードは、CSV ファイルからデータを numpy 配列に読み込みます。配列は 2 次元で、最初の次元が行、2 番目の次元が列です。以下のコメントで、非常に現代的な配列スライスがどのように行われるかがわかります。

素晴らしい!単純な線形回帰を実行する準備ができました。ここでは、古典的な判断方法を使用します。つまり、未知数よりも方程式の数が多いのです。したがって、通常の最小二乗法を使用して、特徴 rockySignals とグレード rockyGrades の関係を推定する必要があります。簡単に言えば、NumPy 線形回帰は次のことを行います。

素晴らしい! 関連性が解決されました! (本当ですか?) これを使用してランキング機能を構築できます。タイトル属性と説明属性にそれぞれどの程度の重みを与えるべきかを学びました。

これまで私が見落としていたことの 1 つは、モデルとデータの適合性を評価する方法を考慮する必要があるということです。この記事の最後では、これらのモデルが一般的にどのように機能するかを確認したいと思います。しかし、モデルがトレーニング セット データに適合していると単純に想定するのではなく、必ず何らかのデータに対してモデルをテストすることをお勧めします。次のブログ投稿では、これらのトピックを個別に紹介します。

モデルを使用してクエリにスコアを付ける

これらの係数を使用して、独自のソート関数を構築できます。これは説明目的に過ぎません。sk-learn の線形回帰には、入力を与えられたモデルを評価する予測メソッドが付属していますが、独自のメソッドを構築する方が楽しいです。

この関数を使用すると、「Rambo」を検索したときに、次の 2 つの候補映画の関連性スコアを取得できます。

では、Rambo と First Blood にスコアを付けて、どちらがクエリ「Rambo」との関連性が高いかを調べてみましょう。

結果スコアはランボーが3.670、ランボー・​​ファースト・ブラッドが3.671でした。

非常に僅差です!『ファースト・ブラッド』が『ランボー』をわずかに上回り勝利しました。理由はこうです - ランボーは完全に一致しており、ランボー映画の前編はファースト・ブラッドです!したがって、モデルをそれほど信憑性のあるものにするべきではありません。そのレベルに達する例はそれほど多くありません。さらに興味深いのは、紹介スコアの係数がタイトルスコアの係数よりも大きいことです。したがって、少なくともこの例では、モデルは、プロフィールに記載されているキーワードが多いほど、最終的な関連性が高くなる傾向があることを示しています。これまで、ユーザーの視点から見た関連性の問題を解決するための優れた戦略を学びました。

このモデルを追加すると、理解しやすく、妥当な結果が得られるため、さらに興味深いものになります。ただし、適用された相関関係のため、通常、特徴の直接的な線形結合は期待を満たしません。 Flax 氏の同僚が指摘しているように、そのような正当性が欠如しているため、直接加重ブースティングも期待に応えられません。

なぜでしょうか? 細部が成功と失敗を決定します。

上記の例から、関連性の高い映画の中には確かに TF*IDF 関連性スコアが高いものがあることがわかりますが、モデルは要約フィールドをより関連性が高いものとして優先する傾向があります。タイトルが実際に一致するタイミングと概要が一致するタイミングは、他の要因によっても異なります。

多くの問題では、関連性の評価はタイトル属性と概要属性のスコアとの単純な線形関係ではなく、コンテキストに依存します。タイトルを直接検索したいだけなら、タイトルの方が間違いなくマッチしますが、タイトル、カテゴリ、映画の俳優、あるいはその他の属性を検索するかどうかがわからない場合は、対処が難しくなります。

言い換えれば、関連性の問題は純粋な最適化問題ではないようです。

実際の関連性はより複雑です。魔法のような最適解は存在しませんが、他の多くの要因に依存する多くの局所最適解が存在します。なぜでしょうか? 言い換えると、相関関係は次のようになります。

これらのグラフ (Andrew Ng の機械学習コースから) は、「関連性エラー」、つまり学習しているスコアからどれだけ離れているかを示すために使用されると考えられます。 2 つの θ 変数のマッピングは、タイトルと概要の関連性スコアを表します。最初のグラフには、「関連性エラー」が最小となる単一の最適値、つまり両方のクエリに適用する理想的な重み設定があります。 2 つ目はもう少し実用的です。つまり、起伏のある、コンテキストに依存する局所最小値です。非常に高いタイトル ウェイト値に関連付けられる場合もあれば、非常に低いタイトル ウェイト値に関連付けられる場合もあります。

文脈とニュアンスについてはここまでです!

この記事はここで終わります。以降の記事では、モデルの適用可能性を正確に定量化する方法に焦点を当てます。モデルの品質を評価するには、どのような指標を使用すべきでしょうか? これは、他の方法の方が微妙な違いをよりうまく捉えられるかどうかをテストするための重要なステップになります。

<<:  AIをやりたいのですが、開発ツールはどのように選べばいいですか?この入門ガイドはあなたのためのものです

>>:  人工知能が他に何ができるか知りたいですか?明確な「ベイジアン意識」を持たなければならない

ブログ    
ブログ    

推薦する

近似アルゴリズムとは何ですか?どのような問題に適用されますか?この記事でその答えが分かります

COVID-19パンデミックは世界に多大な変化をもたらし、世界中の科学者や研究者が効果的なワクチンの...

スタンフォード大学の非接触型デバイスは、アクチュエータをスリーブに「縫い付ける」ことで、タッチ情報を遠隔で送信できる。

世界的なパンデミックは2年近く続いており、リモートワークで何日も過ごし、他の人との物理的な接触を切望...

ディープラーニングによる物体検出モデルの包括的なレビュー: 高速 R-CNN、R-FCN、SSD

[[204169]] Faster R-CNN、R-FCN、SSD は、最も人気があり、広く使用さ...

インターネットの後半、人工知能の春は始まったばかり

最近、インターネット企業における「人員最適化」問題が友人の間で話題になっており、多くの人がパニックに...

ニューラル ネットワークを構築する超簡単な方法、あなたにもできます!

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

テスラとモメンタの「自動運転アルゴリズム」の秘密を研究した

現在、自動運転技術は研究室を抜け出し、量産段階に入っており、大手自動車メーカーや部品サプライヤー、ハ...

2021年には、神経科学AIにいくつかの大きなトレンドがあります

新年が私たちに手を振っています。素晴らしい革命の伝統を引き継ぎ、最新の AI 専門家の予測レポートを...

...

AIを活用してデジタル資産管理ワークフローを効率化する方法

[[412045]]人工知能は、マーケティングテクノロジーを含むあらゆる業界の状況を変えています。マ...

アルゴリズムが消費者を「計算」するのを防ぐにはどうすればよいでしょうか?専門家:対策のためのアルゴリズムの研究は可能

デジタル経済の時代では、目に見えず、実体のないアルゴリズムが常に消費者の選択に影響を与えます。近年、...

スマートビルディングにおけるエッジAIの役割を解明

仕事や住居のための物理的な空間として機能することから、入居者に活気ある建築体験を提供することまで、近...

IBM と NASA が衛星データを分析するためのオープンソース AI モデルを開発

IBM は、NASA の衛星データに基づいて構築された watsonx.ai 地理空間インフラストラ...

...

2019年自然言語処理フロンティアフォーラム: 機械による「読む、書く、話す、翻訳する」に焦点を当て、自然言語処理の未来を探る

人工知能の本質は、機械が人間のように世界を認識し理解できるようにすることです。言語と知識を研究する自...

...