人工知能が出来ることを、前提知識がない方向けに解説しました。
参考書籍
技術進歩が急激で、需要に供給が追い付いていないです。そのため、機械学習界隈の人間が、機械学習を説明できていません。この記事では、人工知能と機械学習の構造を理解してもらうことを主眼に置きます。構造が分かれば、本質もわかってくると思うからです。
しかし大前提として、コンピュータプログラムは、数値でしか計算できません。Siriも同じく数値計算しかできません。ではなぜただのコンピュータであるSiriが、人間の言葉を理解できるのか。それは、人間の言葉を数字に変換して、それを計算しているからです。
なので、Siriは日本語の意味を理解しているわけではないんです。ただ、日本語を数字に変換して、この数字の時はこの回答をするというパターン処理をしているだけです。
つまり人工知能とは、言葉を数字に変換する処理(音声認識と自然言語処理)と、数値データからパターンを学習する処理(機械学習)の2つに分かれています。
人工知能は、人間と会話したり判別することができます。人間の耳、口、目を模倣できるのです。2年前に人間の目の識別能力を超えました。現在耳や会話力も人間を猛追しています。
そして人工知能の中核技術は機械学習です。
アルゴリズムは、ディープラーニング、SVM、ランダムフォレストなどいろいろあります。なので、データを見てどのアルゴリズムが良さそうか、人の判断が必要だったりします。
またモデルは、プラモデルを思い出してください。ガンプラは本物のガンダムの形状や構造を模倣していますね。つまりモデルとは、本物の特徴を捉え簡略化したものです。
1つ事例で考えます。来年ピカチュウのイベントに来る人を予測してみましょう。今年のイベントでどんな人が来たかは、データベースにデータが入っています。そのデータを全て分析してもいいのですが、大変なので少し絞り込んだりします。この絞り込んだデータを特徴量と言いまして、気の利いたアルゴリズムで絞り込み可能です。
特徴量のデータを、アルゴリズムで計算すると、モデルが出来ます。このモデルは、現実のピカチュウイベントからパターンを抽出した関数です。このモデルを使うと将来を予測することが出来ます。
このグラフで赤色の線が引っ張っています。この赤い線がモデルです。この線の左側が、ピカチュウイベントに参加するゾーンです。左側のゾーンに含まれる人は、ピカチュウが好きで来年のイベントに参加すると予測できます。
逆に右側のゾーンは、ピカチュウイベントに参加していないゾーンです。きっとこのゾーンに入る人は、来年もピカチュウイベントに参加しないでしょう。
つまり機械学習でできることは、現実社会をモデル化して将来を予測することです。
①データの前処理
②特徴量設計
③モデル学習
④モデル評価
機械学習のモデルは、Pythonとscikit-learnを利用すると、簡単に実装できます。具体的な実装方法は、このブログで何度かコード付きで解説しています。
実務で使うとこだけ!python機械学習(AI)のデータ処理(pandas/scikit-learn)
参考書籍
人工知能や機械学習は難しい
人工知能(AI)や機械学習は難しいです。理由は「構造が複雑」で、「理解しなくてはいけない情報量が多い」から。いろいろニュースとかでなんとなく分かるんだけど、具体的にどんなものか理解出来ていないという人が大半なのではないでしょうか。技術進歩が急激で、需要に供給が追い付いていないです。そのため、機械学習界隈の人間が、機械学習を説明できていません。この記事では、人工知能と機械学習の構造を理解してもらうことを主眼に置きます。構造が分かれば、本質もわかってくると思うからです。
人工知能Siriは言葉を理解しているのか
人工知能で一番有名なものはiPhoneのSiriでしょう。Siriは、人間の使う言葉を理解しているように思えます。しかし大前提として、コンピュータプログラムは、数値でしか計算できません。Siriも同じく数値計算しかできません。ではなぜただのコンピュータであるSiriが、人間の言葉を理解できるのか。それは、人間の言葉を数字に変換して、それを計算しているからです。
なので、Siriは日本語の意味を理解しているわけではないんです。ただ、日本語を数字に変換して、この数字の時はこの回答をするというパターン処理をしているだけです。
つまり人工知能とは、言葉を数字に変換する処理(音声認識と自然言語処理)と、数値データからパターンを学習する処理(機械学習)の2つに分かれています。
人工知能は、人間と会話したり判別することができます。人間の耳、口、目を模倣できるのです。2年前に人間の目の識別能力を超えました。現在耳や会話力も人間を猛追しています。
そして人工知能の中核技術は機械学習です。
機械学習はモデルを作る技術
機械学習の登場人物は実は2つしかありません。データとアルゴリズムです。機械学習とは、データとアルゴリズムを使って、モデルを作ることです。アルゴリズムは、ディープラーニング、SVM、ランダムフォレストなどいろいろあります。なので、データを見てどのアルゴリズムが良さそうか、人の判断が必要だったりします。
またモデルは、プラモデルを思い出してください。ガンプラは本物のガンダムの形状や構造を模倣していますね。つまりモデルとは、本物の特徴を捉え簡略化したものです。
1つ事例で考えます。来年ピカチュウのイベントに来る人を予測してみましょう。今年のイベントでどんな人が来たかは、データベースにデータが入っています。そのデータを全て分析してもいいのですが、大変なので少し絞り込んだりします。この絞り込んだデータを特徴量と言いまして、気の利いたアルゴリズムで絞り込み可能です。
特徴量のデータを、アルゴリズムで計算すると、モデルが出来ます。このモデルは、現実のピカチュウイベントからパターンを抽出した関数です。このモデルを使うと将来を予測することが出来ます。
モデルを使って将来を予測する
なぜモデルを使うと将来を予測することが出来るのでしょうか。下の図を見てください。去年のピカチュウイベントの参加者をグラフにマッピングしました。このグラフで赤色の線が引っ張っています。この赤い線がモデルです。この線の左側が、ピカチュウイベントに参加するゾーンです。左側のゾーンに含まれる人は、ピカチュウが好きで来年のイベントに参加すると予測できます。
逆に右側のゾーンは、ピカチュウイベントに参加していないゾーンです。きっとこのゾーンに入る人は、来年もピカチュウイベントに参加しないでしょう。
つまり機械学習でできることは、現実社会をモデル化して将来を予測することです。
モデルの作り方
モデルの作り方は4ステップに分かれます。図にマッピングすると以下の通りです。①データの前処理
②特徴量設計
③モデル学習
④モデル評価
機械学習のモデルは、Pythonとscikit-learnを利用すると、簡単に実装できます。具体的な実装方法は、このブログで何度かコード付きで解説しています。
過去記事:
これだけは知っておけ!PythonでAI開発の基礎まとめ実務で使うとこだけ!python機械学習(AI)のデータ処理(pandas/scikit-learn)
おわりに
人工知能や機械学習は、いまやITの最先端技術です。人工知能の企画や開発に挑戦してみるのも良いかもしれません。
機械学習の勉強方法について、参考になる記事を書きましたので、よければこちらもご覧ください。
Andreas C. Muller
オライリージャパン
2017-05-25
機械学習の勉強方法について、参考になる記事を書きましたので、よければこちらもご覧ください。