コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

身の程知らずの初心者が機械学習をはじめるでござるの巻

なぜ "身の程知らずの初心者" である僕が機械学習をしようかと思ったのか

おはようございます。僕です。今日はいい天気ですね。鳥は歌い、花は咲き誇る。こんな日は僕みたいな "身の程知らずのクソ初心者" が機械学習を勉強するには最高の日だと思いませんか?


そうしたわけでそんなことができるサービスがあったので "身の程知らずの初心者" がやってみたよ。

10秒ではじめる人工知能プログラミング学習サービス

上記がキャッチコピーのアイデミーをはじめてみました。
aidemy.net

やってみた

f:id:andron:20180326214511p:plain
とりあえず準備がてら初級コースを終わらせてみました。やってみて、実はPythonそんなにさわれなかったことを実感した。内容の写しとか書いても面白くないですしザックリとやったことを書いてみるとこんな感じです。

Python入門
Pythonの書き方チュートリアルのお話。他の基礎サービスより若干駆け足気味でクラスまでの話が終わる感じがする。

・Numpyを用いた数値計算

NumPyは、プログラミング言語Pythonにおいて数値計算を効率的に行うための拡張モジュールである。効率的な数値計算を行うための型付きの多次元配列(例えばベクトルや行列などを表現できる)のサポートをPythonに加えるとともに、それらを操作するための大規模な高水準の数学関数ライブラリを提供する。

これの扱い方について。多次元配列の処理するのに向いているやつ。

公式
NumPy — NumPy


・Pandasを用いたデータ処理

Pandasは、プログラミング言語Pythonにおいて、データ解析を支援する機能を提供するライブラリである。特に、数表および時系列データを操作するためのデータ構造と演算を提供する。PandasはBSDライセンスのもとで提供されている。

これの扱い方について。Python上でエクセルっぽい操作していくやつ。

公式
Python Data Analysis Library — pandas: Python Data Analysis Library


・Matplotlibによるデータの可視化

Matplotlibは、プログラミング言語Pythonおよびその科学計算用ライブラリNumPyのためのグラフ描画ライブラリである。オブジェクト指向APIを提供しており、様々な種類のグラフを描画する能力を持つ。描画できるのは主に2次元のプロットだが、3次元プロットの機能も追加されてきている。描画したグラフを各種形式の画像(各種ベクトル画像形式も含む)として保存することもできるし、wxPython、Qt、GTKといった一般的なGUIツールキット製のアプリケーションにグラフの描画機能を組みこむこともできる。MATLABの対話環境のようなものを提供するpylabというインタフェースも持っている。Matplotlibは、BSDスタイルのライセンスの下で配布されている。

これのこと。データの可視化に特化したやつ、具体的にはグラフとかそういったやつ。最初の方にデータ分析にどのグラフを使うことが有効なのかみたいな話もあるのでライブラリに興味がない人でも最初だけ目を通すのもありだと思った。

公式
Installation — Matplotlib 2.2.2 documentation


・データクレンジング

データクレンジングとは、データベースに保存されているデータの中から、重複や誤記、表記の揺れなどを探し出し、削除や修正、正規化などを行い、データの品質を高めること。

特にライブラリの話でなくデータの前処理の話。ただし分析には滅茶苦茶重要。やってみてここだけ妙に苦戦した。まあ、慣れとかなんだろうな。

あ、ライブラリの話ないって書いたけど一応opencv使った解説もついてます。

OpenCV(オープンシーヴィ、英語: Open Source Computer Vision Library)とはインテルが開発・公開したオープンソースのコンピュータビジョン向けライブラリ。2009年にWillow Garage(ウィロー・ガレージ)に開発が移管された後、2015年現在はItseezがメンテナンスを行なっている。なお、2016年5月26日にインテルがItseezを買収することが発表された。

画像処理ライブラリ。いろいろできる、どこまでできるのかは僕も知らない。

公式
OpenCV library


機械学習概論
機械学習のメインの話。数学知識不要、英語じゃない、そんな感じで機械学習についての大まかなことが学べます。そんな感じです、まあ概論ですし……。
ちなみに機械学習自体はシンプルにこれのこと。

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


今後は有料化して月2000円程度になるそうです。そう思うと一通り手を出しておきたいなって思った今日この頃です……。まあ、これに手を出したからって "身の程知らずの初心者" ってやつは何しても無駄なんですけどね (笑)。辛たん……。




あ、どうでもいい話ですけど機械学習系の本って高くないですか?単純にこれ(下のやつ)がめちゃくちゃほしいから言ってるだけってのがあるんですけどね。一冊でなんとかなるとか思ったら安いものだってのはあると思うけど、投資と考えても即結果につながるものでもないので辛いところさんです。Python系の文法の話はカバーできないけどここにあるコースの概要そのものは網羅してると思う…。

統計的学習の基礎 ―データマイニング・推論・予測―

統計的学習の基礎 ―データマイニング・推論・予測―

  • 作者: Trevor Hastie,Robert Tibshirani,Jerome Friedman,杉山将,井手剛,神嶌敏弘,栗田多喜夫,前田英作,井尻善久,岩田具治,金森敬文,兼村厚範,烏山昌幸,河原吉伸,木村昭悟,小西嘉典,酒井智弥,鈴木大慈,竹内一郎,玉木徹,出口大輔,冨岡亮太,波部斉,前田新一,持橋大地,山田誠
  • 出版社/メーカー: 共立出版
  • 発売日: 2014/06/25
  • メディア: 単行本
  • この商品を含むブログ (5件) を見る

ま、原著読めばそんなコストをかけずに済むんですよね……。英語がネックだ。ちなみに、紹介したやつ書店で小一時間くらい立読みして買うか買わないを吟味してます。


おわりに

冒頭から強調しまくってる文言は僕がよく利用させてもらってるサービスの文言からの引用です。引用元通り "身の程知らずの初心者" の僕は何をしても無駄なんだと思います。虚しいね。でも一応一通りは終わらせておきたいと思ってます。その方が "身の程知らずの初心者" は何をやっても無駄だっていうのに説得力でますからね。