ECを支える人工知能の分類と学び方一覧
皆さんこんにちは。
1936年、かつてアランチューリングが書いた論文をもとに「エニグマの暗号を解読するのは人の手では無理だ、難しいことは機械にやってもらおうじゃないか!」という動きができました。
2015年現在、「情報が氾濫しすぎている。人の手では無理だ、多くの情報からコンピュータが勝手に考えて答えを出してよ!」という人工知能に発展してきています。
一言で人工知能といっても流行りのディープラーニングからただの統計のようなものまでたくさん種類があります。
それぞれの特徴を活かし、自然言語処理、画像処理、音声認識、機械学習、ロボティクスなどに応用されていますが、どのような人工知能の種類があるか、現時点で最もAI活用が進んでいる先端のECサイトを例にとって見ていきたいと思います。
機械学習の種類 | 特徴 | 手法例 | 使用例 |
---|---|---|---|
教師あり学習 | 事前のサンプルデータをもとにデータの法則性を探す | 回帰分析、SVM | 商品の売れ行き予測、自動発注 |
教師なし学習 | サンプルのない中、実データそのものを解析してデータの構造や特徴を抽出する | k-平均法,潜在意味インデックス,トピックモデル手法 | レコメンド機能、評判の解析 |
半教師あり学習 | 少数のサンプルを用いて学習を行い、その後ある程度実データを分類して確度が高いものをサンプルとして捉え直して再度学習させる | ブートストラップ法、Adaboost | 商品情報からカタログデータの構築、商品画像の解析 |
構造学習 | 個別にデータを推定せずデータ全体の構造に最適化した形で個々の推定をまとめて行う | 構造化SVM、CRF | 商品情報からのカタログデータ構築 |
強化学習 | サンプルが存在しない中、学習した後からのフィードバック情報でさらなる学習の手がかりとする | バンディットアルゴリズム、UCBアルゴリズム | レコメンド、サーチ検索の結果、広告のパースナライズ |
ディープラーニング(深層学習) | 人の脳の構造を模倣しニューラルネットワークという手法を多層化。データを様々な抽象度で学習する | 制限付きボルツマンマシン、Category2Vec | レコメンドの高度化、商品情報の解析、欠損情報の推定 |
- 教師あり学習
教師あり学習とは事前に与えられたサンプルとなるデータを「教師からの例題」とみなしてそれをもとにデータの識別を行う手法です。売れ行き予測や少ない商品群のカテゴライズなどで一般的に使われます。
1.回帰分析
回帰分析は商品の売れ行き予測に使われます。未来の日時における販売量を求めるため、日時、月末、連休、販促活動、温度などの情報を説明変数として、過去の各データを学習させることで関連性、法則性を見出します。これによってマイナー商品も高精度で予測でき、バイヤーなどによる誤発注もなくなるという優れものです。
回帰分析に関してはこちらなどをご参照ください。
2.サポートベクターマシン(SVM)
他にも教師あり学習の手法があります。データを分類する手法に強い、サポートベクターマシンという方法です。カテゴライズをする時に全体が少数で教師情報を全て与えることができるならば非常に高精度に分類してくれます。サポートベクターマシンについてはこちらが分かりやすいです。
- 教師なし学習
教師なし学習とは事前にサンプルデータが無い状態で実データ自体を解析する方法です。数値や言語の分類で使われます。レコメンドなどで推薦する商品の分類や、推薦対象となる顧客の分類をします。また自然言語の意味を解析することから商品の評判情報の解析などにも使えます。
1. k-平均法
k-平均法とは代表的なデータクラスタリング手法の一つで、計算を反復的に行いつつ、k個の集団に分類します。アルゴリズムが単純なため広く使われている手法です。
K-平均法は、一般には以下のような流れで実装される。
データの数を n 、クラスタの数を K としておく。1.各データ x_i(i=1... n) に対してランダムにクラスタを割り振る。
2.割り振ったデータをもとに各クラスタの中心 V_j(j=1... K) を計算する。計算は通常割り当てられたデータの各要素の算術平均が使用される。
3.各 x_i と各 V_j との距離を求め、x_i を最も近い中心のクラスタに割り当て直す。
4.上記の処理で全ての x_i のクラスタの割り当てが変化しなかった場合、あるいは変化量が事前に設定した一定の閾値を下回った場合に、収束したと判断して処理を終了する。そうでない場合は新しく割り振られたクラスタから V_j を再計算して上記の処理を繰り返す。
2.潜在意味インデックス(LSI)
潜在意味インデックスは類似した文章や顧客、商品などを見つける手法です。ベクトル空間モデルという仕組みを使います。これは単語という軸をとり、それらの出現頻度などを行列で表し、空間の1点として文書を表現します。こうしてデータの意味を捉えつつ分類します。
3.トピックモデル手法(LDA)
潜在意味インデックス(LSI)の発展版でデータの値の持つ意味を推定し分類します。確率分布を使ってデータを分類することが特徴です。
- 半教師あり学習
半教師あり学習とは少数のサンプルデータを用いてまずは学習を行い、その後ある程度の実データを分類してそのうち精度の高いものをサンプルデータと捉え直して再度教師あり学習を行っていく。これを繰り返すことで沢山ありすぎて教師情報を全部与えることが困難な場合でも教師あり学習の効果を期待できます。全商品をカテゴライズする時に食品、飲料品、衣類、電化製品、デジタルコンテンツ、スポーツ・・・と沢山ありすぎて全商品の教師情報を与えるのが難しい時に使います。
1.ブートストラップ法
ブートストラップと呼ばれる統計の手法があります。これは標本のデータから重複を許したサンプリング(普通は標本数と同じだけ)を行い、新たな標本を作製する、といった作業を何度も繰り返す手法です。この標本からのサンプリングという作業をリサンプリングと呼びます。こうして作られた複数の標本から計算される統計量(例えば平均、分散)のばらつき方は、母集団からサンプリングを何度も繰り返した時のばらつき方に近いという性質があります。つまり、複雑で難解な確率密度関数や中心極限定理を使うことなく、平均値や分散といった統計量がどのようにばらつく可能性を秘めているのかをあぶりだすことが可能なわけです。
- 構造学習
構造学習とはデータのラベルを個々に推定せず、データをまとめて渡すことで個々のラベル推定を一緒に行うことです。例えば一語一語何の品詞か推定するのでなく、文章丸ごと渡してその文章内の品詞の推定結果を一覧にする。これにより個々のラベル推定をデータが持っている構造に最適化した形で行うことができる。商品解説文全部から何の品詞かを推定し、構造を見ながらラベリングしていくことでカテゴリーデータベースを作っていくという時に使います。
1.構造化SVM
構造化SVMは性質上、日本語入力処理やかな漢字変換などで多く研究がされています。
https://research.preferred.jp/wp-content/uploads/2011/01/nlp2011-tkng.pdf
2.CRF
構造化SVMにおいてあるラベルに分類されるかどうかの確率値も算出し、高度な推定を行います。
- 強化学習
強化学習は教師あり学習とは異なり、教師情報は存在しません。代わりに学習した後から報酬というフィードバック情報を得ることで、さらなる学習の手がかりとします。リアルタイムのデータは不確実性のある環境なので報酬はノイズや結果が出るタイミングにばらつきもあります。利用者の反応を取り込みつつシステムやサービスを最適化していく時などに使います。例えばレコメンドや商品検索で顧客の反応を取り入れて結果を随時改善していくのに強化学習が使われます。広告のパーソナライズでも良く使われています。
1.バンディットアルゴリズム
バンディッドアルゴリズムとは限られたリソースの中で報酬(利用者の好反応)がどれぐらい得られるか過去に経験した過去の手段の「活用」と今後さらに得られるかもしれない未知の手段の「探索」という2種類の行動を使い分けて報酬を最大化する手法です。
- ディープラーニング(深層学習)
近年目覚ましい進歩を見せている手法です。ディープラーニングが注目された一つの経緯として、2012年の画像認識コンテストILSVRC 2012
http:// http://www.image-net.org/challenges/LSVRC/2012/results.html
においてディープラーニング(SuperVisionと表記)によって、2位以下と圧倒的な差をつけて優勝したことがあります。人の脳の構造を模倣するニューラルネットワークという手法を多層化し、高度化を図ったものです。多層化していることにより教師あり、教師なしの両方の機能を組み合わせてデータを様々な抽象度で学習できます。特に画像認識や物体認識の分野で盛んですが、 ECでもレコメンドや商品情報の解析、欠損情報の推定など広範囲に高度に活用ができ始めています。
1.制限付きボルツマンマシン
RBM(Restricted Boltzmann Machine)とは、Deep Learningにおける 事前学習(Pre Training)法の一種で、良く名前を聞く AutoEncoderと双璧を為すモデルの1種です。統計力学に端を欲し、1984年~1986年にモデルが考案されました。入力を受けて出力が 決定論的(deterministic) に決まるAutoencoderとは違い、議論を確率分布の上で行える 生成モデル であるため、利便性の高いモデルとして知られています。
今回の記事を書くにあたり、下記書籍による楽天技術研究所代表の森氏の寄稿を参考にしました。
更に良いサイトあるよというご指摘があれば教えてください
何かのご参考になれば幸いです。それでは