機械学習の超初心者が、みんなが良いと言う記事を読んでまとめてみた

  • 177
    いいね
  • 0
    コメント

機械学習について勉強したいので調べてみたのですが、

同じ記事や同じ本をおすすめされてることが多かったので、自分なりにまとめてみました。

私は数学も機械学習も無知だし、まだ何も機械学習のコードを書いてません。
ただのリンク集になってます。

実際にやってみた画像認識の内容も含めたブログ記事はこちらです

機械学習をやるまえに

最初に機械学習で何をしたいのかを決めることが重要

ゴールを持つことが学習の進み具合を変えるらしい。
たしかに、やりたいことがあれば、勉強量も定着量も全然違う気がする。
無駄な知識を学ばないことも大切なんでしょう。

すべての理論を理解しようとしない。

機械学習は難しすぎるのでまず理解できないし、少しずつ簡単なものを実践して理解していくことが大切。

まずはコードを書く!

コードを書いていけば、なぜ動くのかをおおまかに理解していける。
数式や理論の理解は後回し、慣れろ、ってことですね。

「次元の呪い」というものがある

学習データをすべて学習させようとしても精度が出ないことが多々ある。
データを分類するために「データのどこに注目すればいいか」が、プログラムは判断できない。

特徴抽出

対象データから特徴となる量を抽出することが特徴抽出。
これで「データのどこに注目すればいいか」をプログラムに教えることができる。
よって、特徴抽出 → 特徴抽出したデータで学習させる という流れになる。

機械学習の流れ

  1. データ収集
    少なくとも100,000件くらいあるといいらしい。
    深層学習では、数万件のパラメータは当然という程のビッグデータがあることで機能するという。
    膨大なデータを処理するためには、高速な計算環境が必要。

  2. データの整理
    収集したデータは、一部欠落や不正データが入ってる場合があるため、情報を整理しなければならない。
    SQLやBigData処理(分散処理など)のスキルが必要。

  3. 分析・分類
    整理したデータの特徴を見極めたり、予測に必要なデータを推測する。
    定量評価。

  4. 学習モデル作成
    整理したデータから予測するモデルを作成する。
    Pythonなどの開発言語で使う。
    データの種類や目的によってアルゴリズムを選択(パラメータのチューニングなどのおすすめを出してくれるのもある)。
    正規化も必要。

  5. データの予測と実験
    訓練データからつくった学習モデルで予測する。
    学習〜テスト予測の実験を何度も繰り返す。
    精度が良くても過学習の可能性がある。

AIは人間をアシストするもの

特徴抽出を行わなければならないという点からもわかるとおり、機械学習などAIは勝手に「こういう課題があるから、こういうことをやりたい」と考えて答えを導き出すことはない。
人間が膨大な量のデータを揃え、課題を与えることでしか機能しない。
課題を持った人間がやらなければならない大量のデータに対する分析を自動で行ってくれることで仕事をアシストしてくれるのがAIなんでしょう。

スライドで「機械学習とは」を感じよう

必ずと言っていいほど紹介されてる動画

courseraの機械学習コース

関連する記事はこちら。

機械学習を1ヵ月で実践レベルにする #2 (オンライン講座)
Courseraの機械学習コースのススメ 前編

日本語なので聞きやすそうな動画

schoo: 現場で使えるデータ分析 講座
gacco: 社会人のためのデータサイエンス講座

これらの本は読んでおきたい

この2冊は、いろんな記事でオススメされてる頻出度高めの本だった。
なので、私もこの2冊は絶対読んでおく。

プログラムや理論がわからなくても、サンプルプログラムをコピペして動かすことが何よりも重要です。
マルコフ連鎖やLSTMなどを用いたテキスト解析、チャットボットの作成、深層学習による牛丼の認識、機械学習・深層学習に必須なデータ収集テクニックまで網羅。

以下の本も初心者にわかりやすそうな書評がありましたので記載。

実際に簡単なサンプルを試してみよう

Docker上で、TensorFlowを使って画風変換してみた。

その記事はこちら

機械学習にはたくさんの手法があることを知る

機械学習の情報を手法を中心にざっくり整理
機械学習を始めたくなる!機械学習アルゴリズム解説スライドまとめ

上記の記事は、機械学習の手法を網羅し、簡潔にまとめてある素晴らしい記事です。

スライドで「Deep learningとは」を感じよう

勉強のための 環境構築 をしよう

勉強のためのプログラムを書こう

以下のコードを用意し、こちらより実装する

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import optimize

plt.style.use('ggplot')

ライブラリごとの初歩記事

TensorFlow

Theano

Theano の 基本メモ

THeano のチュートリアル

Weka

Weka入門 ~決定木とデータセットの作り方~ in松村研

機械学習(データマイニング)ソフト

とある大学院生がこれを使って、GUIをポチポチして実装されたアルゴリズムでデータを自動分類していってたらしい。

Keras

真似していろいろつくってみよう

感情分析(Sentiment Analysis)

画像認識

テキスト処理

なんだかすごそうな人の紹介

http://qiita.com/tsunaki

参照元記事