機械学習におけるpythonとは?

 2019.04.22  電算システムブログ編集部

「ゼミで python について勉強しています!」
最近、新卒採用の現場で学生と触れ合う機会がありますが、こんな事を話す学生が増えてきています。
機械学習 や AI の分野で圧倒的な地位を築き、多くの企業はもちろん、学生にも注目をされている python ですが、どのような言語なのかご存知でしょうか?
本稿では、Google Cloud Platform(GCP)でもよく扱われている python の基礎について、お話していきたいと思います。

pythonとは?

python とは、1991年に開発されたオープンソースでフリーのプログラミング言語です。「Youtube」や「Instagram」などが python で開発されており、 IEEEプログラミング言語ランキングでは2017年、2018年と python が1位を獲得し、最も人気のある言語の一つとなっています。

特徴としては、「可読性に優れていて初心者でも習得しやすい」「ライブラリがとても豊富である」ことがあげられます。
ちなみに、”ライブラリ”とは便利なプログラムの部品の集まりのことです。これらを活用すれば、効率よくプログラムを書くことができるというわけです。
インデント(字下げ)によって可読性が高くなるように設計されており、他の言語と比べても覚える構文が少なく初心者でもすぐに覚えることができます。そして標準ライブラリ、外部ライブラリがとても豊富にあることによって、「シンプル且つ短い記述で、複雑で高度な処理」を実現できるようになっています。
また、現在バージョン2と3の2系統存在しており、執筆時点の最新は3.7.3で、2020年に python 2系はサポート終了となります。

なぜpythonが注目されているのか?

python が注目されている大きな要因としては、機械学習 や ディープラーニング、データ分析 の分野で利用できることがあげられます。
数値計算に強いといった特徴があること、機械学習 や 数値計算用のライブラリも揃えていることから、データ分析 や 機械学習 で使用する統計処理や高度な数値計算に対して強みを発揮することができます。
また、python はライブラリが豊富であることから、Webアプリケーション、Webゲーム、組み込みアプリケーション、デスクトップアプリケーションと様々なアプリケーション開発を簡単に行うことができます。

クラウドの活用で膨大なデータを扱うことができるようになり、ますます データ分析 や 機械学習 に注目が集まる中、データ分析 や 機械学習 に必要とされる数値計算が得意であり、開発がしやすいということが python が注目されている理由と言えるでしょう。

AI、機械学習とpythonの関係性

python と AI、機械学習 の関係についてお話をさせて頂きます。結論から入ってしまうと分かりにくいので、順を追ってご説明させて頂きます。
まず初めに、「AI(人工知能)」と聞くと何を思い浮かべますでしょうか?「自動運転」や「画像認識」など、人の代わりに機械が自動で行ってくれるもの、といったイメージではないでしょうか。
その「AI」を実現しているのは機械なので、中身はプログラムです。そのプログラムに「機械学習」を利用することで自動運転や画像認識が実現できます。
次に、従来のプログラムと機械学習の違いについてお話させて頂きます。
一言で言うと、”人”が何らかのルールに従ってでプログラムを組むか、”機械”が自身で学習してプログラムを組むかの違いとなります。
例えば、画像が猫か犬かを判断するプログラムを人が決めたルールに従って組むとすると、「もし耳が三角で目がつり目でひげがあったら猫、それ以外は犬」といったように特徴一つ一つを人が定義してあげる必要があります。ですが耳が三角である犬もいるように、種類によって様々な特徴があるのでそれを細かくルール付けしていくことは現実的ではありません。
一方、機械学習 は膨大なデータから機械自ら法則性を見つけて推測します。この「自ら法則性を見つける」ための手法は「教師なし学習」「教師あり学習」「強化学習」など様々な種類がありますが、どれもこれも「数値計算の方法」のことを指しています。猫の画像データと犬の画像データを元に猫の特徴と犬の特徴を抽出させる計算処理(この場合は教師あり学習)を行い、その特徴抽出の結果で猫か犬かを推測することが可能となります。
このように 機械学習 とは、様々な数値計算の手法を用いて自ら法則性を生み出すことができます。この「数値計算の手法」を取り揃えているのが python なのです。python のライブラリの一つである「tensorflow」は様々な機械学習の手法を簡単に実装することが可能です。

pythonは機械学習をする上で必須

いかがでしたでしょうか。
以上をまとめると python とは、

  • 初心者にも直感的に分かりやすいプログラミング言語
  • ライブラリが豊富で容易に開発が可能
  • 機械学習、データ分析 の分野で注目・利用されている
  • 機械学習 とは「数値計算の手法」である
  • 機械学習 をするための計算処理が簡単に実装できるのは python !!

となります。

クラウドの発展、浸透によって 機械学習 や データ分析 は今後増々注目されていくことが予想できます。そんな現代において、python は必須のプログラミング言語になっていくでしょう。GCP や G Suite でも、 python を利用して データ分析 や 機械学習 ができる環境が取り揃えてあります。ぜひこの機会に試してみてはいかがでしょうか。

お問い合わせ

RELATED POST関連記事


RECENT POST「Google Cloud Platform」の最新記事


機械学習におけるpythonとは?
よくわかるGSuite無料セミナー