Coding Common Raven

イギリスの文系院卒(修士)のワタリガラスによるプログラミング挑戦記録

このブログについてとプログラミング関連の学習歴

f:id:commonraven2019:20190504063623j:plain

はじめに

このブログは、文系出身の筆者がMinicondaの環境で主にPython 3を用いた様々なプログラミングに挑戦する記録です。初学者がCoursera Deep Learning Specializationからの学習内容の再現性を意識して、そこで扱っているパッケージやコードを中心にプログラミングにチャレンジするので、新味がない記事もあると予想されます。その点から、「プログラミングに関する知識を記録・共有するためのサービス」であるQiitaにて、ガイドラインで望ましいとされる「投稿者以外の人にとっても価値のある記事」を書くことは難しいかと考えます。しかし、筆者の日本語での備忘録もくしは公開学習メモという性格が強くとも、ブログの投稿内容や知識が誰かの役に立つことがあればとは思うので、はてなブログで記事を書いていきます。

また、ブログ名の通り、このブログを書いているのはあくまでも日本と欧州とをふらふらしているワタリガラスです。誤りなども多く見受けられるかと思います。コメントなどでご助言や間違いのご指摘をいただければ大変嬉しいです。

きっかけ

機械学習やその周辺のプログラミング技術を事業に取り入れることのハードルが随分と低くなり、近い将来にはどの領域の研究者にとってもOfficeソフトやEndnote等の文献管理ソフトの使用スキルのようにツールとして一般化するのではないでしょうか。その時がきた場合に遅れをとらないように、筆者もPython 3などの使用スキルや機械学習の基礎知識だけでも押さえておきたいです。新元号令和の時代の初めに合わせて、新しいチャレンジをしようと思い立ったことがきっかけです。自分の分野の研究に機械学習を研究方法やツールとして取り入れたい、もしくはプログラミングで何か面白いことがしたいと考えています。また、ブログ投稿のネタを用意するということを、コードを書いてプログラミングを継続的に行うための動機付けにしようと思いました。Kaggleへの挑戦や、一つの目標として文系の筆者がPyConのような情報交換会やカンファレンスにも参加して発表できれば良いなとも考えています。もちろん、このブログに書くスキルを研究や仕事につなげることができれば理想的だなと思います。

この記事について

ここでは、このブログの最初の記事として、チャレンジ開始以前の筆者の事前知識を示すため、プログラミング関連の学習歴を簡単にまとめます。筆者自身が何を勉強したか後で確認しやすいように、随時更新して書きとめておきます。無料の学習教材を利用して時間をかけない勉強法を行うことが多いです。

これまでの学習歴(随時更新)

大学院進学以前
  • 義務教育期間中にHTMLでウェブページなどを作成した経験があり、C, Java, JavaScript, PHPの基礎もふれたことがあるのでプログラミングに抵抗はないが、ある程度のスペックのパソコンとサーバー管理などが必要で面倒だと考えていた。

   

  • 高校・大学と文系を選択したが、高校時代の数学担当教員が「文系の範囲だけでは物足りないだろうし、将来何かの役に立てば」と、大学センターで十分な得点を取れるだけの数IIIと数C、旧課程では高校数学に含まれていた範囲の大学数学の初歩を、放課後や長期休業中に教えてくださった。(機械学習には数学の予備知識が必要だと思うので、この期間の学習効果は大きいのではないだろうか。先生ありがとう。)

  • 英語圏における大学院の出願要件を満たす英語力がある。(大学院修了後で考えると、英語での学位論文執筆や学会発表、英語のみの職場で仕事ができる程度の英語運用能力がある。)

大学院在学中
  • イングランドにある大学大学院の修士課程(文系)にて、量的分析についての学習の一環で、STATAの使い方などを勉強した際に、統計学関連の数学を一通り復習。
  • 社会科学分野の若手研究者向け研修に参加し、Rの研究への活用やプログラミングを中級レベル程度まで習得。(RStudioも好んで使っていた。)
大学院修了後 (特に2018年12月末頃から)
  • CourseraでStanford Universityが提供する人気コースのMachine Learningに聴講のみのAuditモードで登録して、機械学習の基礎を勉強(2018年12月末)。
  • 大学や研究者がYouTube上で公開している機械学習やプログラミング関連の動画を複数視聴(2019年1月中と3月中)。
  •  海外のあまり有名ではない全て無料のMOOCsで、復習と学習成果の確認を兼ねてPython 3, Ruby, Java, JavaScript, C, C++, C#, PHP, Swift 4, CSS, HTML, SQL, jQueryの各コースを受講し、修了(2019年2月上旬から中旬)。
  • Google Developer JapanのML Study Jams: Machine Learning初心者向けトレーニングに参加し、Google Cloud Platform(GCP)を利用して機械学習の基礎などを習得するQwiklabのコースを修了(2018年2月下旬)。
  • Courseraでdeeplearning.aiが提供するDeep Learning Specializationの5コース全てを受講登録から4日か5日で修了。学習成果の確認のため、できるだけ早く修了できるようチャレンジしました。より深めたい項目などはノートも取ったので、初学者の筆者にとっては大変良い勉強になりました(2019年4月中旬)。
  • ML Study Jams: Machine Learning中級者向けトレーニングに参加してQwiklabのコースを修了(2018年4月下旬)。
  • Anacondaで仮想環境の構築を試みも、パソコンのスペックがあまり高くないので、Minicondaでの環境に落ち着く(2018年4月下旬)。

このように筆者は主に英語での学習教材やオンラインコースを活用してきましたが、最近になって「世界最大級のオンライン学習プラットフォーム Udemy」のように日本語で無料もしくは低コストかつ高品質なコースを提供するサービスも増えてきたように思えます。日本語での学習をする場合、取り入れても良いかもしれません。

 免責事項

Coding Common Ravenは、記載されている情報の正確さについて可能な限り努力していますが、その背育成や適切性に問題がある場合、告知なしに情報を変更・削除することがございます。

当ブログの情報を用いて行う一切の行為、被った損害・損失に対しては、一切の責任を負いかねます。ご了承ください。

プライバシーポリシーについて

Coding Common Ravenは、「個人情報の保護に関する法律」に基づき、「個人情報保護の基本方針(プライバシーポリシー)」を定め個人情報の適切な管理・保護に努めます。

個人情報保護の基本方針(プライバシーポリシー)

1.個人情報の利用目的をできるだけ特定し、特定された利用目的の達成に必要な範囲を超えて利用することはありません。
2.個人情報を偽りその他不正な手段による取得しません。取得したときは、本人に速やかに利用目的を通知又は公表します。
3.個人情報を利用目的の範囲内で正確かつ最新の内容に保つように努めます。
4.個人情報の漏洩や滅失を防ぐために、必要かつ適切な安全管理措置を講じます。
5.あらかじめ本人の同意を得ないで第三者に個人情報を提供することはありません。ただし、法令に基づく場合、人の生命、身体又は財産の保護に必要な場合、公衆衛生・児童の健全育成に特に必要な場合、国等に協力する場合は除きます。

お問い合わせ

このブログの管理人(筆者)へのお問い合わせフォームはこちらです。
記事の訂正依頼、質問、お仕事の依頼、勧誘など、なんでも御用の方はこちらからお願いします。