現在、多くの企業がデジタルトランスフォーメーション(DX)による生産性向上を試みています。特に化学メーカーで注目されているのがマテリアルズ・インフォマティクス(MI)です。MIによって従来の研究のやり方を大きく変えようとしている企業も少なくありません。
一方でMI技術を導入するためには十分な人材も必要です。企業でMIを推進していくためには外部からMIの専門家を新たに採用するのはもちろんのこと、化学の現場をよく理解している元々の研究者がMI技術を理解することも重要です。そのため各企業ではMIを理解している人材の育成も行われています。
ただ、化学メーカーの研究者は元々プログラミングの専門家ではありません。そんな化学系の企業研究者の方々に向けて、このシリーズではMIの入門となる記事を執筆しています。前回の記事ではMIを導入する目的を明確にすることの重要性、これからMIを始める人はプログラミング言語としてPythonを選ぶのがおすすめというお話をしました。
企業研究者のためのMI入門①:MI導入目的の明確化と使う言語の選定が最初のポイント!
しかし、いきなりPythonなどのプログラミング言語を学ぶのは「難しい」と感じる人もいるかもしれません。「難しい」と思ってしまう理由は様々で「プログラミングにそもそも馴染みがない」、「PythonでMIを実践するやり方がわからない」など、学ばれる方のレベルによっても異なります。そこでこの記事ではPythonを学ぶ上でのポイントとレベルやニーズに合わせたおすすめの参考書を紹介します!
Pythonのコードがわからない!そんな人は「何がわからないのか」具体的にしていこう!
Pythonに限らず、プログラミングをはじめたときにありがちな悩みがあります。それは「コードの意味が全くわからない」ということ。しかもこれから私たちが始めるのはMIを実行するためのコードです。そのため自分がPythonの文法で引っかかっているのか、それともMIや機械学習の実装で詰まっているのか、どちらで躓いているのかが分からないという状態に陥ってしまう危険性があります。そこで、まずは「プログラムが分からない」という状態を細分化してみました。
その1:ほとんどの行の意味がわからない
MIに関するPythonの参考書を買って学習をはじめたものの、参考書に書かれているコードがさっぱり分からなくて挫折した・・・。このような経験をした人もいるのではないでしょうか。何を隠そう、私自身が最初はこのような状態でした。
Pythonのコードを見てもほとんどの行の意味がわからない、もしもこのような状態になっているのならばPythonの入門書で勉強してみてはいかがでしょう。早くMIを実践したい!という気持ちを抑えてまず基礎体力を付けていきましょう。急がば回れ、一歩ずつPythonを理解することが将来のMI活用につながるはずですよ。
その2:MIの参考書を読んでも具体的な実装方法が分からない
Pythonの基本的なコードを学んで本格的にMIを実装するぞ!となったが、MIの参考書を読んでも具体的な実装方法が分からない。そのような方々はMI、機械学習でよく使われる手法を勉強する、もしくはPythonでよく使われるライブラリについて学習するのが良いかもしれません。
Pythonの基本的な部分を理解しているならば、ライブラリについても調べたらすぐに使えるようになるはずです。また、MIや機械学習の手法についても、簡単なコンセプトはネット上で調べたらすぐに出てきます。まずはPythonでいろんな手法を実践してみて、作りながら手法も理解してみてはいかがでしょう。
その3:MIの参考書のコードはわかるが使われている手法の数学的な理論が分からない
先程はひとまずPythonでMIを実装してみて、動かしながら理解することを提案しました。一方で「どのような数学的な理論を元にこの手法は構成されているのだろう」と気になる人もいるのではないでしょうか。そんな方はMI、機械学習で使われる手法をじっくり学んでみてはいかがでしょう。理論から学ぶのは時間がかかりますが、手法への理解は圧倒的に深まります。
Pythonを触る上でのちょっとしたチェックポイントや小ネタ
Pythonと各種ライブラリのバージョンに注意
Python本体やライブラリはたまにアップデートされます。もし古いものを使っていた場合、プログラムが動かない可能性があります。また参考書に付属しているコードもどのバージョンで作成されたものか確認が必要です。プログラムが動かないが原因がわからない、というときはバージョンも確認してみましょう。
参考書は紙がおすすめ
デジタル化の流れに反するかもしれませんが、私は紙の参考書を買うのをおすすめしています。一番の理由はメモしやすいということ。コードの意味がわからなかったり、関数の使い方を書いたり、数式の展開過程を追うときなど、参考書を読むとメモしたいことが沢山出てきます。ちょっとしたときにメモするには紙の参考書が便利です。特に最初は分からないことが多いと思うので、参考書にどんどん書き込みを行いましょう。
自分に合う参考書を見つけよう
Pythonを学び始める人が増えていることもあり、数多くの参考書が出版されています。難易度、分量、テイストは様々で、難易度が一緒でもイラストや図が多くてわかりやすいものから、数学的な説明がしっかりしているものまであります。人によって好みも様々かと思います。だからこそ参考書を買うときは事前に中身を確認して自分に合っていそうか確認してみましょう。
とにかく最初はコードを書いてみよう!
説明不要です。プログラミングは「習うより慣れろ」という側面もあるかと思います。まずはどんどんコードを書いて慣れていきましょう!
各レベルでのおすすめの参考書をご紹介!
最後にレベルに応じたおすすめのPython参考書を紹介します。先程述べたとおり、参考書は人によって好みや相性があるのですが、ここでは参考として私自身が使っていた本の中でおすすめを紹介します。
プログラミング自体の経験が少ない方々向け
[amazonjs asin=”479738946X” locale=”JP” title=”みんなのPython 第4版”]Pythonの初心者、というよりはプログラミング自体の経験が少ない方に向いています。Pythonの導入方法から丁寧に説明されており、イラストも多く使われているため初心者でも理解しやすいです。内容としてもif文やforループなどの基本的な構文、リストや辞書などPythonにおけるデータの集まりなど、「まずここは抑えたい」という項目が書かれています。
他の言語でプログラミング経験はあるもののPythonは初心者の方々向け
[amazonjs asin=”4798163643″ locale=”JP” title=”独習Python”]様々なプログラミング言語で出版されている「独習」シリーズ。この本の特徴は自分でコードを書きながら理解していくという点です。Pythonに慣れるためにはコードを書く経験も重要になるため、コードを書き写したり、演習問題でコードを考えていったりできるこの本はPython初心者にとって適切かと思います。私自身、最初はこの本でPythonを勉強しました。
Python初心者に限らず持っておきたい参考書
[amazonjs asin=”4873119324″ locale=”JP” title=”入門 Python 3 第2版”]コンピューターサイエンスの分野ではおなじみのオライリー・ジャパンから出版された本。600ページを超える本で、基本的な内容が網羅的に書かれています。MIに限らずPythonを学びたい人に向いている本です。一つ一つの関数の使い方や特徴などを丁寧に書いているので、何かわからないことが生じたときに頼りになる本です。
Pythonデータ分析で使われるライブラリNumPyやpandasを学びたい方々向け
[amazonjs asin=”487311845X” locale=”JP” title=”Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理”]Pythonでよく用いられるNumPyとpandasというライブラリを利用したデータ分析に関する本です。表題にある2つのライブラリの使い方について学べるのはもちろんのこと、データ分析の現場で必須となるデータ整理、前処理についても学べます。またPythonでグラフやプロットを作成するときに用いるMatplotlibというライブラリについても記載されています。この本では経済学、社会学に関するデータを多く使っていますがデータの前処理、NumPyやpandasの理解という側面ではMIをやる人も学んで損はない内容です。
Pythonや基本的な線形代数を理解してMIを本格的に実践する方向け
[amazonjs asin=”4274224414″ locale=”JP” title=”化学のための Pythonによるデータ解析・機械学習入門”]表題の通り、化学向けのPythonの本です。MIに必要なデータ解析や機械学習の手法が一通り書かれています。また数学的な理論が説明されていたり、教科書に記載されているコードはGitHub上で公開されていたりといった点も非常に嬉しいところ。ただし自分でコードを書き換えるためにはPythonの基礎を理解する必要があります。また数学的な理論を理解するには基本的な線形代数を知っておく必要もあります。Python、線形代数の基礎を理解して、これからMIを実践する人にとっては手放せない一冊です。
※ケムステでも過去にレビューを行っています。
化学のためのPythonによるデータ解析・機械学習入門
MIの基礎を抑え、更に深く学びたい方々向け
[amazonjs asin=”4295010073″ locale=”JP” title=”第3版Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)”]分類問題やデータの前処理、回帰分析やニューラルネットワークといったMI、機械学習に関する技術が一通り書かれています。各種コードが記載されていることはもちろん、数学的な根拠もしっかりと書かれておりMIを深く学びたい人におすすめの本です。ただしPythonと線形代数などの数学ともに基本的な内容を理解している必要があります。ボリュームも非常に大きな本なので、いきなり初心者が読んでもわからない可能性が高いです。まずは基礎を理解した上で更にステップアップしたいときに読むことをおすすめします。
今回はPythonをこれから学んでいく企業研究者の方々へ向けて、ちょっとしたポイントとレベル別のおすすめの参考書を紹介しました。プログラミングも、MIの数学的な理論も、理解するためにはまず自分自身の手を動かしてコードや数式を書いていくことが重要です。新しい分野を学ぶとき、一番難しさを感じるのは学びはじめのときかもしれません。ですが、根気強く学び続けることで徐々に理解を深めることができるはずです。基礎から一歩ずつ学んでいきましょう!
イラスト引用元:いらすとや
アイキャッチ画像引用元:Unsplash