ひろゆき)Tweetはじめに前回は、機械学習の学習データにスポットを当てて解説しました。今回は、もう1つの主役である「アルゴリズム」について解説します。目的とデータに合ったアルゴリズム一般に、機械学習では「アルゴリズムよりデータの方が大切」と言われています。確かに、それは我々AIチームでも常に実感しているのですが、良いデータを使ってある程度の認識率を獲得しても、どうしても「もっと良い方法があるのでは」と考えてしまいます。実際に他のアルゴリズムを使ってみて、結果が変わらないこともあれば、結果が良くなることもあります。した経験から、やはりアルゴリズムも大切であり、「目的に合ったデータとアルゴリズム」ということを意識する必要があると思っています(図1)。図1:目的に適したデータとアルゴリズム機械学習のアルゴリズムこれまで、ニューラルネットワーク(ディープラーニング)のアルゴリズム(CNNやRNNなど)を説明してきましたが、実は機械学習のアルゴリズムは表1のようにたくさんあります。なんでもかんでもディープラーニングが優れているとは限らず、目的と用意できるデータによってはこれらの機械学習アルゴリズムの方が高い精度が得られるのですが、こんなにたくさんあると、どういうときにどのアルゴリズムを使えば良いか迷ってしまいます。cheat-sheetがあります(図2)。scikit-learn(サイキット・ラーン)はPythonのオープンソース機械学習ライブラリで、チュートリアルも充実しているためこれを使って機械学習を勉強した人も多いと思います。このマップを見れば、目的と用意できる学習データ量に応じて、どのようなアルゴリズムが良さそうかの道標がひと目でわかります。図2:scikit-learnのアルゴリズム早わかりマップただし、このマップは2013年に公開されたもので、さすがに登場しているアルゴリズムがちょっと古い感があります。Sheetです(図3)。Learningの役割分担を説明しました。cheat-sheetに敬意を払って同じcheat-sheetという言葉(直訳するとカンニングペーパーの意味)を使っています。valuesは値を予測するREGRESSION(回帰)のアルゴリズムが適していると示しています。これらの分類や回帰、クラスタリングについて、図4をベースに解説しましょう。分類(Classification)分類は、名前の通り「さまざまなオブジェクトを自動分類する」ための手法です。実は、これまでの説明で取り上げた「花の名前を教えてくれるAI」も、このCLLASIFICATION(分類)の手法を使っています。分類は、”教師あり学習”なので、データに”バラ”、”ボタン”というように名前(ラベル)を付けて学習させ、AI(分類器)はそれらの特徴点を見つけて学習して見分ける力を身に着けます。classificationがあります。花の名前のようにたくさんの花に分類するのがマルチ分類、異常か正常かを判定する異常検知のようなものが2クラス分類です。回帰(Regression)回帰は、ひと言で言うと「これまでの実績データをもとに関連性を導き出し、これからの予測に役立てる」ための手法です。小売店が来店者数を時間単位で自動カウントし、そこに曜日や天候、イベントなどの情報も加味して回帰分析すれば、明日どのくらいの来店客が来るかを時間単位で予測して、商品の仕入れや店員シフト計画に役立てることができます。した来店数予測に限らず、株価の予測や需要予測など、とにかく”回帰は数値を予測するもの”と覚えておいてください。クラスタリング(Clustering)クラスタリングもまた、「さまざまなオブジェクトを自動分類」するための手法です。あれ、分類(Classification)と同じですね。主な違いは学習方法にあります。分類は「教師あり学習」なのに対し、クラスタリングは「教師なし学習」です。Detection)を使う場合、正常と異常のラベルを付けて学習させたうえで異常を見つけるのは「教師あり学習」の分類(Classification)です。これを「教師なし学習」のクラスタリング(Clustering)で行う場合は、これまでとかなり違う値のものを取り分ける「離れ値検知」などが用いられます。海外の人はネーミングがうまいです。dimensionality)というものがあります。これは空間の次元が増えるのに対して、計算処理が指数関数的に大きくなることを”呪い”という言葉で表したものです。ディープラーニングにおいても、むやみに次元(ディープ度)を増やすとGPUを使っても学習に相当な時間がかかります。reductionです。次元削減と呼ばれています。これは、多くの次元を持ったものを、その意味を保持しながら(落としても影響のない次元を削減して)少ない次元にする手法です。Analysis:主成分分析)は、対象データの集合の特徴を最もよく表現する成分のみに次元を絞る手法です。DETECTION(異常検知)が並んでいますが、これがどうも気持ち悪いです。お気づきのように、回帰や分類、クラスタリングはアルゴリズムのカテゴリーなのに対し、異常検知は応用のカテゴリーだからです。異常検知を整理すると、表2のようなマトリクスになります。いずれの分野でも「教師あり」と「教師なし」の2つのカテゴリーがあります。今回は、機械学習の主役であるデータとアルゴリズムのうち、アルゴリズムについて解説しました。次回は、どのような分野にAIが適しているかについて、事例をもとに解説します。Browser」を開発・リリース。Designer」など、独創的なアイデアの製品を次々とリリース。最近は、AIを利用したサービスに取り組んでいる。ITの連載をまとめた「これからのSIerの話をしよう」「エンジニアなら知っておきたいAIのキホン」を刊行。「日本のITの近代化」と「日本のITを世界に」の2つのテーマをライフワークに掲げている。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。誠にありがとうございます。下記日程にて、メンテナンスを行います。ご理解いただけますよう、お願い申し上げます。状況により前後する場合がございます。※上記以外の会員機能(サイトへのログインなど)はご利用いただけます。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。