Python

初めてのPythonと機械学習【初心者向け】

こんにちは。taka です。

突然ですが
AI (人工知能)ML (機械学習)deep learning (深層学習)
というキーワードを聞いて、あなたはどんなイメージがありますか?

当時の僕は
“プログラミングの達人だけが到達できる頂(いただき)”
例えるならば、IT業界のエベレストのようなイメージを持っていました。

新卒からずっと IT業界で働いて早9年。

プログラミングは大学で勉強したものの
完全文系脳である僕は、あることがきっかけで

プログラミングは向いてない。この世界で競争するのはやめよう…

ある種のプログラミングアレルギーのような状態になってしまった。
(なぜそう思ったかは、プロフィールを読んでもらえたらわかります)

IT業界にいても、プログラミングに興味をない人だっているはずだ!
プログラミングがわからなくても、他の個性を伸ばすんだ!

と思いながらも、全く知らないとバカにされちゃうので、

つまりそれは XXX みたいなものですか?

とプログラミング用語を使って質問されても、

そうそう!同じ意味ですよ(知ったかぶり)

とあたかも知っているように返事をして、後で、すぐにググって意味を理解する。

そんな風に、なんとか IT 業界を渡り歩いてきました(笑)

ただ、自分でも本当はわかっていたんです。
プログラミング初心者のまま、渡り歩けるそんな甘い業界じゃないことを。

だから、独学でもいいのでプログラミングをはじめようと思って、
C# や Javascript に手を出してみるのですが進まない。

IT 劣等生のような状態がずっと続いていたわけです。

知識ゼロでも簡単にはじめられた Python のすごさ

こんなプログラミング素人にも、Python は優しく寄り添ってくれました。

もちろん初めは、他のプログラミング言語と同じように独学スタートでしたが、
Python だけは継続して、興味をもって続けています。

最初のきっかけは不純でした。
流行りの機械学習ができるようになったら、最強じゃないか!?
「最強」や「無敵」という言葉に弱いのが男なんでしょうか(笑)

でもきっかけなんてなんでもいいんです。興味が続くことが大事

プログラミングをつかって図を描画したことがない素人が、
たった3日の学習で、こんな感じのグラフがつくれちゃったんです。

matplotlib-sample

今では、Python がプログラミングアレルギーを治してくれたおかげで、
HTML や CSS、Javascript に Ruby と Web 系の言語も習得を始めました。

「面白そう!」「あんなことやってみたい!」があるかないかでは
モチベーションと集中力はまったく異なりますね。

だって、ミレニアル世代だから(笑)

機械学習とは何か?勉強する価値はあるの?

すこし前置きが長くなってしまいました。
そもそも機械学習とは何でしょうか?

入門書は世の中に溢れているけれど、なかなか理解しづらく、難しいイメージですね。勉強を進めると確かにちょっと難しい。

僕なりに解釈すると、

人間が自然と様々な情報から学習していくプロセスと同じように、機械が自ら学習をして、どんどん賢く(時にバカに)なり、人間と同じもしくはそれ以上の分析や情報処理ができるようになる。

というのが機械学習だと考えます。

アーサー・サミュエルというアメリカの計算機科学者は

明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野

という言葉を残していて、とてもわかりやすいです。

簡単に社員を雇うことが難しい時代において、
社員 1人あたりの生産性を高めることがビジネスでは必須になっています。

その状況で、人と同じパフォーマンスを発揮することができ、
かつ、安定して結果を出してくれるようなシステムがもしあるとしたら…

きみ!こんな人工知能、いったいどこから!?
パイソーン!(ビズ○ーチ風に)

そう考える経営者が増えているからこそ
人工知能や機械学習ができるエンジニアのニーズは高まり続けているんでしょう。

これからまだまだ期待できそうな分野ですね。
今からでも、機械学習、AI (人工知能) の分野を Python で学習して
即戦力になる準備をすることは十分価値がありそうです。

ではなぜ Python なのか?

機械学習、人工知能を始める上で、必ず Python というプログラミング言語の名前が挙がります。

データ分析のエリアにおいては  R というプログラミング言語が人気でしたが最近では機能差もほぼなくなってきているようで、Python がどんどん巻き返しをしているようです。

実際に、データサイエンスを10年以上やっていて、Rで分析しているスーパーエンジニアの方も、別プロジェクトで Python を使い始めて

Python をもっと早くから使っていればよかった..

..とコメントしていました。(ここで Python への確信を深めました)

また、Facebook や Instagram、Youtube などの有名なシステムは、
すべてPython で作られているというから驚きです。

では、Python は何がそんなにいいのでしょうか?
実際に僕が Python に触れて思うこととしてはこんな感じです。

  • Python は文法がわかりやすくシンプルである
  • UdemyやAidemy などの学習教材やサンプルコードが豊富
  • PyCharm や Anaconda を使えば、誰でも簡単に始められる
  • ライブラリが充実しており簡単なステップで複雑なことができる

いやいや、十分過ぎです Python さん。

これだけプログラミング初心者にも優しく
業界全体も盛り上がっている Python なら、はじめなきゃ損!
プログラミング未経験でも理解がしやすく、できることは幅広く強力。
スタートにはもってこいの言語です。

こんな Python に魅せられた僕ですが、これからの記事でもう少し具体的に、どうやって環境を整えるか、どんな感じでプログラミングを進めていくかを書こうと思います。

今回は雑談の多い内容でしたが、次回からPython開発環境を構築していきましょう。

それでは!