近年、「AI」とか「機械学習」とか「ディープラーニング」とい
でも、それぞれが一体どういったもので、私たちの生活にどのよう
そこで今回は「機械学習」というキーワードについて、以下のポ
※なお、本来「AI」「機械学習」「ディープラーニング」はそれぞれ
- 機械学習とは?
- なんで注目されてるの?
- どんな仕組みなの?
- 何に利用されているの?
- 個人で機械学習ってできるの?
上記5点について、本や記事などで私が得た知識をなるべく噛み砕いて
機械学習とは?
ではまずはじめに、そもそも「機械学習」とは一体何なのかについて解説します。
機械学習とは、
「大量のデータを元に、そのデータに潜むパターン
です。
(゚ω゚)「えっ?」
- 「①パターンや特徴を見つける?」
- 「②自動的に判別する?」
- 「③傾向を
予測する?」
いきなり抽象的なワードが出てきました。
これだとあんまり意味がわかりませんよね。
もうここで、理解するのをやめたくなります。
ですが、ちょっと待ってください!
ここでは一旦「機械学習」の定義だけに留めて置いて、
まずは「3.どんな仕組みなの?
(すみません、その方が
この段階では、機会学習とは
「コンピュータを使って大量のデータ
程度の理解で十分です!(´ー`)
なんで注目されてるの?
ここでは「機会学習」がなぜ最近注目されて来ているのか解説します。
PCやスマホなどの普及により、多くの人がインターネットを利用
インターネット上で買い物をしたり、SNSで繋がったり、You
このように、世の中にインターネットが広く浸透した結果、Amazonなどの
ではここで、そもそも「データを蓄えること」ことに何の意味があるの
蓄えられたデータは、一体何に利用するのでしょうか?
それは、簡潔に言うならば
「蓄えたデータを分析し、未来を予測する。そこから得られた予測結果から、未来を改善する」
ためです。
例えば、ここにAmazonを利用しているAさんがいたとします
Aさんは一か月のうちにこんな買い物をしました。
- 初心者でも分かるPythonプログラミング(書籍)
- 機械学習入門書(書籍)
- ミネラルウォーター2L 24本入り(飲料)
- Pythonを使ってWEBアプリケーションを作ろう!(書籍)
- 高級ビジネスカバン(雑貨)
この購入履歴をみて、Aさんがどういったものを買
どうやらAさんは、プログラミング言語である「Python」の学習教材をよく購入していることがわかりますね。
この場合、AさんにPython関連の商品をオススメすることで、より商品が購入されやすくなりますし、Aさんもわざわざ商品を選ぶ手間を省くことができます。
これはデータ解析の一例ですが、イメージとしてはこんな感じです。
しかし、データを大量に蓄積するのは良いのですが、あまりに数が膨大であるとどのように活用すべきか?どのように分析すべきか?
また膨大なデータを多くの人が分析していく場合、分析基準を
そのような問題の解決策として注目されているのが「機械学習」
機械学習の特徴として、「大量のデータから自動的に短時間で正確
人がデータ解析を行うよりも、圧倒的に時間やコストをカットし、
こういった背景には、コンピュータの処理速度の向上や豊富なデー
どんな仕組みなの?
ここでいよいよ冒頭で説明を後回しにしていた
「①パターンや特徴を見つける?」
「②自動的に判別する?」
「③傾向を
について解説します。
いきなりですが、私たちは「りんご」と「ばなな」をすぐに見分け
では、それぞれの特徴をあげてみましょう。
赤い。青いのもある。丸い。甘い。
黄色い。細長い。茶色の斑点があったりする。
というように、私たちは物体の「特徴」を理解して、それが何であるのか「認識」しています。
しかし、これをコンピュータに同じように理解させる場合はどうで
「りんご = 赤い + 丸い」
というように定義した場合、「赤くて丸い“ボール”」までもコンピュ
これだとまずいですよね?
コンピュータは、その正確さ故人間のように融通の利いた理
(このような問題は「記号接地問題」と呼ばれ、人工知能が解決す
その解決策として、機械学習では大量のりんごの画像をコンピュー
そして、その仕組みには以下の3種類があります。
- 教師あり学習
- 教師なし学習
- 強化学習
教師あり学習
まずは定義からいきましょう。
教師あり学習とは、
「コンピューターにラベル付きの入力値を与え
です。
これを入れたらこれを出すのが正解という訓練を繰り返すことによ
「教師」という言葉があるように、「学校の先生」「生徒」をイメ
シチュエーションとして先生が生徒に「馬」とはどんなものなのかを教えるとします。
先生は生徒に「馬」のイラストを見せ「みなさん、これは馬と言う動物です
これも馬。
「イラスト」(データ)に「馬」という名前(ラベル)を付けながら教
その行為を何回も何回も行うことで、生徒に「馬」とはどういった
(画像だけではなく、「足が速い」「しっぽがある」といった特徴
そして、学習が終わると、次は学習の習熟度を試すテストを実施しますよね?
先生が「では、これはなんのイラストでしょうか?」と新しい「馬」のイメージを生
ここで生徒が「馬です!」と答えることができれば、理解ができ
教師あり学習に当てはめるとすれば、先ほどの「学校の先生」は「
ここでようやく冒頭の
「①パターンや特徴を見つける」
「②自動的に判
の解説ができました。
「①パターンや特徴を見つける」
・「りんごは赤くて丸い特徴がある」ということを理解する。
「②自動的に判別する」
・赤くて丸いものは、「りん
教師あり学習は、株取引における市場予測や、購買確率の高い顧客の推定といった、過去のデータから将来を予測するような場合によく使われます。
教師なし学習
続いて教師なし学習についてです。
まだ冒頭の「③傾向を予測する?」の説明がまだですね。
大丈夫です。ここで解説します。
例のごとく、まずは定義からいきましょう。
教師なし学習とは、
「ラベルの付いていないデータを与えることに
です。
この場合、正しい出力というものは存在しないので、入力値をグル
今度も登場人物は一緒です。「先生」と「生徒」がいる場面をイメ
先ほどと違う点は、
「先生はある画像を生徒に見せますが、それがなんであるかは教え
という点です。
つまり、「生徒自らが(正解・不正解に関係なく)答えを導き出す
「③傾向を予測する」
データを収集・整理して、データどうしの類似度を判定してデータをグループ分けしたり、顧客の購買履歴から「Aという商品を買ったお客さんはBを買う傾向にある」という法則を見つける。
教師なし学習では、どのような分類基準をコンピューターが作るか人間では予測がつかないため、思いもつかない分類方法を見つけ出すことがある反面、全く役に立たない場合もあります。
解析結果をどのように使うかという判断の難しさ、価値ある分類を生み出すためのチューニングなどの課題があります。
教師なし学習は主に、ECサイトのレコメンド機能などに応用されています。
強化学習
強化学習は、どのような行動をとれば最大の「報酬」が得られるかを、コンピューターが試行錯誤しながら学んでいくことで最適な判断に到達します。
「〇〇したら+1点の報酬」「〇〇したら+5点の報酬」というように、最初に報酬を決めておきます。
コンピューターは最初、何をしたら良いのか全くわからない状態から、用意された選択肢を手当たり次第実行します。
その中で、ある選択肢を実行した場合、「報酬」を得ることができました。
その時、「どのような状態」で「何をしたら」報酬がもらえたかを記憶します。
この記憶を頼りに何度も何度も選択肢を実行していくことで、最高の「報酬」が得られるパターンを学習していきます。
強化学習は主に、自動車の自動運転技術に活用されています。
何に利用されているの?
機械学習の仕組みについて、なんとなく理解はできたでしょうか?
次は、私たちの生活に身近な「機械学習」の技術を用いたもの
機械学習という言葉から堅苦しいイメージがあると思いますが、実
迷惑メールの自動仕分け
迷惑メールによく出てくる単語やその出現確立の特徴を学習し、自
Gmailなどのメールツールを利用されている方なら、身近なも
ECサイトのレコメンド機能
購入データから顧客が興味を持ちそうな商品を予測し、おすすめ商
AmazonのECサイトを利用している方なら、身近なものだと
株取引
現在と過去の株の値動きをから、今その株式を買うべきか、保持し
自動運転
自動運転の精度を上げるために、マシンの判断に「罰」と「報酬」を与えるという、機械学習の手法(強化学習)が利用されています。
この他にも機械学習は、様々な分野で活躍しています。
今後、さらに活躍の幅は広がっていくことは間違いないでしょう。
個人で機械学習ってできるの?
ここまでの解説で、もし機会学習に興味を持った方!
個人で機械学習を勉強したいけど、具体的に何から始めたらいいの
と考える方もいるのではないでしょうか?
大丈夫です!機械学習は個人でも取り組むことができます!!
機械学習において、必要な基礎知識は主に以下となります。
1.プログラミングの基礎
2.線形代数と統計の基礎
プログラミングの基礎
機械学習を取扱うに当たり、とりわけ人気なプログラミング言語が
Pythonは、コードの簡潔さやライブラリー(機械学習を行う上
他にも機会学習に向いている言語はたくさんありますが、Pytho
なによりPythonは、他のJavaやC言語に比べ、比較的コー
ちなみにPythonを使ったWEBアプリケーションとしては、「Y
このようにPythonは機械学習をはじめ、ゲームやWEBアプリ
★Pythonおすすめ学習サイト&書籍
Paizaラーニング Python3入門編 (全11レッスン)
Python全くの未経験者の方は、Paizaラーニングの「Python3入門編」を学習することをまずお勧めします。
何と、このレッスン最後まで全て無料なんです!
動画ベースで学習を進めていくことができ、動画時間も3〜5分程度なので、無理なく続けることができます。
解説もわかりやすく、演習課題もありますのでPythonの門を叩く一歩として最適と言えるでしょう。
ある程度、Pythonの基本が身についた後にお勧めの書籍を紹介します。
この本はPythonの基本的コーディングから、機械学習のさわりまで幅広くサポートしています。
何よりサンプルコードが大量に用意されていますので、実際にコードを書きながら学習を進めていくことで、より一層理解を深めることができます。
線形代数と統計の基礎
線形代数とは行列やベクトルなどを扱う数学です。
まずは初歩的な用語や手法などの学習を行うといいでしょう。
★線形代数と統計のおすすめ学習サイト&書籍
実際に機械学習をやってみる
ある程度基礎を学べたら、実際に機械学習をやってみることをおす
知識の蓄積だけではどうしてもその後の成長は頭打ちになってしま
「鉄は熱いうちに打て」と言いますが、基礎を完璧にマスターする
躓いたら、また1、2の学習に戻り再度基礎を見直す。そして3に戻るを繰り返すこ
★機会学習のおすすめ学習サイト&書籍
機械学習を始めるには、まずこの1冊から!
Pythonの機械学習用ライブラリの定番、scikit‐learnscikit‐learnを使った機械学習の方法を、ステップバイステップで学習できます。
また基本的なプログラミングの知識があれば、Googleの「TensorFlow」などのオープンソースを利用することで、すぐに個人でも機械学習を始めることができます。
また、学習していく中で、基礎学習だけでは足りないと気付くこと
その時は、専用の参考書を買ったり、インターネットで調べたりし
まとめ
今回は「機械学習」とは何かという解説をしました。
「AI」や「機械学習」は最近現れた技術ではなく、実は50年ほ
ですが、当時のPCスペックだとどうしても限界があり、なかなか
しかし、昨今のPC性能の向上や2010年代に登場した「ディー
一方、機械学習系のエンジニアは不足しています。
それに対し、企業側の需要は増加しているため、採用難から機会学
まさに、「需要」>「供給」の関係に今あるということですね。
また今後、「AI」や「機械学習」への社会的関心が薄れることは、ま
ですので、少しでも「機械学習」に興味のある方は、今回を機にぜひ学習をはじめましょ