ステキな4コマ

ごきげんよう!4コマも描けて機械学習も分かる超人、ダンディの美麗Blogである、

Pythonセミナーに行ってきた 1

ごきげんよう!

今回は、Pythonのセミナーの話。ダンディ様はAIに興味を持ったので、初心者向けのPythonセミナーに行ってきたのだ!そこで、メモも兼ねてその話をしようと思う。ちなみに今回、説明だけでセミナーの話にたどり着いていない。

f:id:joker-dandy-joker:20190623080523j:plain 

そもそもPythonってなんだと言う話からなるべく丁寧に説明するので、興味を持ってもらえると嬉しい。美しい私が、美しく説明するぞ!今回はまず「一体何の話をしているのかがわかる」感覚まで到達させるつもりだ。というか今のわたしにはそれが限界である。ExcelやWordが使えれば十分なはず!例として、ここ数日の私のTwitterと一緒に見ていこう。

英語が出てくると、一体サービス名なのか概念の名前のか言語の名前なのか、分からなくなってくるよな!ここから、分からない単語を一つずつなくしてみよう!まずAIか。

 

AI(Artificial Intelligence = 人工知能)

AIは「人間のはたらきを機械で再現したもの」とざっくり言える。また、実際に搭載されたモノを指してAIという場合もある。たとえばドラえもんもAIである。厳密に表現しようとすれば「ドラえもんという筐体にAIが搭載されている」。AIはコーディングで見えるが、実際に目には見えない。楽譜は目に見えるけど、奏でられた音楽は目に見えないのと同じか。

今は流行語のようになっているな。数年前もビッグデータと騒がれていたが、ビッグデータを意味のある形に加工してくれるのがAI(人工知能)である。分析も分類も何もしなければビッグデータはただの大ゴミである。

また、AIと機械学習はほぼセットなのである。AIの人間のはたらきを再現するに当たり、機械学習は不可欠である。しかし、機械学習の中身にいくと複雑になりすぎるので、今回はさらりと流そう。

 

プログラミング言語

今回のTwitterで出てくるものでは、PythonとJavaとVBAがプログラミング言語に含まれる。プログラミング言語とは、機械語(010101...)を人間がわかりやすくした形である。

f:id:joker-dandy-joker:20190623075517j:plain

例えば、はてなブログのアプリには「投稿する」ボタンがあり、ボタンを押すと「今書いた記事をブログに投稿してくれ」とアプリに命令することになる。アプリの中の中を覗くと、そういう命令はすべて「0」と「1」で構成されている。それを読むのは困難なので、人間が読み書きしやすいようにしたのがプログラミング言語である。なぜプログラミング言語で書いたものを、01しか読めない機械が理解できるのかはまたの機会に。

プログラミング言語は1種類ではない。どのような機械(OS・アプリ)で動くか、そして機械の用途によって変わってくる。

 

Python

Pythonは、プログラミング言語の一種。なぜAIにPythonが使われているのかと言うと、Pythonが、画像処理などで必要なマトリクスでの処理を得意としているためである。マトリクスの処理とは、たとえば画像は300✕300の点の集合で構成されており、この300✕300を処理することである。画像を描画・分析するAIなら、機械学習で数千万の画像を読み込むこともある。(このメモには、間違いがあるかも。AIとPytyonの相性がいい理由は1つではない。また、機械学習のすべてのプロセスを最初から最後までPythonでやっているわけではないらしい。が、複雑になるので割愛)

 

Java

Javaは、Pythonと同じく、プログラミング言語である。Javaは何ができるかと言うと、OSに依存しないという特徴を持っている。つまり、Windowsの機械でもMacの機械でも、Javaで書かれたプログラムのアプリは同じ動きをしてくれるのである。逆に、Windowsでしか動作しない前提のプログラムは、Javaを使ううまみがあまりないのである(社内用のシステムで全社Windowsを導入の場合など)。そのような場合は、Windowsで動作するC#などで書かれる。TwitterなどはJavaで書かれているらしい。たしかに世界中から様々なOSでアクセスしてきそうである。

f:id:joker-dandy-joker:20190623080201j:plain

OS(Operating System)

OSが出てきたので、少し説明。OSとは、コンピュータの全体を管理するシステムである。例えばWindowsやMacなどがあるが、Linuxというものもインフラ系では使うことも。OSが違えば、WindowsのExcelやWordで作ったファイルがMacで上手く読めないこともあるだろう。OSがないとどうなるかというと、黒画面に白字の無愛想な画面が立ち上がってくる。コンピュータの素材の味だ。

 

VBA(Visual Basic for Applications)

 VBAは、MicrosoftOffice(つまりWord、Excelなど)を便利にするためのプログラミング言語である。「エクセルでマクロ(制御のこと)を組む」という言葉を聞いたことがあるだろうか。マクロを組めば、つまらんこと(毎月の定形業務)を自動化できる(あるファイルの全シートC列だけを別ファイルにまとめるなど)。自動化できる仕組みをマクロと言い、マクロの中身はVBAという言語で書かれているのだ。開発環境はWordやExcelなので、それらがあればすぐコーディングできる。(開発環境については次回以降で)

 

 記事にそれなりにボリュームが出てきたので、いったんここまでにしよう!続きは次回。この記事は成長の可能性を大いに秘めているぞ!(つまり内容に不足や間違いがあれば随時修正・追加していくぞ!)

それではまた、ごきげんよう!