【10分でわかる】機械学習とは?どこよりもわかりやすく解説!

どうも!インストラクターの佐野です。

人工知能を学習すると「機械学習」を学習することになりますが、ものすごく難しいと感じる方が多いようです。

機械学習って何?
さっぱりわからない…
全然理解できない…

など、お困りの声をよくいただきます。

たしかに、機械学習は専門的な知識が必要になるのでなかなか理解できませんよね。そこで今回は、機械学習について10分で理解できるようにどこよりもわかりやすく解説します!

人工知能の学習にお役立つこと間違いないでしょう。

【こんな方に向けて書きました】

  • 未経験から機械学習について学びたい
  • 機械学習の難解さに頭を抱えている

機械学習の基礎知識

機械学習がなぜ注目されるのか?

機械学習が注目される大きな理由として、「大量のデータから自動的に短時間で正確な結果を得ることができること」が挙げられます。

ビジネスをするうえで、これは非常に重要なことです。マーケティングやビジネス戦略に活かして収益増加を狙ったり、将来起こりそうなリスクをあらかじめ回避することができるからです。

しかし、大量の複雑なデータを人力で分析することはとても大変な作業ですし非効率です。そこで、コンピューターが自動的に短時間でデータを分析してくれる機械学習が注目を集めています。

コンピューター自身の処理速度が上がり大規模なデータも扱えるようになったこと、低価格化が進んで扱いやすくなったことも理由の1つです。

機械学習と人工知能の関係性

機械学習と人工知能の違いがよくわからない方も多いのではないでしょうか。

人工知能は、ざっくりいうと「人間の知能と同じ特徴を持つ複雑なマシンを構築すること」といえます。

機械学習は、その人工知能を実現するための方法の1つです。機械学習とはいったいどんなものなのか、どうやって人工知能を実現しているのかを見ていきましょう。

機械学習とは

概要

まずはWikipediaの解説を読んでみましょう!

機械学習(きかいがくしゅう、英: machine learning)とは、人工知能における研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことである。参照元:Wikipedia

なんとなく意味はわかりますが、実際にどうやって実現しているのかさっぱりイメージできませんね。

簡単にいうと、機械学習とは「データから反復的に学習し、そこに潜むパターン(特徴)を見つけ出すこと」です。

パターン(特徴)を見つけ出す

人間はふだん目でみた視覚的な情報を脳で瞬時に処理をしています。例えば、猫を見たらすぐに猫と分かりますし、犬を見たら犬と分かります。同じ4本足の似ている動物ですが、姿、形、大きさ、色、鳴き声などの特徴(パターン)から判断できます。

しかし、デジタルな情報しか扱えないコンピューターにとって、特徴を見つけ出すことはとても難しいです。

どうしても数字で表す必要があるので、「猫は体長が◯◯cm~◯◯cm程度で、足の長さは◯◯cm~◯◯cm程度で…」などと定義しないといけないからです。

でも、数字には個体差が大きいため、どうしてもあいまいな定義しかできません。そこで大量のデータから分析や解析をして、ある一定の特徴を見つけ出す技術や手法が必要になってきます。

次に、機械学習で使われているさまざまな技術や手法をご紹介します。

機械学習で使われている技術や手法

機械学習には大きく分けて3種類あります。

  • 教師あり学習
  • 教師なし学習
  • 強化学習


の3種類です。

順番に解説していきます。

教師あり学習

教師あり学習とは、あらかじめデータと特徴を紐付けておき、新しいデータがどこに分類されるかを予測する手法です。

問題(データ)と答え(特徴)を教えるということが、教師のような役割を果たしているので「教師あり学習」と呼ばれているのでしょう。

教師あり学習は一般的に、「過去のデータから将来起こりそうな事象を予測すること」に使われます。過去のデータから、特徴の基準(モデル)を学習し、それを新しいデーターに適用させることで判別を行います。

教師あり学習のイメージは以下のようなものです。
ks_credo02

具体的には、「迷惑メールの判別」や「明日の天気や気温の予測」などで用いられています。

教師なし学習

教師なし学習とは、与えられたデータから規則性を発見して学ぶ手法です。

教師あり学習の場合は、あらかじめ正解を与えていましたが、教師なし学習はその答えを導き出すことを目的とします。そのため、教師なし学習は、正解・不正解が存在しないのが最大の特徴です。

ある一定の基準をデータに与えて、データの分布状況を学習します。そして、新しいデータがどのグループの特徴に近いか判別することによって、データの精度を上げることができます。

ただ、何を基準にするかは人間の手によって与えられるので、精度を上げることはすごく難しく職人技といえるでしょう。

具体例では、おすすめのメニューや商品を紹介する「レコメンド機能」や電子メールの分類などに使われています。

強化学習

強化学習は教師あり学習に似ています。

大きな違いは、教師あり学習では明確な「答え」を与えますが、強化学習では与えないことです。強化学習では答えの代わりに、「行動」と「報酬」を与えます。

どのような行動をとれば報酬を最大でもらえるかということを学習していきます。これは、分かりやすい例でいうと囲碁や将棋などのAIで利用されています。
22b407c9-79a9-8333-4aa3-9710fe08ac66

引用元: Qiita: ゼロからDeepまで学ぶ強化学習 https://qiita.com/icoxfog417/items/242439ecd1a477ece312

次に何をするかという行動に無数の選択肢があり、明確な答えをあらかじめ与えることが難しい問題に使います。

行動を繰り返し、報酬が大きくなった行動に高いスコア、報酬がもらえなかった行動に低いスコアをつけていくことで、その場で最も効率がいい行動がとれるようになるというものです。

最後に

いかがでしたでしょうか?

機械学習はさまざまな可能性が秘められている重要な技術です。近い将来、日常生活で当たり前のように使われる日はそう遠くないでしょう。

ぜひこの機会に学習されてみてはいかがでしょうか。

人工知能プログラミングを最短で習得したい方へ

人工知能への注目はとどまることを知りません。

2017年現在も、日本のみならず世界中でその技術や可能性に注目がよせられています。

そういった市場であるがゆえに、多くの方がその技術を取り込みビジネスに活かそうとしています。

人工知能や機械学習は「Python(パイソン)」という技術を使って開発を行えます。

専門知識いらず!Pythonとは何かを言語の特徴から網羅的に徹底解説
更新日 : 2019年5月7日
ただし、初心者がいきなりPythonを使って人工知能や機械学習を行うのは、簡単ではありません。

元々ITリテラシーの高い方や他のプログラミング言語を習得している方であれば、独学で習得可能でしょう。

しかし、多くは初学者は

「自分に合った教材が見つけられずに挫折してしまった」
「勉強のための勉強になってしまい、ゴールが見えない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決するのに何日もかかってしまう」

このような悩みを抱えたまま挫折してしまうのが現実となっています。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
  • Pythonプログラミングを身につけて人工知能プログラミングができるようになりたい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、初心者の方がつまづきがちな、オリジナルアプリ開発もスムーズに学習することできます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

Pythonならではの学習方法や、現役エンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta_bannar-ai1
LINEで送る
Pocket

書いた人

佐野裕史

佐野裕史

侍エンジニア塾インストラクター。
主に技術担当をしています。

【経歴】
力仕事、接客業、営業職など様々な業界を経てIT業界に参入。
IT未経験からスタートし、1ヶ月で仕事獲得に奇跡的に成功。
1年半後にフリーランスに転身。

Web開発を主に行っており、得意とするのはRails、Ruby。
【技術スキル】
Rails、Ruby、Swift、Java(Android)、JavaScript

【趣味、趣向】
麻雀
MTG(マジックザギャザリング)
ダーツ、卓球、野球、ボウリングなどの球技

【Facebookページ】
https://www.facebook.com/hiroshi.sano.7
【Twitter】
プログラミング講師@佐野裕史
自分でプログラミングができない人のために情報を発信しています。
お気軽にフォローください。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説