機械学習一覧

コンピュータビジョンが楽しそう

こんばんは。

先日どっさりと買ってきた本をぼちぼちとやっております。
全てを一から順にという感じではなく、そのときそのときにやりたい章だったり、分野だったりをつまみ食いしてる感じでやってます。

その中で画像処理の機械学習やらディープラーニングがちょっと面白いなと感じています。

「PythonとKerasによるディープラーニング」ではこのコンピュータビジョンの章で行き詰ったわけですが、いろいろと調べて、kaggleのデータをゲットすることができました。

せっかくできるようになったのと、コンピュータビジョンに興味が出てきたということもあり、ディープラーニングを犬と猫の画像のデータセットを使って体験するのをここ何日かやっています。

しかしながら、ディープラーニングはすごく時間がかかりますね・・・

プログラム実行したら1時間以上待たされましたものもありました(笑)

ディープラーニングするならGPU環境が良いらしいですが、私のPCはそんなのものはないので、我慢我慢。

ひとまずコンピュータビジョンをメインに機械学習やディープラーニングを勉強していこうと思います!


今年も一年がんばりましょう

明けましておめでとうございます。
今年も一年がんばっていきましょう!

さて、年末年始と実家に帰省し、のんびりと過ごしてきました。

実家近くの大きい本屋に行く機会があったので、どっさりと本を買ってきました!


「機械学習エンジニアになりたい人のための本」

この本はAIスキルを持っていたらどんな職になれるのかやその職になるために必要なスキルは何かや習得方法、情報の在処などが紹介されていました。本屋でぱっと立ち読みして興味深かったので購入♪


「機械学習のための「前処理」入門」

機械学習の勉強をしたり、Youtubeの動画を見たりしててデータの前処理が機械学習業務の80%を占め、かつ重要とのことなのでしっかりできるようになるために購入♪


「Python実践データ分析100本ノック」

本屋でパラパラめくってみたところ実際の現場でありそうな依頼をどう処理していくかに重点を置いており、これはケーススタディとして勉強になるのではないかと思い購入♪


「やさしく学ぶ機械学習を理解するための数学のきほん」

学習ロードマップにもあったこの数学の本、ついに買いました。数学は苦手なのですが、機械学習を勉強する上では避けて通れそうにないため、少しずつ克服していきたいと思います。


「Pythonで学び直す高校数学」

数学を勉強する上で高校数学すらまともに覚えてはいないのでこちらの本も併用して勉強していこうと思います。この本でもだめなら中学数学からやりなおしますかねw


上記5冊を購入しました!
1冊をずっとするのではなく、飽きてきたら本を変えて勉強を進めていきますかね。さぼってたら到底終わりそうにないので、なるべく毎日勉強することを目標にがんばっていきます!


先にディープラーニング学習します。

お久しぶりです。

更新していなかった間に「Pythonではじめる機械学習」を一通り読み終えました。

およそ2カ月、学習していたわけですが、機械学習の種類や使用方法、評価方法等、おおまかに理解することができたかなと思います。

いずれ備忘録としてメモしたノートでも上げたいですね。まだまとまってないのでいつになるかはわかりませんw

 

さて、学習ロードマップ的に次は残りのSTEP2である、機械学習に使われているアルゴリズムを理解するための数学の学習です。

しかしながら、やはり数学の前にディープラーニングの学習がしたいなということでフライングにはなりますが、「ゼロから作るDeepLearning」の学習からすることにしました。

パラパラと軽く流し読みしていますが、記載されているコード量は「Pythonではじめる機械学習」よりもかなり少ない印象です。

しかし、その分数式が多い・・・
やはり数学の知識は必要か・・・

ひとまずはディープラーニングまでをおおまかに学習して数学の学習に入ろうと思います。


機械学習⑤

こんばんは。

もくもくと本書の学習を進め、
第3章 教師なし学習と前処理
第4章 データの表現と特徴量エンジニアリング
第5章 モデルの評価と改良 
まで終わりました。

教師なし学習の章では人物の顔画像を用いていろいろなアルゴリズムを試す形で学習を進めていきましたが、いやはや・・・

機械学習の手法は教師あり学習と教師なし学習で若干違いはあるものの、そこまで変わってはいないので、そこはいいのですが、ハイパーパラメータやアルゴリズムを変えて、人物の画像を変化させて、これはいい例、悪い例というのが、まだピンときません。

これらの技術を使って、顔認証とかしているんですよね。普通にすごいですよね。
そのレベルまで行くのにどれだけかかるやら・・・

精進、精進!

第4章、5章は機械学習のアルゴリズムの説明から離れ、機械学習アルゴリズムにかけるまでのデータの処理の仕方や機械学習にかけたデータの検証方法等々の説明でした。

この辺はだいぶ重要なんだろうな~と思いつつ、でもこれこそ実践で経験してレベルを上げるしかなさそうだと感じ、さらっと学習を終えました。

あと少しで丸々一冊の学習が終わりそうです。

次のステップへはやくいきたいので、残り少しがんばります。

 


機械学習④

こんばんは。

本書での教師あり学習の章を一通り学び終わりました。

理解度はまぁまぁといったところでしょうか。

ひとまずは前回の記事で上げたようなパターンでいろいろなアルゴリズムを試し、最適なパラメータであったり、モデルを見つけるといった方法は分かったのであとは実践すべしって感じじゃないですかね。

それぞれのアルゴリズムの深いところまでは理解できていませんが、そこもおいおいですね(笑)

ひとまずは機械学習やディープラーニングといった技術の全体を学びたいので、次に進みます!

教師あり学習の次は教師なし学習ですね!

こちらもコーディングパターンは大幅に変わりはしないと思いますので、ぼちぼち理解できたら次に進もうと思います!


機械学習③~教師あり学習の流れ~

こんばんは。

機械学習の教師あり学習の流れをまとめてみました。
大体こんな感じかなといった程度のものですが、私の備忘録的な意味でのっけて置きます。

以下簡単に解説。

①は必須のライブラリをインポートする。

②は機械学習に用いるデータなので、手作りでも別のところからcsvを読み込んできても、なんでもいいので、データを用意する。

③はデータを訓練データとテストデータに分割しているが、ここも他のやり方で分割する方法もある。
分割する目的は②で用意したデータ全てを使って機械学習した場合、正しく機能するのかがわからない。そのため、あらかじめ検証するためのデータを確保しておく。
train_test_splitメソッドでは以下のようにデータを分割してくれる。
X_train →75%の訓練データ
X_test   →75%の訓練データの正解ラベル
y_train →25%のテストデータ
y_test   →25%のテストデータの正解ラベル

④は機械学習アルゴリズムをインポートしている。

⑤は③で分割したデータを機械学習させている。

⑥は⑤での機械学習後のX_testとy_testを比較して、どのくらいの精度が出ているかを確認する。

⑦は実際の何かしら予測してほしいデータを機械学習後のデータと比較し、予測を行う。

 

ざっとこんな感じですか。
今後も間違いであったり、気付きがあれば、ちょくちょくこの記事を修正していこうと思います。


機械学習②

こんばんは。

Twitterのほうで投稿しましたが、おたふく風邪になってしまいました。
なんで今また!?子供のころもなったことあるらしいのに!?
年を重ねていくにつれて病気にかかりやすくなっている気がします。健康にはより一層気を付けて生活していかなくてはなりませんね。

機械学習の勉強をぼちぼちとしていますが、だんだんと教師あり学習のパターンというものがわかってきました!

ちなみに最近は「Pythonではじめる機械学習」が難しいのでもっと簡単に機械学習を学ぼうと「見て試して分かる機械学習アルゴリズムの仕組み 機械学習図鑑」という本も用いて学習しています(笑)

 

本書は機械学習のさわりの部分のみの解説書として教師あり学習、教師なし学習の仕組み、方法を紹介されています。そのためコードも項目ごとに1つのみの紹介となっていますが、それが逆にわかりやすいんです!

線形回帰、ロジスティック回帰等それぞれのアルゴリズムの項目で

  • 概要
  • アルゴリズム
  • 詳細

と説明の体裁も整っているため、読みやすいし分かりやすいです。

「Pythonではじめる機械学習」は各アルゴリズムに対し、詳しく書いてあるので、理解が追い付かないときがしばしばありました。
さわりだけ「機械学習図鑑」で学んでいると理解の助けになるので、活用しております。

近いうちに備忘録的な教師なし学習を行う上でやることを簡単にまとめたいなと思います。

それと機械学習を行う上でscikit-learnというライブラリについての説明は結構出てくるのですが、それ以外にnumpy やらpandasやらmatplotlibやらmglearnのライブラリも多用されています。しかし、これらの説明というものがほとんどされていません。
機械学習の理解が若干できるようになったので、これらについてもある程度分かっていたほうがいいかなと思い、Youtubeで学習しました。

↓numpy↓

↓pandas↓

↓matplotlib↓

前回も参考にさせてもらった方の動画なのですが、すごくわかりやすく、使い方を紹介されています。

全て完璧に覚えたわけではありませんが、これらの動画をちょくちょく見返して覚えていこうと思います。

mglearnのライブラリについては「Pythonではじめる機械学習」での学習でのみ使われるものなのかな?そうなのであればこのライブラリはとりあえず、無視でいこう!

ちょっとずつ理解できることが増えると勉強は楽しいです。体調が悪化しない程度にがんばります(笑)


JupyterLabを使ってみた

こんばんは。

本書の学習を進めております。

第2章より機械学習の中の教師あり学習のさまざまな方法について学習をしています。正直内容が全く頭に入ってこない為、コードをひたすら書いて実行をして、次々進めていっていました。

しかし、全く内容を理解せずに本書を進めていくことに意味があるのかと疑問を感じていました。

そこで試しにYoutubeで機械学習について調べてみたところ、動画コンテンツたくさんあるじゃないですか!

そして上記の動画については内容が「Pythonではじめる機械学習」に似ていることから、ものすご~く参考になりました。

むしろ、今まで理解せず打ち込んでいたコードの意味やら使い方等をすべて解説してくれているので、とてつもなく理解が進みました。

今まで一人で参考書読んだり、Webページを見たりして勉強していたので誰かが解説してくれることがこんなにもありがたいことだとは思いませんでした。
スクールに通うと独学の何倍も効率がいいとかよく聞きますけど、確かにそうかもしれませんね。

上記動画の中ではJupyterNotebookを使用し、コードを打ち込んでおりました。
「Pythonではじめる機械学習」でも薦めている方法ですが、見ていてすごく使い勝手が良さそうでした。

正直PyCharmで本書のコードを書いているとごちゃごちゃする上に実行するとグラフ表示とか過去のが一気に出てきてうっとうしくてたまらなかったです・・・

早速インストールしようとJupyterNotebookについて調べてみると現在はJupyterLabというものに置き換わりつつあるということで、JupyterLabを使うことにしました。
またAnacondaをインストールしていれば自動的にインストールされているとのことでしたので、自分のPCの中を見ていると確かにインストールされていました。

あとは起動して使い方を調べるだけで、すぐに使えるようになりました。

まだ操作に慣れない部分はありますが、過去の実行履歴も残るので見返せますし、なかなか使い勝手は良いと感じました。

しかし、PyCharmのようなコードのリファクタリングをぱぱっとやってくれる機能というのはないみたいなので、きれいなコードは自分で書かなければなりません。
私はすべてPyCharmのリファクタリングに頼っていたのでそこはちょっと不便に感じます(笑)

JupyterLabとYoutube動画の新たに2つのコンテンツを導入し、気持ち新たに勉強をしていこうと思います。

今まで終わった部分もすべてやり直し、一から再スタートですね!(笑)


機械学習①

こんばんは。

本書の学習をぼちぼちと進めております。

ひとまず第1章を終えたのですが、何をしているのか全く理解できません・・・

とりあえず書いてあるコードをすべて打ち込んで実行しているのですが、結果が同じになるのを確認しているだけの状態です・・・

そして本書ではコードをIN[番号]、OUT[番号]のように短く区切って都度結果を確認しているのですが、終わったコードを消していたら、載っているコードが動かなかったりして、そこで手が止まります。

このプロット図を表示するのにすごく時間がかかりました。
なぜだ・・・と考えていると、紹介が終わったコードを消したらだめなんだと気付きました。

上のコードの画像の32行~37行が本書のIN[23]のコードでそれだけではエラーとなります。

その前のIN[1]~IN[22]のコードが全体に入っていれば実行できました。

全て繋がっているのか!と本書の学習の目的とは違う部分で学びを得ました(笑)

と、まぁ冗談抜きでコードの意味は全く分からず、書いてある文章すらなんのこと?状態です。そもそも初めてみる関数やら、どの関数がどのライブラリの関数なのか、そもそもこれ関数なのか?みたいなのが多すぎて、もう処理しきれません。

分からなくても学習を進めていくうちに分かるようになるのか、ものすごく不安ですが、ひとまず第1章は終わりました。理解度?

0%です・・・(笑)

学習ロードマップのSTEP2の参考書でこの難しさか・・・
まぁC/C++を学習しているときも最初はこんな感じでしたし、ある時を境に理解できるようになった経験はあるので、本書もぼちぼちとのんびり進めていきますw


機械学習始めます。

こんばんは。

前回の記事で人工知能の概要まで学習を終えました。

現在私が参考にさせていただいている学習ロードマップでいくと、STEP1まで学習を終えたことになります。

https://qiita.com/tani_AI_Academy/items/ab2208e21a2215f8dfad
(上記サイト様の画像を引用させて頂いています)

理解度でいくと70%・・・65%くらいは理解できているかなと思っています!

STEP1を終了ということで、早速STEP2に入る為、「Pythonではじめる機械学習 scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎」を入手しました。

 

パラっと見てみたところ、ちょっと難しそうでしたが、Amazonのレビューを見ていても評価が高かったのと、学習ロードマップでも紹介されていたこともあるので、本書を学習していこうと思います。

まず始めに本書の学習では標準のPythonではインストールされていない以下のパッケージを入手するところからしなければなりません。

scikit-learn
Numpy
SciPy
matplotlib
pandas
IPython
mglearn

しかし、私はPythonの基礎学習時にライブラリパッケージのAnacondaをインストールしていた為、追加でインストールしなければならないのはmglearnのみで済みました。

本書での学習環境にはJupiter Notebookというものを使用するみたいですが、こちらはなんでもいいだろうということで基礎学習のときに使用していたPyCharmで学習をしていこうと思います。

ついに機械学習プログラミングへの一歩を踏み出します!

気合入れていきます!


スポンサーリンク
広告1
広告1