機械学習の学習 [ML:0日目]
転職が決まり、有給消化期間になったので、 今まで勉強する暇が無かった機械学習などの勉強を始めたいと思います。
現状の知識レベル的には下記のような感じ
- 文系出身・・・数学とかは大学でほとんど使ってない
- 基本的な用語に関しては知っている(≠理解している)・・・標準偏差、正規分布、過学習、各アルゴリズムの名前、etc
- マーケター→エンジニアへ転向して半年くらい。独学でPython、仕事ではRubyをやっていた
自分用のアウトプット先として記事を投稿していくつもりですが、 同じぐらいのレベル感の人にも参考になればと思います。
方向性
- scikit-learn
- chainer
の理解を深めながら、機械学習自体の理解を深めていきます。
正攻法的には基礎数学からやった方が捗ると思いますが、 あくまで"ライブラリを使えるようになること"に焦点をあてて勉強していきます。
理由としては、例えば標準偏差は数式で書くとこうなりますが
数学に馴染みのないエンジニアとしては下記の方が圧倒的にわかりやすいですね
import math def sd(array): mean = sum(array) / len(array) tmp = sum([(i - mean)**2 for i in array]) var = tmp / len(array) sd = math.sqrt(var) return sd
最初にプログラミングを勉強し始めるときも、理論からガチガチにやっていくより
まずはコピペで動くものから、少しずつ理解を広めて行く方が多くの人にとって理解しやすいのではないかと思ってます。
ゴール
まだ深く考えていないので、今のところ決まったゴールはなし・・・
やりながら考えていこうと思いますが、今のところは
- Chainerかscikit-learnで独自課題に挑戦
- Kaggleでコンペに挑戦する
みたいな感じになるのかな。
とりあえずがんばろう