AIブームが起きている理由
最初に、近年AIがブームになっている理由について説明します。それは①IoTの加速、②GPUの登場、③OSSの活用という3つの理由があります。
IoT技術の加速
IoT(Internet of Things)と呼ばれる「物のインターネット」の技術が発展してきたことにより、多くのデータが収集できるようになったきたことが昨今のAIブームの火付け役になっています。
IoTとAIは非常に組み合わせの相性がよく、IoTによるデータ収集→AIによるデータ解析→業務改善という流れができています。
GPUの登場
高速画像処理に特化した演算処理装置GPU(Graphics Processing Unit)の登場によって、これまで非常に多くの時間が掛っていた学習時間が削減されました。
それによって、これまで以上の膨大な量のデータを計算が可能になってきたこともAIブームを下支えしています。
OSSの活用
無料でAIが使えるOSS(Open Source Software)が活用できるようになり、AI導入のハードルが下がったことも寄与しています。
例えば、TensorFlow(Google)やPyTorch(Facebook)などが有名なOSSになります。これらを使用することによって、初学者であっても簡単にAIを使える時代が到来しています。
機械学習は何をしている?
評価指標(評価関数)を最小化
機械学習とはどのようなことをしているのでしょうか?
機械学習とは、定量的に定められた評価指標を最小化するように学習することです。ここでの評価指標とは、例えば「誤差」などがそれに該当します。
実際の値と予測の値の誤差が最小化、つまり0になるように学習させていくことを機械学習と呼びます。
学習とは内部パラメータのチューニング
具体的に学習するとは、モデル内部のパラメータを調整していく作業のことです。

図のような、データ群があったとします。学習前はy=ax+bという一次関数の直線で近似していたとします。機械学習は、このaとbという2つのパラメータを学習を通してチューニングし、a→a’、b→b’というように値をアップデートしていきます。
このように学習によってパラメータチューニングし、実際のデータと値と予測の値との誤差を最小化していきます。
「学習」と「推論」が機械学習の基本の考え方
「学習」は赤ちゃんの成長過程と同じ
ここからは、機械学習にとって非常に重要な「学習」と「推論」という2つのステップの考え方について解説をしていきます。
この考え方を理解するために、よく赤ちゃんの例で説明されます。例えば、赤ちゃんが初めて犬を見たときに、その動物を犬だと認識することはできるでしょうか?もちろんできませんよね?
では、なぜ赤ちゃんが成長していくと犬を認識できるようになるのでしょうか?その答えは、親が「あれは犬って言うんだよ」という風に赤ちゃんに教えるからです。
犬にはたくさんの種類があります。そのため、親が1回教えただけでは赤ちゃんは1つの犬種しか犬だと認識することはできません。
したがって、親は様々な犬種について赤ちゃんに犬だということを教えていくのです。結果として、赤ちゃんは柴犬やチワワやブルドックなどの様々な種類をすべて犬だと認識していくのです。
このようなプロセスが機械学習における「学習」に該当します。
「推論」は学習結果を元に出力する過程
次に、学習結果から何らかの出力を行うことを「推論」と言います。
犬の特徴(4本足で歩いて、耳があり、尻尾があるなど)を学習した赤ちゃんは、初めて目にする犬を見たときも、それらの特徴に当てはまることを確認し、「犬!」と発することができるようになります。
機械学習も同様に、学習データからその特徴量を学習してパラメータをチューニングし、その後未知の入力に対して推論を行なっていきます。
機械学習の種類
機械学習は大きく3つの種類に分類することができます。
- 教師あり学習
- 教師なし学習
- 強化学習
教師あり学習
教師あり学習とは、答えとなるデータも一緒に学習させる学習方法です。
例えば、犬の写真と猫の写真を区別できるように学習させる場合、写真と一緒にこの写真は犬、この写真は猫という正解ラベルを学習させることになります。これが教師あり学習に該当します。
教師あり学習には、数値を予測する「回帰」とカテゴリを予測する「分類」の2つに分けられます。
- 回帰(数値を予測)
- 分類(カテゴリを予測)
回帰問題でよく取り上げられるのは、商品の売り上げの予測、株価の予測です。一方、分類問題では、商品のカテゴリ分け、医療機関での良性と悪性の判断などに用いられます。
教師なし学習
教師なし学習は、教師あり学習とは対照的に答えがない学習方法です。
与えられたデータの特徴や規則性を抽出するために用いられます。
教師なし学習には、似ているデータ群をグルーピングする「クラスタリング」と重要な情報を抽出するための「次元削減」の2つに分けられます。
- クラスタリング(類似データのグループ化)
- 次元削減(重要な情報だけを抽出)
強化学習
強化学習とは、自ら試行錯誤を繰り返しながら最適となる行動を学習していく学習方法です。
自動運転や囲碁(AlphaGo)や将棋のゲームに適用されています。
AlphaGoとは、Googleが開発したコンピュータ囲碁プログラムのことです。AlphaGoは最初はまったく強くありませんでしたが、何千回、何万回と対局を学習していくことによって、勝ちパターンの手筋を学習していくのです。その結果、AlphaGoは世界トップ棋士に勝利しました。
機械学習で必要なデータ
上記のような学習させるために必要なデータ形式は、ExcelやCSVファイルのような表形式かつ数値データです。機械学習は数値データしか取り扱うことができません。
したがって、画像データや音声データも数値データに変換してあげる必要があります。例えば、画像データであればRGBカラーコードの0〜255の数値に変換する必要があります。
回帰と分類の代表的アルゴリズム
回帰問題と分類問題は教師あり学習で取り扱うことのできる問題です。
以下では、それぞれの問題の代表的なアルゴリズムと活用例について解説をします。
回帰問題
回帰の代表的なアルゴリズム
数値を予測する回帰問題で用いられる代表的なアルゴリズムは以下のリストで示すものがよく用いられます。
- 回帰分析
- サポートベクター回帰
- 決定木分析
- ディープラーニング(ニューラルネットワーク)
回帰分析
回帰分析には、1つの入力で出力を予測する単回帰分析と複数の入力で出力を予測する重回帰分析と2種類が存在します。
- 単回帰分析(入力が1つ)
- 重回帰分析(入力が2つ以上)
決定木分析
決定木分析とは、木のような枝分かれした構想を持つアルゴリズムであり、回帰と分類の両方に適用可能です。

例として、アイスクリーム屋さんの1日の売り上げを決定木分析したとしましょう。気温が25℃以下のときは、あまりアイスクリームを食べないので1日20個の売り上げがあります。
気温が25℃〜35℃のときは売り上げが伸びて、1日50個売れます。しかし、気温が35℃を超えるとアイスクリームよりもかき氷の方がよく売れるようになるため1日35個の売り上げになります。
このように、決定木分析を使うことによって結果に対する説明がしやすくなります。これが決定木分析を用いる最大のメリットです。
精度だけを求めるのであれば、サポートベクター回帰やディープラーニングを使うほうが精度は出やすいです。しかし、結果の説明力は落ちてしまいます。
新商品を開発していて、上司に分析結果の報告をするときには決定木分析のように因果関係がわかりやすいアルゴリズムを使うことが重要です。
回帰の活用事例
農作物の生産量予測
農作物の生産量の予測を行うためには、気温や降雨量などの気象データ、水やりの回数、肥料の種類などを入力データに揃える必要があります。
それらのデータから機械学習の回帰アルゴリズムを用いて収穫量の予測を行います。収穫量の予測ができることによって、販売ルートの事前確保や収穫に必要な人員確保ができるようになります。
店舗の来客数予測
店舗の来客数予測では、立地条件、気象、イベントなどのデータから来客数を予測していきます。
来客数の予測から、人員の適切な配置ができたり、物流の管理ができるようになります。
分類問題
分類の代表的なアルゴリズム
分類問題は、上記の回帰問題と非常によく似ています。回帰問題はデータは連続値でしたが、分類問題は離散値になります。
分類問題の代表的なアルゴリズムを以下で紹介します。
- k近傍法
- サポートベクターマシン
- 決定木分析
- ロジスティック回帰
- ランダムフォレスト
- ニューラルネットワーク
分類の活用事例
ローン審査
クレジットカードや住宅ローンなどのローン審査に機械学習の分類が活用されています。
入力データ(年収、勤続年数、会社名、住居形態、クレジットヒストリなど)からローンの可否を判断します。この場合、ローン可能か不可能かの2つに分類されます。
ローン審査を機械学習によって自動化することにより、人員の削減につながりコストを減らすことができます。
タクシー配車予測
次は、タクシーの配車予測です。人口、走行データ、気象予報、周辺施設の稼働データなどから乗車の多いエリアの予測をすることができます。
ドライバーはその予測に基づきタクシーを乗車の多いエリアに移動させることにより、売り上げの向上が期待できます。
病状診断
病状診断にも機械学習が活用されています。年齢、性別、身長、体重、血圧、過去の病歴などのデータから病気があるかないかを分類することができます。
医師の実際の診断結果を学習させることによって実現させています。機械学習で簡易的な病状診断ができるようになると、オンラインで病気のチェックができるようになり医師不足の解消につながります。
クラスタリング
クラスタリングとは教師なし学習の1つであり、入力されたデータの特徴から複数のグループに分けることを指します。クラスタリングは、階層クラスタリングと非階層クラスタリングの2種類に分類されます。
クラスタリングで最もポピュラーなアルゴリズムとして、k平均法(k-means法)があります。これは非階層クラスタリングのアルゴリズムです。
コメント