先週Aくんとご飯を食べていた時に、「人工知能に興味があるので教えてほしい」と言われました。

僕とAくんは、 3年前、3回だけ参加した英会話クラブで、たまたま帰り道が一緒で連絡先を交換しました。それから何度も事業について語り合い、一緒にWebサービスを作り、そして最後は一緒に弁護士事務所に行きました。

戦友ともいうべきAくんに頼まれたならば、全力を挙げて人工知能について説明しなければならない、そう感じたのです。

Aくんに人工知能についてその歴史から語っていたところ、「なんか難しいんでもっと分かりやすく説明してもらえますか」と。Aくんは頭は良いのですが、文系らしいというか右脳思考のため技術への理解度は高くありません。でも新しいことが好きで人工知能には興味があるそうです。 なんとかAくんに人工知能を理解してほしい。そうだブログで分かりやすい記事を書いて、それを見てもらえばいいんだと思い立ち、この記事を書いてます。

人工知能とは機械学習で作られるモデルのこと

人工知能については、以下の記事が大変分かりやすいです。
「人工知能」ブームに乗り遅れた!という方々に捧げる人工知能(機械学習)まとめ記事

記事を1行で要約すると、以下になります。

人工知能≒機械学習=過去データに基づいて未来のデータの値を予測するモデルを作る技術

ここで多くの人は、「ん、モデルって何?」 となると思うんです。
このモデルという言葉を理解することが、人工知能を理解する上で一番のカギになります!

モデルとは何か

私たちはモデルという言葉を日常的に使っています。
「私学生のころ、読者モデルやってたんだよねー」「生まれ変わったらファッションモデルになりたいなあ」 

なぜファッションモデルという商売が成り立つのか。それはファッションモデルを見て、「自分もこうなりたいなぁ」と思う人がいるからです。ここでのモデルとは、理想形と言えます。

もう一つの使われ方もあります。子供のころ、プラモデルを作ったことがある人は多いと思います。でも僕たちは、自分で作ったプラモデルを見て、「これは本物の戦艦大和だ」 とは思っていません。あくまで本物の戦艦大和を模倣したものです。本物は70年前に沈没しているわけですから。

人工知能でいうモデルは、後者の模倣という意味で使われています。つまり、モデルとは、本物の形状や構造を模倣したものなのです。もっというと、モデルとは、本物の特徴を捉え簡略化したものです。
 
ではなぜこのモデルが、人工知能で重要なのでしょうか?
結論から言うと、モデルを使うと将来を予測することが出来るからです!

モデルを使ってニコニコ動画の再生数を予測する

Aくんがよく見られているニコニコ動画ですが、その中に作業用BGMというジャンルがありますね。コメントを打ち込むという崇高な作業をするときに、バックグラウンドで音楽が流れるBGM動画のことです。この作業用BGM動画の再生数を、モデルを使って予測をしてみましょう。

作業用BGM動画には、どんな特徴があるでしょうか。

・アニソンかアニメ色のないBGMか
・再生時間は何分か
・画像は何枚入っているか
・作業妨害用BGMタグが入っているか
・東方タグが入っているか
・初音ミクタグが入っているか

いろいろあると思いますが、とりあえずこれらを特徴としてモデルを作成してみます。

①データを集める

まず作業用BGM動画をいくつか選びます。次に、先ほど選んだ特徴を元にExcelで表を作成しました。
スライド1












②データを加工する

実はモデルとは、数式なのです!
y=2x+3とかですね。ここでは、yが再生数で、再生時間や東方タグがxにあたります。

Excelでモデルを作るためには、表のデータを数値データに直すことが必要になります。ここでは、タグのあり、なしというデータを、それぞれ1と0に変換します。変換しないとExcelが読み込めないのです。(機械学習ツールを使えば、"あり"、"なし"のままでも読み込めるものもあります)

変換した結果がこちらです。
スライド2












③モデルを作る

重回帰分析でモデルを作ります。
重回帰分析とは、「グラフ上にプロットした多くのデータを、一番それっぽく一本の線で結ぶ方法」です。具体的には、最小二乗法という方法で一番誤差が小さくなる箇所で線を引きます。

※詳しく知りたいときは、こちらこちらの説明が大変分かりやすいです。
※重回帰分析は、Excelのアドイン機能で読み込むことが出来ます(方法はこちら)。


とりあえず「重回帰分析とかいう手法を使えば、データからモデルを作るんだな」と覚えてもらえればとりあえず大丈夫です。


そして、その重回帰分析の結果がこちらです。
スライド3














難しそうですね。でも、モデル作成で使うのは赤枠の数字だけです。赤枠を数式に落とすと、以下のようになります。

動画の再生数=62016 - 95874×ジャンル + 1295×再生時間 - 7316×画像枚数 - 88935×作業用BGM + 389005×東方タグ + 67724×初音ミクタグ

分かりにくいですが、この数式がモデルです。この数式に予測したい動画のデータを入力することで、再生数を予測することが出来ますよ。

④モデルを使って予測する

予測するデータを、一番下の列に追加しました。
再生数が表示されていますが、この再生数は、上述のモデルを元に、数値を予測しています。スライド4













アニメ色あり、70分動画で、作業妨害用BGMタグと東方タグがある作業用BGMの動画再生数は? →32万回の再生数になると予測!

モデルの予測は本当に正しいのか?

正しくない時もあります。理由としては、選んだ特徴が間違っていたり、数値が正規化していなかったり、アルゴリズムの選択が間違っていたり、t値が2を超えていなかったり、そもそも傾向なんて存在していなかったりなど、予測が正しいかはそのモデルの性能に依存します。

そのため、交差検定という手法を使って、予測精度を事前に評価する方法もあります。
(交差検定はExcelでは出来ないので、PythonWekaなど機械学習ツールを用意することが必要です)

正直手を動かさないとピンとこないと思うので、 実際にモデルを作ってみることをお勧めします。
もし興味がわいてきたら、こちらから自分に合いそうな書籍を見つけてみてください。

また未経験から人工知能エンジニアになる方法を、こちらの記事にまとめました。
参考記事:未経験からAIエンジニアになる方法