機械学習を理解するために Pythonを独学で学ぶ

Pythonを独学で学ぶ プログラミング / データサイエンス

この記事では、プログラミング初心者が人工知能を学ぶために、まず「 Pythonを独学で学ぶ 」ことを目的とした記事です。

はじめは「Pythonって何? 蛇?」というレベルでしたが、人工知能を学ぶ上でどのようにしてこの「Python」に着目したか、その背景から紹介していきます。

プログラミングが全くの初心者・Excel VBAは使ったことがあるくらいの人にとっては、人工知能の勉強を始めようと思い立っても、何から手をつけていいのかわかりません。人工知能を独学で学ぶ という志を持った人で、人工知能が何故近年注目を浴びているのか、どのようなステップで勉強をするべきなのかを知りたい人は以下の記事を読んでみてください。

人工知能を独学で学ぶ [あなたの興味のあるAIを見つけよう!]
「人工知能(AI)」、もはや耳にしない日はないほどAIが世の中に浸透してきました。私たちの暮らしだけでなく、産業界でもAIの導入の流れが止まりません。AIによって生活が豊かで便利になる一方で、AIに職が奪われてしまう可能性もあります。 ...

 

PythonはDeep Learningと機械学習に強い

前回の記事から、私が学んだのは「現在のAI革命の背景には、Deep Learningがある」ということと、「Deep Learningの体系は機械学習に分類される」ということでした。

つまり、近年の人工知能ブームはこのDeep Learningが急速に発展したものであり、その根本には機械学習という分野の知識を獲得することが必要だと考えました。

「Python」とは

Pythonを独学で学ぶ

前回の記事の中で多くみかけた言葉に「Python」がありました。「Python」について調べてみると、

Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計されており、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある

Wikipediaより

Pythonというのは、プログラミング言語の一つです。人に向き不向きがあるように、プログラミング言語にも人工知能(機械学習)に適したものとそうでないものがあるようです。

プログラミング言語には、他に「JavaScript, Visual Basic, C++」等を聞いたことがありましたが、Pythonというプログラミング言語は初めて聞きました。

調べてみるとPythonの特徴として、以下のような特徴が挙げられておりました。

  • Pythonはほかの言語に比べて覚えなければならないことが格段に少ない
  • 本格的なソフトウェアの作成に使える(GoogleやNASAの内部で利用されている)
  • コードもシンプルでエンジニアにやさしいコードでかつ、様々なサービスに利用されているために学習しやすく、また実践で使いやすい
  • 「機械学習」・「データ分析」向けのライブラリーが豊富にある

機械学習にも使われており、シンプルで現在も様々な分野で使われているばかりか、人工知能ブームによる将来性も期待されており、近年人気のプログラミング言語です。

また、画像認識・自然言語処理や、Amazonやメルカリなどで目にすることの多いレコメンド機能にも使われております。

ということで、「Python」というプログラミング言語から人工知能に関する勉強方法を調べてみました。

Pythonを独学で学ぶ 理論学習と実践学習

新しい知識・スキルを身に着けるうえで心がけているのは、インプットとアウトプットの両方をバランスよく行うコト、そして楽しみながら持続性を持って学習できることです。

ここでは、実際に私が選んだ「初心者が始められる」学習方法を紹介します。

インプット:理論の学習 -書籍・学習サイト

私がPython学習のために一番初めに選んだ導入本は『いちばんやさしいPythonスタートブック』です。

この書籍は複数の記事でお勧めされていた本で、プログラミング未経験の人の導入に向いていると評価されておりました。

確かに、いきなりPythonのプログラミングの組み方や計算方法に入るのでなく、Pythonのインストール方法から、快適な使用のための環境設定など、プログラミンソフトを触ったことのない本当の意味での初心者にも優しい構成となっております。

とは言え、本当に基礎的な部分から始まっているので人によっては内容が薄すぎるように感じられてしまいます。

そこで、本書が導入に向いているかの一つの判断基準として、コマンドプロンプト(CUI)を使ったことがあるかどうかを挙げます。

Windowsでは、[スタートポタンから検索→”cmd”と入力]すると表示される上記のような画面です(写真は厳密にはコマンドプロンプトではありませんが)。

もしも、”コマンドプロンプト”と言われてもピンと来ない場合は、この書籍から始めることをお勧めします。

プログラミングが初めてで、プログラミングの基礎的な考え方について具体例を交えながら学びたいという人にもお勧めです。

その他にも、Pythonの無料学習サイトが多数でておりそれらの紹介記事も多く見かけることができる。しかし、それらのサイトの優劣は、完全な初心者には見分けが付きにくい。

私も悩みましたが結局、多くの人の編集やチェックを経て完成した「書籍」を信頼して、上記の本を買いました。数千円の初期投資で信頼できる土台作りをしてから、各学習サイト等を比較して自分にあったものを選択していければいいかな、と思います。

アウトプット:楽しみながら書いてみるー学習サイト・ゲーム

楽しみながら勉強するなら、ゲーム形式のコンテンツが打ってつけです。ここでは、Pythonを学習できるゲームプログラムを示しました。

英語サイト・ゲーム

以下のサイト・ゲームは海外で作成されたもので、基本的には英語です。ただし、CODE COMBATは日本語対応が進んでおり、日英混じった表記が見られます。

CODE COMBAT

CodinGame

ChekiO

日本語サイト・ゲーム

paiza

e-Learningの他にもゲームや転職について等様々な学習機能がある。課題クリアで貰えるポイントが転職時の評価に使えるらしいです。

paizaのゲームの中には、もし次の常駐先が女子エンジニアばかりだったらコードガールコレクション等があり、日本語で学びながら遊べます。

これらのゲーム・学習サイトの中でも特に初心者にお勧めしたいのが、CODECOMBATpaizaのe-Learningです。

paizaのe-learningは一講座当たり2~3分で、動画による講義と同じ画面にある入力画面でプログラミングの実践が出来ます。登録無料で受講できるために、自分の学習方法に適しているか試しやすいです。

paizaの無料 e ラーニング講座 でPython学習[人工知能を独学で学ぶ(5)]
この記事は Python を独学で勝つ無料で基礎レベルの知識を習得したいと思う人対象としております。特に以下のような人にとっては以下に紹介するpaizaの無料 e ラーニング講座 は有力な勉強方法の一つと言えます。 日本語で学習し...

初心者にお勧め RPG風に遊びながら学べる CODE COMBAT

CODE COMBATはRPG系であり、他の英語系ゲームと比較してBGMや、効果音SEも本格的で一番ゲームとしての完成度が高いです。

初心者にお勧めの理由として、以下の点が挙げられます。

  • 基本無料でプレイ可能
  • 初心者に優しいコードの入力ガイド
  • 初心者に優しいヒント

日本語でヒントがかかれているためわかりやすいです。ヒントが一部英語の部分もありますがイラストも示されているので、問題なく進めます。

最初のステージをクリアした後も、このように丁寧なガイドが続くので初心者でも安心して上達していくことができます。

このCODE COMBATでは、RPG調ですがプログラミングで重要な「if文 (条件分岐)」や「for文 (繰り返し処理)」について重点的に学ぶことができます。

コーディングも0から記述するのでなく、前半部分では必要な箇所のみ記述していくような形となっているため初心者でも取り組みやすいです。

CODE COMBATの更に詳しい内容は以下の記事で紹介しております!

CODE COMBAT で楽しくプログラミング学習[人工知能を独学で学ぶ(4)]
前回は、「Python」に関する勉強方法として書籍を用いて基礎をしっかりと抑える学習方法とゲームを用いて楽しく実践しながら学ぶ方法をまとめました。複数ある無料学習ゲーム・サイトの中でもプログラミング未経験者に最もお勧めするサイトとして CO...

最後に

今回は、「Python」という入口を選択して人工知能に関する勉強方法を調べてみました。本当にプログラミング未経験の私は導入に、『Pythonスタートブック いちばんやさしいパイソンの本/バージョン3に完全対応』を選びました。また、楽しく学べるアウトプット方法としては、CODECOMBATを選びました。

Pythonのインストール方法から、快適な使用のための環境設定など、プログラミンソフトを触ったことのない本当の意味での初心者にも優しい構成となっており順調に勉強を続けられております。

次回は、この『Pythonスタートブック』を学ぶ中でつまずいた点、また「人工知能」「機械学習」の習得を目指す方向けの、独自のアプローチ等を紹介していきたいと思います。インプットを進めつつ、アウトプットとしてゲームの方も紹介できるように進めていきます。

Jupyter notebook がPython学習におすすめ[人工知能を独学で学ぶ(3)]
前回、プログラミング未経験者の私がPythonを独学で学ぶための導入書に、『いちばんやさしいPythonスタートブック』(以下『スタートブック』)を選びました。今回は『Pythonスタートブック』のインストラクション通りに読み進めるのでなく...

コメント

タイトルとURLをコピーしました