インターネットの進歩そしてスマホ機能の向上などで普段あまり意識されていな方も多いでしょう。しかし私たちの周りには現在多くの機械学習が使われています。
例えば、タクシーの配車予測(複数のデータ解析)、お店での顧客の行動分析(画像認識)、AI(人工知能)がお客さんの質問に自動で受け答えするチャットボット(テキスト解析)など、さまざまな分野に機械学習機能が導入されているのです。
この機械学習ですが現在、機械学習やディープラーニングなどのAI(人工知能)に関わる技術が注目されており、エンジニアを目指す方も増えています。そして関連のある書籍や学習サイトも現在充実しているため、初心者にも学びやすくなっている分野でもあるのです。
そこで今回は、これから機械学習に入門しようと思っている方達に知っておくべき入門知識をお伝えいたしましょう。
機械学習とは
事例となるデータを反復で学ぶことで、今まで気付いていなかったパターン、法則や特徴を見つけ出し、学習結果を新しいデータとして蓄積していきます。分析の正確さは100%ではないですが、大量のデータから多角的分析が可能です。
機械学習を行うために知っておくべき知識
機械学習は3つのアルゴリズムで学習しています。
supervised learning(教師あり学習)
機械は分析を続ける中で、正しい生活のルールやパターンを元に認識・予測をします。代表的な手法として「回帰」と「分類」。
unsupervised learning(教師なし学習)
しかし、正解を与えてないので迷惑メールなのか、ビジネスメールなのか、プライベートのメールなのかは最終的に人の解釈が必要です。
reinforcement learning(強化学習)
これは100点満点を目的に勉強する人間の行動とよく似ており、機械にある行動に対して、100点(報酬)をとるよう設定すると試行錯誤や改善をしながら、機械自身で最適な方法を導き出します。
機械学習を学ぶステップ
それでは機械学習を学ぼうと思っている初心者の方へ、どのようなステップを踏めばよいかお伝えいたしましょう。
機械学習を学ぶ目的
目的もって学習すれば知識の吸収力もあがり継続できますよね。
機械学習の全体像を知る
ディープラーニングの基礎
ディープラーニングはニューラルネットワークをベースにしているなどの仕組みや、ディープラーニングで出来ることなど基礎的な知識のインプットができます。
Pythonの基礎
Python基礎知識は無料学習サイトや書籍を活用したり、実際にプログラミング言語を使ってサンプルを作成したりとさまざまな方法で学ぶことができます。
機械学習の勉強
機械学習のアルゴリズムを理解し、書籍や学習サイトを参考にしながらサンプル演習で学んでいきましょう。
機械学習入門者におすすめの書籍
機械学習の入門書籍を5つご紹介いたします。
人工知能は人間を超えるか – 角川選書 松尾 豊
AI(人工知能)発展を応援してほしい、しかしAI(人工知能)の現在の実力、現在の状況、これからの可能性を正しく理解してもらいたいという著者の松尾豊氏の思いが込められた良書です。
Python 1年生 体験してわかる!会話までまなべる!プログラミングのしくみ – 翔泳社 森 巧尚
Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ
Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎 – オライリージャパン Andreas C. Muller, Sarah Guido
プログラミングを学ぶ上で、オライリージャパンの書籍は避けて通れませんよね。
Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑 – 翔泳社 秋庭 伸也
なるべく少ない数式で理解しやすく各アルゴリズムを項目立てて解説しているので、どのように動作しているのか比較がしやすく、実際の使い方や注意点もわかりやすく説明しています。
最短コースでわかる ディープラーニングの数学 – 日経BP 赤石 雅典
ディープラーニングにおける数学の基礎を学べる良書でしょう。
機械学習を入門まで学んだら、やるべきこと
それでは最後に、機械学習を学んだらやるべきことについてお話します。
機械学習の入門まで学んだら、実践してさらに経験と知識を深めていきましょう。
そしてPythonディープラーニング向けライブラリのTensorFlow(テンソルフロー)や、機械学習に特化したライブラリSciket-learn(サイキットラーン)などを使ってみるのも良いです。
TensorFlow
TensorFlowはチュートリアルを学び実際に動かしながら学ぶことで理解が深まります。
Sciket-learn
Sciket-learnは無料で利用できるオープンソースで機械学習入門者には最適なライブラリ。
これらをぜひ試してみてください。より理解が深まるでしょう。
それでは最後に今回お伝えした機械学習入門も知識についてまとめです。
- 機械学習とはAI(人工知能)の概念に属する技術の一部。さまざまなデータからルールやパターンを発見する方法です。
- 機械学習には学習するデータやそのタイプにより3つの方法に分けられます。
- 「教師あり学習」 (Supervised learning)…はじめにデータと正解を機械に学習させ、教えた正解に合わせてルールを導きだす方法です。分類や数値の予測ができます。
- 「教師なし学習」(Unsupervised learning)…正解は与えず、大量のデータをインプットさせて特定のパターンを導きだす方法です。グループごとの分類する「クラスタリング」に用いられます。
- 「強化学習」(Reinforcement learning)…車の運転のような状況により判断する正解のない行動に対して、正しい行動をすれば報酬(プラスのフィードバック)を、間違っていれば罰(マイナスのフィードバック)を与えて機械自身に試行錯誤させる学習法です。
そして、機械学習を学ぶには以下のステップでおこなうのがおすすめ。
- 「機械学習を学ぶ目的」…最初のステップとして、機械学習を学びどんなことに使いたいのかなど、目的や目標を持ちましょう。
- 「機械学習の全体像を知る」…次に、全体像を知ることで目的や目標に応じて学ぶべき部分が明確になります。
- 「ディープラーニングの基礎」…次に機械学習と関連するディープラーニングのできることやニューラルネットワークの仕組みなどの基礎的な知識をインプットしましょう。
- 「Pythonの基礎」…次に機械学習にはプログラミング言語のPython(パイソン)が使われているので、基礎知識を学びましょう。Pythonはシンプルな言語で少ない量で簡単にプログラムが書けるため初心者におすすめです。
- 「機械学習の勉強」…実践演習での勉強が多い機械学習は、アルゴリズムを理解し書籍や学習サイトを参考にしながらサンプル演習で学んでいきましょう。
そこで機械学習入門者におすすめの書籍を5つご紹介しました。
- 【人工知能は人間を超えるか】角川選書 松尾 豊
- 【Python 1年生 体験してわかる!会話までまなべる!プログラミングのしくみ】翔泳社 森 巧尚
- 【Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎】オライリージャパン Andreas C. Muller, Sarah Guido
- 【見て試してわかる機械学習アルゴリズムの仕組み 機械学習図鑑】翔泳社 秋庭 伸也
- 【最短コースでわかる ディープラーニングの数学】日経BP 赤石 雅典
そして機械学習の入門まで学んだら、Pythonディープラーニング向けライブラリのTensorFlow(テンソルフロー)や、機械学習に特化したライブラリSciket-learn(サイキットラーン)などを使ってみましょう。
これら全て取り組めば機械学習について知識が深まります。機械学習の入門としては難しいかもしれません。しかしこれらを学ぶことで仕事などこれから活かせる場はたくさんあります。ぜひこれらで知識を深めてこれからの時代に役立てましょう。
【お知らせ】
当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。
御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。