2019年10月一覧

機械学習④

こんばんは。

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

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

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

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

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

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

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


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

こんばんは。

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

以下簡単に解説。

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

②は機械学習に用いるデータなので、手作りでも別のところから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で学習をしていこうと思います。

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

気合入れていきます!


人工知能技術の概要④

今回も本書の内容を取り上げようと思います。これがラストです!

人工知能はまだまだ全然できていない

 人工知能の研究は1960年~と約60年ほどされてきているが、ディープラーニングが登場したのはここ数年の間であり、まだまだ人間のように本当の意味で物事を判断できる知能はできていない。しかし、今後ディープラーニングの「特徴表現を学習する」という技術を使って、いままでの人工知能の研究がもう一度なぞられるような発展を遂げていくことが予想される。

特徴表現学習ができるようになった先の世界観は社会や産業に大きく影響を与えるものになる。

 10~20年の間でなくなる職業と残る職業というリストもすでにある。短期的(5年以内)ではそれほど急激な変化は起きないだろうが、中期的(5~15年)で生産管理やデザインといった部分で人間の仕事がだいぶ変わってくる。長期的(15年以上先)になると人間でなければならない仕事以外の大部分は機械に置き換えられると予測されている。それは非常に大局的でサンプル数の少ない、難しい判断を伴う業務で、経営者や事業の責任者のような仕事。もうひとつは人間に接するインターフェースは人間の方がいいというようなセラピストやレストランの店員、営業のような仕事である。

 まとめとして短期から中期的には、データ分析や人工知能の知識・スキルを身に着けることは重要である。しかし長期的には人間しかできない大局的な判断をできるようになることや人間対人間の仕事に特化することがいいということになる。そして忘れてはならないのが人間と機械の協調である。人間とコンピュータの協調により、人間の創造性や能力がさらに引き出されることになるかもしれない。そうした社会では生産性が非常に上がり、労働時間が短くなるために、人間の「生き方」、「尊厳」、多様な価値観がますます重要視されるようになるのではないだろうか。

~以下、感想~

 人工知能技術はここから飛躍的に伸びると期待されているのですね。そして今後なくなる仕事が出てくるというのはニュースや記事等でよく目にするものですが、本書ではなくなる仕事と残る仕事ランキング25位まで紹介されていました。私の現在の職業はというと・・・載っていませんでしたw

 将来的に人間とコンピュータの協調により、人間の創造性や能力が引き出されることになるかもという文言には私も大いにそう思います。私が作りたいAIもそういったものですし!

 完璧なAIは必要ないのですが、ちょっとした相談や疑問や処理をぱぱっとやってくれたら余計なことに時間を取られることもないし、やりたいことだけに集中できる。そうなれば脳のリソースを最大限使えるようになるし、個人の生産性は飛躍的に高まると思うんです。

 今の私の仕事もそうですが、不必要な作業や業務が多すぎて、本来求められている仕事に集中できないときがあります。またその不必要な作業や業務に関して、調べなければならなかったり、うまくいかなかったりして、余計時間がかかるんですよね。そしてこういう場合過去に似たような事例があったりするんですよね。AIがこういったことに「過去にこんな事例があるよ」とか「こうしてみたら?」とか解決への道筋を立ててくれるだけでだいぶ違うと思います。常になんでも教えてくれる頼れる人が近くにいてくれて、その人との人間関係を気にしなくていいのであれば、それはもう最高ですよねw

今後のAI技術の発展に期待を込めて、私もその微力となれるようがんばりたいですね!


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