機会学習アルゴリズム7選〜「とりあえずディープラーニング」はもう卒業〜【初めてのAIプログラミング】

  • このエントリーをはてなブックマークに追加
スポンサーリンク

この記事を読むのに必要な時間は約 13 分です。

機械学習アルゴリズム

お悩み
とりあえずディープラーニングの本を買ってみたけど挫折。数式と専門用語の嵐で入門者に全然やさしくない、、、

 

ここ数年のAIブームの間に、とりあえずディープラーニングに手を出して挫折したプログラミング初心者も多いのではないでしょうか。

「AIの入門書」を名乗る本でも1ページ目から専門用語や数式が並ぶということは珍しくありません。

独学に多いのですが、ディープラーニングなどいきなり細部から入ってしまうと一気にバードルが上がるのがAIプログラミングの難しいところ。

まず、機械学習アルゴリズムの全体像を把握することが、プログラミング未経験からのスタートでもスムーズに理解&実践するための最短ルートとなります。

機械学習アルゴリズム理解のコツは全体像を知ること

機械学習アルゴリズム全体像

機械学習を一言でいうと、結果を予測するためのアルゴリズムの集まりと表現できます。

機械学習アルゴリズムは大きく3種類に分けることができます。

教師あり学習:正解データを学習して結果を予測する

教師あり学習とは、入力データとその正解をペアにしたデータ(例:ある画像に「猫」とラベル付けする)を判断基準として、予測結果を導く機械学習のことです。

教師あり学習で代表的な手法はこちらの2つです。

  • 回帰:数値データの組み合わせを予測する
  • 分類:新しいデータに対して、カテゴリーを予測する

例えをあげるとすると、

駅からの距離や築年数などから家賃を予測するのが回帰。

購買履歴のデータからリピーターになりそうな顧客を見つけ出すのが分類といったところでしょうか。

教師なし学習:分類を見つけ出す

教師なし学習とは、データの集まりを見て構造を見つけ出す機械学習です。

教師なし学習の代表的な手法にクラスタリングがあります。

  • クラスタリング:データの分布からまとまりを見つけ出す。

教師あり学習と教師なし学習の違いをいうと、教師あり学習が最初から正解があったのに対して、教師なし学習には答えがありません。

教師なし学習

※また、クラスタリングは教師あり学習の分類と混同しやすいので注意が必要です。

強化学習:AIモデル(エージェント)に報酬をあげる

強化学習とは、エージェントが収益の最大化を目指して方策を獲得する機械学習です。

強化学習そのものは昔から存在していましたが、昨今のディープラーニングと組み合わせてより効果を発揮するようになりました。

ただ、強化学習は初学者が理解するにはあまりにも難解な上に、現在ではゲームや将棋AIなどあまり実用的でないケースで使用されていることが多いです。

ここでは、教師あり学習、教師なし学習に絞って主な機械学習アルゴリズムをご紹介します。

【有名どころを厳選】機会学習アルゴリズム7選

アルゴリズム紹介

機械学習アルゴリズムを語るときには、現在地を見失わないように各アルゴリズムの性質を知っておきましょう。

ここでは、基本となるような機械学習アルゴリズムを7つピックアップしています。

個別にアルゴリズムの概要と、それぞれを利用するメリットとデメリットを見ていきます。

回帰の機械学習アルゴリズム

①線形回帰(単回帰分析、重回帰分析)

1次関数(y = ax +b)の式を使って、手がかりとなるデータと予測したいものの関係を表現するアルゴリズムです。

例えば、気温を手がかりとなるデータ(x軸)、アイスの売上を予測したいデータ(y軸)としたとき、2つのデータの間に図のような正の関連があったとしたら。

未知の気温に対して売上が予測できると言えますね。

正の相関

例のような簡単な線形回帰を線形回帰を単回帰分析といいます。

もっと手がかりがいっぱいあったほうが予測しやすい!

というときは重回帰分析を用いて気温の他にも、手がかりとなるデータ(販売場所や時間帯、季節など)を増やすことができます。

メリットは図のように直線的にデータ間の関係が見えるわかりやすさがあります。

デメリットとしては、原因→結果の因果関係を誤って結びつけてしまう可能性に注意しないといけないことです。

例えば「猫が顔を洗うと雨が降る」ということわざのように、

直接の関係がない2つの出来事に因果関係を持たせてしまうといったことが線形回帰を用いると起こりやすくなってしまうのです。

(こうした因果関係の取り違えを疑似相関といいます。)

②ディープラーニング(深層学習)

ディープラーニングも回帰に属するアルゴリズムです。

ざっくり一言でイメージを伝えると、入力に対する出力の予測器が2層以上つながっているアルゴリズムのことです。

ここで言う「入力に対する出力の予測器」とは、いわゆるニューロンと呼ばれるものです。

また、入力と最終的な出力の間にある一つの層で、すべてのニューロンが次の層のニューロンに接続されるような一連のニューロンの層(中間層)が設定されたものをニューラルネットワークと言います。

そして、ニューラルネットワークの中間層が2層以上で構成されている予測アルゴリズムをディープラーニングというのです。

ディープラーニング

メリットとしては、層を深くすることで飛躍的な予測性能のポテンシャル向上が可能である点です。

また、回帰のアルゴリズムではありますが、分類問題にも適用できるため応用範囲が広いことで知られています。

一方で、層の数やニューロンなどのは試行錯誤して決めなければならず予測に手間がかかること、学習に必要な入力データが膨大に必要なことなどデメリットもあります。

さらに理論的にはポテンシャルを高めたにもかかわらず、実際の予測では大した結果が出ないこともあり、課題はまだまだたくさんあるようです。

こうしてみると、AIブームの火付け役として、今もてはやされているディープラーニングですが、万能では無いことがわかりますね。

機械学習の一つのアルゴリズムとして冷静に見極める必要がありそうです。

現場においてもっとも大事なのは、自分が置かれた状況に応じてた手法があることを知ってアルゴリズムを比較検討できることにあります。

分類の機械学習アルゴリズム

③ロジスティック回帰

ロジスティック回帰とは、2つの値のうちどちらに所属するのか予測するアルゴリズムです。

線形回帰と似たような方法ですが、予測したい結果が2択だけなのがポイントです。

例えば、あるお客さんが商品を購入するか否か、引っ越すか否か、会社をやめるか否かといったようなことです。

また、「回帰」と名前がついていますが、分類に属する機械学習アルゴリズムです。

④SVM(Sapport vector machine)

データの集まりにたいして、それらを2つに分けるような一本の境界線を探すというアルゴリズムです。

下の図のようなイメージでデータの集まりを分類していくわけですね。

svm

境界線の引き方にコツがあり、もっとも近いデータまでの距離が最大になるような直線を選ぶ必要があります。

SVMには、最適化しなければならないパラメーターが少なくて済む。次元が高くなっても計算量がそれほど増えない。境界線がひとつに定まるなど多くのメリットがあります。

逆に、分離できないような形でデータが交じっていたとき、予測の正確性が下がってしまうというデメリットがあります。

⑤決定木

質問をうまいこと繰り返していくことで、未知のデータのクラスを予測するアルゴリズムです。

例えば、少し前に流行ったアキネーターは決定木を利用しています。

シンプルなアルゴリズムでわかりやすいこと。データの前処理が少なくて済むことなどがメリットです。

一方、学習用のデータに対しては正しい分類が出来るくせに、未知のデータには対応できなくなってしまう過学習という現象がおきやすいことでも知られています。

過学習の例として、テスト勉強の際、過去問はバッチリ解けていても当日のテストで低い点をとってしまう学生をイメージしてもらえればわかりやすいかと思います。

⑥k-NN

未知のデータに対して、近い方からいくつかの正解データを集めてきて多数決をすることで分類を予測するアルゴリズムです。

シンプルでどんなデータでも使いやすいというメリットがあります。

クラスのサンプル数の偏りがあると精度が落ちる、取ってくる正解データの数によっては結果が変わってしまうというデメリットがあります。

クラスタリングの機械学習アルゴリズム

⑦k-means法

いくつかクラスタの重心を設定して、その重心の最寄りのデータをクラスタに所属させるアルゴリズムです。

文章で説明するよりも、こちらのサイトで実際に手を動かしてみたほうがわかりやすいと思います。

>>参考:K-means 法を D3.js でビジュアライズしてみた

k-means法には、アルゴリズムがシンプルで計算量が軽いというメリットがあります。

一方で、実行するごとにクラスタの結果が変わる。適切なクラスタの個数がいくつかわからないので注意が必要です。

また、クラスタリングの手法は明確な正解がないという点も覚えておきましょう。

【初心者向け】機械学習アルゴリズムが学べる本

最後に、機械学習アルゴリズムが学べる初心者向けの書籍を紹介します。

イラストで学ぶ 人工知能概論 (KS情報科学専門書)

そもそも人工知能ってなんだっけという内容から、基本的なアルゴリズムまで

タイトルにもあるようにイラストで視覚的に学ぶことが出来る「入門書」となっています。

もっと深く機械学習アルゴリズムを知りたいという方はこちらもおすすめです。

人工知能プログラミングのための数学がわかる本

機械学習に必要な数学を復習しながら、AIと数学とアルゴリズムの関係が理解できる良書です。

著者はAIエンジニアを育成するAIdemy を運営する会社の社長さんですので、信頼性も高いと思います。

スポンサーリンク

  • このエントリーをはてなブックマークに追加
スポンサーリンク