LoginSignup
5

More than 3 years have passed since last update.

非エンジニアのデザイナーがPythonや機械学習を覚えるためにまずやったこと

Last updated at Posted at 2019-08-18

この記事について

主にお盆休みを利用して非エンジニアのデザイナーが1からPythonや機械学習、統計学を勉強を行いました。Pythonのパの字も、機械学習のきの字も分かっていなかった状態から概要を理解して、次にどのようなアクションを起こして行けば良いのか自ら判断できるようになるまでに行なったことや現在行なっていることを紹介します。

対象

  • プログラミングなんて無理だけどできるようになりたい
  • 機械学習や統計学に興味があるけど何から始めたら良いのか分からない
  • 機械学習・統計学を理解して実務に生かしたい
  • Pythonを覚えて実務に生かしたい

学習を始めた目的

現在、所属企業にてSQL叩いたりGoogle Analyticsを見ながらグロース施策を考案し、デザインから簡単な実装、効果計測を行なっています。

そのような中、今後もグロース施策を進めていく上でより確率の高く・飛距離が長い(インパクトが大きい)施策を練るためにはデータ分析のスキルを高める必要がありそうなことと、個人的にも高めたいという欲が出てきます。

そこで、データ分析系の知識だけでなくアウトプットスキル自体も身につけようと思い、データを扱うためのライブラリが豊富なPythonに手をつけ始めました。

また、身につけたスキルを持ってデータビジュアライゼーションやOpenFrameworksへの応用なども出来るようになれたら良いなという淡い期待も持ち合わせています。

個人的なバックボーン

ちなみに非エンジニアと言えど以下のバックボーンは持ち合わせています。

  • 高専の電気・電子工学科の出身で基礎的な数学の知識があり、元々は数学が好き
  • 黒い画面に抵抗が少ない、環境構築はある程度できる
  • HTML,CSS,Git,SQLの基礎知識、Wordpressを用いたWebサイト実装の経験あり
  • オブジェクト指向は何となく概要を知っている

やったこと その1 - Progateで概要把握

まずはPythonの概要を掴むならProgateだなと思い、Pythonの学習コースVまでを修了させます。
ここでは以下のことを学びました。

1. Pythonのお作法・概要
2. 関数・モジュールに関して
3. クラスやインスタンス、継承、オーバーライドに関して

大枠を掴んだおかげで簡素なPythonプログラミングを書けるようになりました。全部で5~6時間くらいで終わったのでProgateはコスパが本当に良いと思います。

やったこと その2 - 数学の復習・機械学習の概要把握

次に高専を卒業してから8年間ほどまともな数学に触れていなかったため、数学の知識を身に付ける&機械学習の概要を掴むために以下の本を読みました。
51dYVqu6B6L._SX351_BO1,204,203,200_.jpg
最短コースでわかる ディープラーニングの数学 - amazon

機械学習を理解するにあたり必要な知識やその考え方が丁寧に順序よく説明されているため、時間はかかったものの理解が深まりました。
実践編の回帰分析やロジスティック回帰モデルあたりからはPythonでの実装が紹介されていますが、この時点ではPythonに関する理解は諦めて概要を理解するのに努めました。

やったこと その3 - 機械学習の解像度をさらに上げる

ディープラーニングの概要を掴んだ後は実装も絡めながら、先ほどの書籍では理解できなかった部分や、解像度を引き上げるためにゼロから作る Deep Learninngにも手をつけます。
download.jpg
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

Pythonを実際に書いていく事で機械学習とPythonに関する理解が深まることのを実感できました。特に誤差逆伝播や畳み込み演算に関しての解像度が非常に上がるとともに、実務で扱う上でどのようなことを考慮しないといけないのか知れたのも大きかったです。層を重ねる理由も知ることができたため、この世界への興味がさらに深まりました。

2~3年前に出版された書籍なので少し内容が古い可能性があるものの知って損することはほぼ無かったかなと思っています。

やっていること その1 - Pythonの深掘り

以上の3つをやり終えた後は実務で使えるレベルに持っていくためによりPythonの基礎を固める必要があることを感じました。そこで以下の書籍の学習を進めています。

1. 入門 Python 3

Progateでは把握できていない部分の学習や逆引き的な利用のために入門 Python 3を購入して、気になったところを掻い摘んで現在は読んでいます。入門書ということもあり分かりやすい内容になっているなという印象です。
51+xv65qdBL._SX352_BO1,204,203,200_.jpg

2.Pythonから始める数学入門

Python3入門と合わせてPythonからはじめる数学入門も購入をして読み進めています。数学入門ということもあり簡素なプログラミングが紹介されているのと、章ごとに問題も用意されているので自ら考えてプログラミングに落とし込むという訓練にもなるかと思ったのが購入理由です。
51EOjTDqZPL._SX352_BO1,204,203,200_.jpg

3.Pythonによるデータ分析入門

そしてもう一つがPythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理も購入をしました。Python学習を進めている中で割とNumPyやmatplotlib、pandasなどのライブラリを読み込む記述がなされているのですが、どうもここを理解する必要性があるなと感じたこと。また、機械学習云々の先にデータの処理と可視化ができないと話しにならないし、どちらかというとそのスキルを持ち合わせるのが優先順位が高いと判断してこの書籍を選びました。
download.jpg

やっていること その2 - 統計学の深掘り

いくらデータの処理が上手くできるようになっても、統計学的な知識が浅いままでは間違ったデータを選出し、間違った結果で施策を行なってしまうだけでなく、データ選出すらもままならないと考えて以下の書籍を読み進めています。
download-1.jpg
統計学が最強の学問である[実践編]

5103drH4FRL._SX350_BO1,204,203,200_.jpg
確率思考の戦略論 USJでも実証された数学マーケティングの力

まとめ

以上、機械学習とPythonの学習のためにやったこととやっていることの紹介をさせていただきました。自分と同じような境遇の方の参考になれたら幸いです。

個人的な感想としては機械学習はあれですが、お盆明けには実務で使えるようになれると良いなと思いながら始めました。しかしながら、割と知らないといけないことが多くもう少し時間がかかりそうなのでガッカリしつつも、少しずつ前に進んでいる感覚があり、コツコツと楽しくやっていけそうだなと思っています。
一日でも早くパイソニスタ&データ分析ができる人間になれるよう頑張って行きたいと思いますので、この記事を読んだ方で何かオススメの記事や書籍があったら紹介していただけると嬉しいです。

以上、読んでいただきありがとうございました👋

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5