【初心者】機械学習の用途やジャンルを学ぶ

# 背景・目的
私は、現在データエンジニアリングを生業としています。普段は、データ基盤の構築や、パフォーマンスチューニングなどビックデータに関する業務に従事しています。
ビックデータの収集や、蓄積、分析などの環境構築の経験はそこそこありますが、機械学習による予測や分類などのスキルは持ち合わせていませんでした。
今まで機械学習を避け続けてきましたが、一念発起し学ぼうと思います。

学び方としては、AWS Certified Machine Learning – Specialty（以降、ML試験という。）の勉強を通して、理解を深めていきます。ML試験のガイドの第２分野に、探索的データ解析が登場しましたのでそこから学びたいと思います。

今回は、**機械学習の用途や種類**について学びたいと思います。

> 3.1 ビジネス上の課題を機械学習の課題として捉え直す
> 機械学習を使用する/使用しないタイミングを判断する
> 教師あり学習と教師なし学習の違いを知る

なお、過去の機械学習の調べてみたシリースは下記にまとめています。
- 2.探索的データ分析
- 2.1.モデリング用のデータをサニタイズおよび準備する
    - [【初心者】探索的データ解析とは何かを調べてみた](https://qiita.com/zumax/items/52c97307bf18f407bb6e)
    - [【初心者】データのスケーリングを調べてみた](https://qiita.com/zumax/items/ca7184dcf4e7fd242128)
    - [【初心者】データの拡張を調べてみた](https://qiita.com/zumax/items/0727e329f3322897d3e7)
    - [【初心者】データアノテーションを調べてみた](https://qiita.com/zumax/items/d0da86b68b05b99cb23e)
- 2.2.特徴エンジニアリングを実行する
    - [【初心者】特徴量エンジニアリングについて調べてみた](https://qiita.com/zumax/items/3b6e771ef1fcaf3edd91)
    - [【初心者】特徴量エンジニアリング（データのビニング）について調べてみた](https://qiita.com/zumax/items/dc0c86736dd5362cf118)
    - [【初心者】特徴量エンジニアリング（トークナイゼーション）について調べてみた。](https://qiita.com/zumax/items/5286c51ecc0a81b66b87)
    - [【初心者】特徴量エンジニアリング（外れ値）について調べてみた](https://qiita.com/zumax/items/2a07f6d3502fc9a16a44)
    - [【初心者】特徴量エンジニアリング（合成データ）について調べてみた](https://qiita.com/zumax/items/654eae53dae77f222433)
    - [【初心者】特徴量エンジニアリング（ダミー変数[One-Hotエンコーディング]）について調べてみた](https://qiita.com/zumax/items/de5cef1ac4a281400764)
    - [【初心者】特徴量エンジニアリング（次元低減）について調べてみた](https://qiita.com/zumax/items/d92342c3da94020eedec)
- 2.3 機械学習のデータを分析および視覚化する
    - [【初心者】機械学習のデータを分析および視覚化を調べてみた](https://qiita.com/zumax/items/1879441180372858d006)
    - [【初心者】機械学習のクラスタリングを調べてみた](https://qiita.com/zumax/items/41f1366f4f1a00eee1f0)
    - [【初心者】機械学習のクラスタリング（エルボー法）を調べてみた](https://qiita.com/zumax/items/f72941a10a6b9460c5de)
- 機械学習プロセス
    - [【初心者】AWS Machine Learning Lensを整理する](https://qiita.com/zumax/items/93f9635b3be51fe483e1)

# まとめ
- 大きく、教師あり、なし、強化学習に分けられる。
- ジャンルは、予測、画像認識、音声認識、データ分析、自然言語処理などがある。
# 概要
codexaさん「[いまさら聞けない！機械学習とは？人工知能と機械学習の関係や実例を交えて説明します](https://www.codexa.net/what-is-machine-learning/)」を参考に整理します。ありがとうございます。

## 機械学習の仕組みとは？
> 機械学習とは、コンピューターにデータを読み込ませて、アルゴリズムに基づいて分析させる手法のことです。事例となるデータを反復的に学ばせることによって、そこに潜む特徴やパターンを見つけ出させます。そして、見つけた特徴を新しいデータに適用することで新しいデータの分析や予測を行うことが可能になるわけです。

- データを反復的に学ばせて、特徴やパターンを見つけ出させる。
- 見つけた特徴を元に、新しいデータの分析や予測を行う。

## 機械学習アルゴリズム
3種類ある。

### 教師あり学習
> 教師あり学習は、コンピューターにラベル付きの入力値を与えて学習させる方法です。これを入れたらこれを出すのが正解という訓練を繰り返すことによって、新しいデータを入れたときに正しい出力ができるようになります。
> 例えば、コンピューターに、画像が「馬」なのか「牛」なのかを判別させたい場合、「馬」や「牛」とすでにラベルが付いた画像を大量に与えることによって「馬」と「牛」それぞれの特徴を学習させて、ラベルのない画像を入れても正しくの判別ができるようにしていきます。

- ラベル付きの入力値を与える。
- 正解という訓練を繰り返し、新しいデータを入れたときに正しい出力できる。


### 教師なし学習
> 教師なし学習では、ラベルの付いていないデータを与えることによって、そのデータの特徴や傾向を学習させます。この場合、正しい出力というものは存在しないので、入力値をグループ分け（クラスタリング）できるように訓練して、新しいデータがどのグループに近いかを判別させます。

> 教師なし学習の活用事例の一つとして顧客データのクラスタリング分析が行われています。顧客を類似する特徴によって細かくセグメント化（細分化）することによって、ターゲットを絞ったマーケティングが可能になります。これを顧客セグメンテーションというのですが、大量の顧客データを年齢、家族構成、職種などにクラスタリングする際に機械が行っているのが、まさに教師なし学習です。

- 教師ありの反対に、ラベルなしのデータを与え、そのデータの特徴や傾向を学習させる。
- 正しい出力は存在しないため、入力値をグルーピングして訓練し、新しいデータがどのグループに近いかを判別させる。


### 強化学習
> 強化学習は、教師あり学習のなかでも、コンピューターの出力に点数をつけることによって、より点数の高い（価値の高い）出力を学習させる方法です。望ましい結果には報酬を与えることによって、機械によりよい出力を覚えさせることができます。

> 囲碁ソフトなどのゲーム人工知能などには、この強化学習が使われています。勝つと報酬をもらえるので、機械は勝つためにいろいろな手を試すことになり、回数を重ねるにつれて強くなっていくわけです。
- 教師学習の一部？
- コンピュータの出力に点数をつけて、より高い点数の高い出力を学習させる。


## 機械学習の活用のジャンル

[こちら](https://laboro.ai/activity/column/laboro/la-cases-5genre/)の記事を参考に整理しています。ありがとうございます。

|ジャンル |概要 |説明 |
|:-- |:-- |:-- |
| 予測 |過去のデータを大量に学習することで、将来どのような結果が起こりうるかを予測することができます。 |タクシーの乗車予測が挙げられます。どこに行けば利用客に乗車してもらえるかの予測は経験によって培われていくものですが、機械学習により過去のデータを学習することで、新人ドライバーでも利用客がいそうな場所の情報を得られるようになっています。ある実証実験では、AI導入の４ヶ月後、ドライバー１人あたりの１日の売上が1,400円以上も向上したという結果も報告されています。 |
| 画像認識 |応用や組み合わせによりさまざまなサービスが登場しています。 |シンプルなものでは、手書き書類の自動データ化です。手書きの書類をデータ化するには、従来であれば人が入力する必要がありましたが、機械学習により文字を識別する機能が進化し、入力作業を大幅に削減することが可能になっています。人的リソースを別の業務に活かせるだけでなく、入力内容も人が行うより正確だというメリット |
| 音声認識 |自然言語処理や自動応答まで含めて現時点でも高いレベルに達していると言われています。 | 音声認識の技術が活用されている業種としては、コールセンターが挙げられます。顧客の問い合わせ音声からコンピュータが自動で何を要望しているか認識し、オペレーターがFAQや顧客データを検索するまでもなくディスプレイに表示させるサービスも登場しています。|
| データ分析| 機械学習によりAIに学習させればより早く正確に分析を行うことが可能になります。|店内に分析用のカメラを設置して顧客属性ごとの商品の購買傾向、売り場の移動の仕方などを分析する技術は、機械学習により高精度に行う技術も登場しています。これにより、従来以上にターゲットを意識した仕入れや商品配置、導線を意識した売り場作りなどの店頭施策の実施が可能になってきています。 |
| 自然言語処理|人間が話す言葉を処理する「自然言語処理」の精度を高めていくことも可能です。| テキストを認識し、文書分類を自動で行う事例を手掛けました。ある大手通信企業では申込書の分類が担当者による手作業で行われていましたが、数が膨大なため、未振り分けのまま送られる伝達不要な情報まで伝達されてしまうという課題がありました。機械学習の１種であるニューラルネットワークによる文書分類アルゴリズムを構築することで、自然言語処理によるAIがテキストを分類、結果として業務改善につながっています。|

### 
予測は、機械学習が得意とするジャンルのひとつです。過去のデータを大量に学習することで、将来どのような結果が起こりうるかを予測することができます。

> この事例としては、タクシーの乗車予測が挙げられます。どこに行けば利用客に乗車してもらえるかの予測は経験によって培われていくものですが、機械学習により過去のデータを学習することで、新人ドライバーでも利用客がいそうな場所の情報を得られるようになっています。ある実証実験では、AI導入の４ヶ月後、ドライバー１人あたりの１日の売上が1,400円以上も向上したという結果も報告されています。

## 機械学習が使われている事例とは？

| 例 | 説明| 技術| 
|:-- |:-- |:-- | 
|メールのスパムフィルター | メールのスパムフィルタは、迷惑メールによく出てくる単語とその出現確立をもとに、スパムと非スパムの分類を行う。| 教師あり学習 |
| ECの商品レコメンド|インターネットで買いものをしている時によく出てくる商品レコメンドでも、アイテム同士の類似度計算に機械学習が使われてる。|教師なし学習 |
|汚職防止 |人工知能大国として知られるシンガポールでは、銀行による汚職防止作戦に機械学習が使われています。社内やミーティング中の行動、メールを機械に監視させることによって、汚職を起こしそうな人を検出し、汚職を未然に防いでる。 |教師なし学習 |
|顔認識 |カメラの顔認識にも機械学習が使われています。コンピューターに人間の顔を認識させるには大量のラベル付きの画像（教師データ）が必要です。 |教師あり学習 |
| 自動運転 | 自動運転には様々な機械学習の手法が使われていますが、根幹となる一つの手法として強化学習が使われています。|強化学習、教師あり学習 |

# 考察
今回は、あらためてざっくりと機械学習とは何か？どのような事例があるのかを学びました。
今後も引き続き学び続けたいと思います。

# 参考
https://www.codexa.net/what-is-machine-learning/

https://laboro.ai/activity/column/laboro/la-cases-5genre/