見出し画像

おしゃべりな人工知能講座⑥

目次はこちら

■なんでも分けようクラス分類

天馬「次も教師あり学習だ。マリリン、クラス分類の図だ」

スライド5

天馬「クラス分類(Classification)とは、与えられたデータを適切なクラスに分類する、教師ありの機械学習だ。例えば、人の写真を男と女の2種類に分ける場合は、2クラス分類とか二項分類と呼ぶ。一人、二人、三人以上のように複数に分類する場合には、多クラス分類と呼んでいる。
図の左は、僕の大学でゴルフコンペが開催されるか、予測するアルゴリズムを例にしている。この場合、開催するかしないかだから2クラス分類となる。ここで使われている決定木とは、木構造でクラス分類を行うシンプルなアルゴリズムだ。この決定木の特徴は、人が分類モデルを視覚的に理解できることにある。学習速度は速いが、問題によっては精度があまりよくないことがある」
愛さん「あら、先生はゴルフなさるんですね。見に行こうかしら」
猿田くん「ハンデいくつですか?」
天馬「茶化すな。これは、あくまで例題にすぎない。右のロジスティック回帰は、過去のデータをもとに、あるクラスに該当する確率を予測するアルゴリズムだ。予測した確率に対して、閾値を設定し、それ以上か未満でクラスを割り当てる、統計分類では一般的な手法だ。
 この例題にある迷惑メール判定だと、使われた文章の特徴が過去の迷惑メールの特徴に近いか計算して、迷惑メールか普通のメールかの2種類に分けるので、2クラス分類だ。迷惑メールの判定閾値を上げると、誤判定は減るが判定漏れが増えるトレードオフの関係にあるな。このロジスティック回帰の判別式をクラス毎に用意すると、多クラス分類が可能となる」
伴くん「先生、数値なら計算可能ですが、文章同士の特徴が近いという計算ができるのですか?」
天馬「文章や単語同士の距離も、実は計算できるのだ。ここは自然言語処理の講義で説明しよう」

■先生がいないクラスタリング

スライド6

マリリン「次は、この図でよいですか?」
天馬「お!さすがマリリン、今度は指示なしでも出せたな。次第に学習効果が出てきたようだ。次も分類だが、今度は教師なし学習のクラスタリング(Clustering)だ。
伴くん「教師なし学習ということは、正解がわからなくても分類ができるのですか?」
天馬「例えば、何らかのアンケートをした場合、全体の傾向をつかもうとすると、まず大雑把に分類するだろう。この場合だと、分類に正解があるわけではない。クラスタリングとは、大量のデータを自動で分類するための手法だ。先ほどのクラス分類と似ているが、どうやって分類するべきか分からない場合、正解付データがなくても、与えられたデータの値の類似性をもとにして分類している。
図の左下のグラフは、大学生たちの体重と身長のデータを入手して、プロットしたものだ。この場合、大雑把だが身長が高くても体重の少ない『やせ型』、逆の『肥満型』、中間の『標準型』に分けられるだろう。このようにデータ同士が近くに集まって集団を形成すること、すなわち各変数間の距離が小さいデータをグループにまとめることを、クラスタリングと呼ぶのだ」
伴くん「そこでの変数とは、体重と身長ですね」
猿田くん「伴くんはマッチョ型で、マリリンはグラマー型だから、どこにも入らないですよ」
天馬「猿田はいちいちうるさいな。ここで言う『変数間の距離』とは、右上のグラフのようにデータAとデータBの距離、これをユークリッド距離と呼ぶが、『三平方の定理』で計算ができる。これなら中学校で習ったから、猿田くんでもできるだろう。
変数が増えるとグラフ化できないが、変数が100個でも同様な計算で可能だ。このように、データとデータの距離が小さいほど類似度が高いとしているのだ。
 データの類似度を測る方法には、このユークリッド距離以外にも、データとデータのベクトルの向きの近さ(角度)で評価する方法、コサイン類似度も、よく使われている」
伴くん「これが先ほどの話に出た、データの距離なのですね」
天馬「そうだ。ではマリリン、次の図を出してくれ」

■お店からのレコメンデーション

スライド7

天馬「今度は、君たちにも馴染みのレコメンデーション(Recommendation)だ。AmazonのようなECサイトで一度でも買い物すると、類似の商品を勧めてくる宣伝みたいなものだ」
愛さん「あのお勧めは、最初の頃は便利だと思っていましたけど、最近は他のサイトで買おうとしたものまで勧めてくるので、気味悪いですね」
伴くん「ユーザーの行動を追跡するトラッキング機能を、ブロックするブラウザもありますね」
天馬「そうだな。それに画面に広告そのものを表示させない広告ブロッカーもあるぞ。スマートフォンみたいに画面が小さかったり、表示を早くさせるには便利だ」

天馬「ちょいとしゃべるのに疲れたな。マリリン、僕の代わりにレコメンデーションを説明してくれるかな」
猿田くん「やった!これで眠気から覚めるぞ」
マリリン「了解しました。英語のRecommendationとは、日本語で推薦の意味です、以上になります」
天馬「私の指示が悪かったな。マリリン、機械学習におけるレコメンデーションのアルゴリズムの概要を説明したまえ」
マリリン「了解しました。Recommendation AlgorithmとはEC siteなどでUserが興味を持ちそうな商品を推測し、Userに対してRecommendationする仕組みです。推測する方法としては、まずEC site上でUserが投稿したReviewのScore、購買履歴、商品購入の有無などから、そのUserにScoreを付けます。そのScoreからUserのPreferenceをAnalysisして、お薦め商品を推測するのがRecommendation の中でもCollaborative Filtering(協調フィルタリング)というAlgorithmです。
UserがHigh scoreを与えた商品と、類似した商品をRecommendationするのがItem Base Recommendation(アイテムベースレコメンド)です。もしくは、対象者と似た嗜好の利用者を複数選び出して、そのUserの多くがHigh scoreの商品の中で、対象者がまだ購入していない商品をRecommendationするのがUser base recommendation(ユーザーベースレコメンド)です。
新商品の場合には、ScoreがないためRecommendationされない恐れがありますが、この場合には商品属性が似ている既存の商品のScoreから判断します。
Scoreがない新規利用者の場合でも、Profileが似た既存利用者から情報を代用して、Recommendation Itemを推測します」

猿田くん「天馬先生!手抜きしないで、やっぱり先生が講義してくださいよ。マリリンの説明だと、カタカナ言葉がすべて英語になるので、分かりづらいです」
天馬「なんだ、猿田くんが眠そうだったんで、せっかくマリリンを登場させたんだがね。ついでにコーヒーでも飲もうかと思っていたのに、ワガママな奴だな。
人工知能講座を日本語で受けられるだけでも、ありがたいと思え。世界の大半の国は、英語が使えないとITや先端技術は学べないんだぞ。母国語で科学技術を学べる国は、ごく限られているんだ」
愛さん「あら先生、最新のGoogle翻訳だと、世界の100言語以上に対応してますよ。翻訳精度が格段に向上した機械翻訳を使えば、いいんじゃないですか?」
天馬「母国語に翻訳するとは、本来は自国の言語の単語だけで、元の文章の意味を置き換えるべきだろう。例えばMachine learningを日本では『機械学習』としているが、日本人なら文字を読むだけで直観的に理解ができる。漢字の良い点だ。フランス語ではapprentissage automatiqueと置き換えているが、オランダ語や韓国語ではmachine learningとそのままだ。もっとも、置き換えるべき意味や概念が、その言語に最初からなかったら、オリジナルの単語を使うしかないのだがね。日本人は明治時代、先人たちが苦労して外国の概念を漢字に置き換えたんだ。『社会』や『哲学』という言葉というか概念が、江戸時代にはなかったので、明治になって創られている。
ダメだな。私は博識だから、つい知識を披露してしまって講義がなかなか進まないな。しょうがない、次に今までの講義を整理しよう」

■機械学習のまとめ

この記事が気に入ったらサポートをしてみませんか?