Python

【超絶入門】機械学習とは

この記事は以下の人に向けて書いています。

  • 機械学習とはどんな技術なのか、他の技術との違いを知りたい人
  • どんなサービスで機械学習が使われているか知りたい人
  • 機械学習についてもっと勉強するには何をすればいいか知りたい人

はじめに

「機械学習」という言葉がニュースなどでよく聞かれるようになりました。

しかしその一方で、「結局なにができるの?」「実際に導入する場合はどうしたらいいの?」という疑問を持つ人も多いのではないでしょうか。

機械学習は、IT業界に限らず様々な業界で使われるようになってきており、ビジネスサイドにいる方にとっても無視できない技術となりつつあります。

そこでこの記事では、機械学習がどんな技術で、どのようなサービスに使われているのかを解説。

同時に勉強するための本やツールもご紹介していきます。

1.機械学習=テスト勉強!専門知識がなくてもわかる機械学習の仕組み

「機械学習って、どういう技術?」

そんな質問に対する答えは非常にシンプル。文字通り「人間の代わりに機械(コンピュータ)に学習をさせる」技術です。

学生の時にやっていた受験勉強を思い出してみてください。

当然ですが、受験にどんな問題が出されるのか、生徒は知りません。

まだ見ぬ問題を解くために、単語を覚えたり、公式を理解したり、過去問を解いたりして知識や考え方を蓄積し、未知の問題に「正解」するための準備を整えていたはずです。

その一連の作業をコンピュータに行わせるのが、機械学習なのです。

以下、より詳しく解説していきましょう。

①人間の学習能力=「パターン認識」を技術で再現

機械学習とは、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術のことである。

引用元:Wikipedia

人間が何かを学ぶ際に重要となる能力に、「パターン認識」と呼ばれるものがあります。

これは、「別々のものに同じ法則(パターン)を見つける」能力のこと。

先ほどのテスト勉強の例で言うと、例えばあなたがテストで過去問とよく似た問題を見たとき、「この問題も同じやり方で解けるかも?」と推測し、解くようなケース。過去に解いたことのある問題からパターンを学習することで、類似した問題も解けるようになるわけです。

一方で、いままでの機械(コンピュータ)は電卓のように正確な計算はできるものの、受験問題のように「自分で解き方を見つける」ことはできませんでした。それを可能にしたのが、機械学習という技術なのです。

人間は、テスト勉強をしたからといって、毎回テストで100点取れる訳ではありません。しかし、間違った部分を見直し、勉強しなおすことで、より高い点数を取れる確率は上がっていきます。

機械学習でも、同じことをします。

まずはコンピュータに「問題と回答がセットのデータ」を与えて学習をさせます。その後テストを行い、回答用紙に書かれた答え(予測値)を実際の数値との答え合わせをすることで、テストの点数(予測精度)がわかります。

この予測精度には、単純に合ってるか合っていないかの割合(正答率)だけでなく様々な指標があります。

「なるほど!機械学習は機械相手にテストを繰り返して、100点を目指す技術なのか!」

…もしかすると、そう思ったかもしれません。

でも実は、機械学習のテストでコンピュータが100点を連発してしまった場合、それは大失敗の扱いになってしまいます。

「え?どうして?100点取ったのに…なんでダメなの?」

機械学習のゴールは、現実にある膨大な問題に対応できること。そのため、限られたデータを基にしたテストで100点を連発するコンピュータは、いざ実際に本番の問題にチャレンジしたときに全く点数が取れないのです。

例えるなら、「英単語テストではいつも100点だけど、リスニングの勉強を全くしてなかったので、センター試験はさんざんだった……」というような状態。

これは過学習と呼ばれ、機械学習において最も恐れられている現象です。

一見して「上手くいっている」ように見える落とし穴ですので、この概念をしっかりと覚えるようにしてください。

②2種類の機械学習

では、実際に機械にはどのように学習させるのでしょうか。

その方法は「教師あり学習」と「教師なし学習」の2種類にわかれます。

教師あり学習は、先ほど説明した「問題と回答がセットのデータ」を与えて学習してもらう事です。これは非常に分かりやすいですね。

その一方、教師なし学習は、正解が分からない中で、学習することです。

正解が無いのにテスト勉強をするとは、どういうことでしょう? 想像がつきませんね。

正解のないテストで、問題だけ与えられるというのは、例えば下記の画像のような状態と考えて下さい。

これを見て、「あー、ごちゃごちゃになっている!分類したい!!」と思いませんか?
何も正解を与えられていない状態であっても、それぞれのデータ(問題)に特徴を見分け、似たものどうしを分類することは出来ます。

たとえば、下記のような感じに。

この分類をクラスタリングと呼びます。クラスタ (cluster) は、英語で「集団」「群れ」の意味です。この例では、「形」「色」といった特徴ごとに、クラスタリングを行ったわけです。

クラスタリングをはじめとする方法が、教師なし学習に分類されます。

代表的な教師あり学習、教師なし学習を分類すると下記のようになります。

2.機械学習でなにができる?事例をもとに活用方法を紹介

機械学習を利用する場合、主に

①データの可視化
②データの分類
③データの予測

の内の、どれかの機能を使うことになります。

それぞれ具体的にどのようなものなのか、各企業の実例をもとに、順番に見ていきましょう。

①可視化

可視化は、大量のデータの傾向を把握するために利用されます。あえて機械学習のモデルを適用しなくても、可視化をするだけで問題が解決することはデータ分析業務ではよくああります。

本田技研工業
車にセンサーを入れてデータを取得しながら、「どのような運転だと事故が起こるのか」を可視化することで、自動車事故を減らす 取り組みをされています。

コマツ
建設機械の中にセンサーを入れてデータを取得します。建設機械が壊れてしまう時にセンサーがどのようなデータになっているかを可視化することで、壊れる手前でメンテナンス出来るようにしています。

象印
象印のポットにセンサーを入れて、どんな頻度で使われているか計測しています。その機能を利用して、高齢の両親が今日も元気かを確認出来るサービスを開発しています。

日立
社員証の中にセンサーを入れて、時間毎の社員さん同士の物理的な距離を計測します。距離が近ければ、コミュニケーションが活発になっていると定義することで、コミュニケーションが仕事の生産性にどのように影響を与えているかを計算しています。

②分類

分類は、文字通りデータを様々な基準に従って分類することで、2値分類と多クラス分類(3つ以上に分類)の種類があります。

ペイパル
クレジットカードの不正利用データを集めて、不正利用にはどのような特徴があるかを学習し、分類しています。

富士フィルム
病気になっているレントゲン画像を学習させることで、医師の代わりに診断自動化サービスを開発しています。

カジノ産業
顔認識によって、カジノにのめり込みすぎている人を分類して、のめり込みを防止しています。
カイジのような表情でギャンブルをしているとのめり込めすぎだ!と判定されるようになっている訳ですね笑

引用:カイジ

③予測

データをもとに、将来の結果を予測することです。先ほど解説した「教師あり学習」を使って学習し、予測値を算出します。

エパゴギグス
映画批評家が点数を付けたデータを学習させて、映画の興行収入を予測しています。

アマゾン/楽天
個人の購入データから似たクラスターの人に、おすすめ商品を提案しています。

ヒューレット・パッカード
どのような人がどのようなタイミングで退職してしまうか予測モデルを作成しています。

クライメート
自動車の運転データから事故率を予測して、新しい自動車保険を提案しています。

以上になります。ネット企業だけでなく、メーカーも機械学習を存分に利用していることがお分かり頂けたと思います。
これらの事例は「機械脳の時代-データサイエンスは戦略・組織・仕事をどう変えるのか-」を参考にご紹介させて頂きました。本書を読んでみたい方はこちらから、ご購入頂けますと幸いです。

3.機械学習を勉強したい!と思ったら…ツールや本を紹介

ここまで読んで、機械学習の素晴らしさがお分かり頂けたと思います。もっと機械学習を勉強していきたい、という方のために書籍や学習サイトをご紹介します。

①オススメの書籍

機械学習入門 ボルツマン機械学習から深層学習まで
機械学習の概念をさらに深く理解するのにオススメの書籍です。
お姫様と執事の鏡が対話形式でアルゴリズムの仕組みを解説していくので、最初の学習に非常に良い本だと思います。

イラストで学ぶ 機械学習 最小二乗法による識別モデル学習を中心に
最小二乗法とは、機械学習を学ぶ際の基本のキになります。しっかりと解説してくれるのでこちらも最初の学習に適した本だと思います。その他にもLASSOやリッジ回帰、SVMといったアルゴリズムがきちんと解説されています。

ビッグデータを活かすデータサイエンス -クロス集計から機械学習までのビジネス活用事例-
こちらもビジネスにおいてどのように活用されているかを、各種分析手法を例に上げて説明されています。主成分分析やロジスティック回帰分析、決定木など使用頻度の高い分析手法を解説されています。

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)
これまで紹介してきた本の中では難易度が上がってしまいますが、事例ごとにデータ分析の手法を詳細に解説されているので、オススメです。実践向けの良書となっています。

②オススメの学習サイト

勉強にはインプットとアウトプットを適切に繰り返すことが重要です。そのためにも、本ばかり読んでいても学習は向上しません。学習サイトを使って、適切にアウトプットする場を持ちましょう。

Pythonの文法を勉強するなら
progate

機械学習を勉強するなら
Aidemy

がオススメの学習サイトになります。

③実践編、データ分析のコンペサイトへ挑戦

Kaggle(カグル)というデータ分析のコンペティションサイトがあります。
ここではデータセットがダウンロード出来まして、誰が最も精度の高い予測モデルを作れるか競争しています。

データを実際に触りながら予測モデルを作成することが出来ます。

ここで成績上位者のことをカグラーと呼びます。そのカグラー達が集まって作ったデータ解析ソフトウェアがData Robotというツールです。これは非常に優れたツールなのでまた別記事で書きたいと思います。

このサイトの良いところはkernersというページから人がどんな風にデータ分析をしたか確認することが出来ます。自分でやってみた後に、人がどのように分析したかを確認することで学びがより一層深まります。

またはスクールに通うことも一つの選択肢になると思います。

4.まとめ

  • 「教師あり」機械学習はテスト勉強と同じこと
  • インターネットだけでなく、オールドエコノミーでも機械学習が取り入れられている
  • 機械学習をもっと勉強したければオススメ本やサイトをチェック

おわりに

いかがでしたでしょうか。機械学習の概要からどのような利用例があるか、またその先の学習方法までご紹介しました。引き続き、データサイエンティストを目指す上での分かりやすい情報提供を目指して参ります。

ABOUT ME
北爪 聖也
ダメ営業マンからデータサイエンティストへキャリアチェンジ。 技術とビジネスサイドの橋渡しが出来るため、ダメ営業マンの経験も役に立ちました。 広告代理店ADKにて3年勤務→データ分析受託の会社DATUM STUDIOにて1.2年勤務後、独立。
データサイエンスの仕事に興味がある方!

株式会社piponではデータサイエンティストの方々へお仕事をご紹介しております。

もし、仕事にご興味ある方がいらっしゃいましたらこちらのフォームよりご連絡頂けると嬉しいです。

また、「未経験から転職して1年で身につけたスキルで月収25万円の副業を得るまで」という記事を有料noteとして出していますので、興味ある方は購入いただけると嬉しいです!