プログラミング

数学ができない文系非エンジニアが3か月でE資格に合格した勉強法

文系大卒・非エンジニアの私がE資格2024#2に3か月で合格したときの勉強法をまとめました。応用数学を捨てて機械学習に注力する戦略、生成AIでの問題集作成、使った教材、3か月のスケジュール、項目別の対策と試験本番の感想まで、得点率(応用数学29%)も含めて書いています。

目次

はじめに

「文系で難しい数学はわからないけれど、E資格に合格できるだろうか」「ビジネス職だけれどE資格に合格して知識を証明したい」と考えたことはありませんか。

私も文系大学卒ですし、そもそもエンジニアですらないのですが、E資格2024#2に合格しました。
同じような悩みをお持ちの方に向けて、そのときの勉強法をご紹介したいと思います。

E資格2024#2の受験結果通知

プロフィール

私は現在、都内の金融機関で経営企画をしています。
データアナリスト的な仕事をしていることもあり、独学で2、3年ほどPythonを勉強してきました。
とはいえ、職場に本職のエンジニアの方がいるわけでもなかったので、何が正解かもわからないまま、本や動画で得た知識だけで業務を行っていた形になります。

ただ、仕事が少し落ち着いて時間ができたので、Pythonやプログラミングを体系的に勉強しなおしたいと思い、Aidemy Premiumを6か月間受講しました。

Aidemy Premiumでは、最初の3か月間でPythonの基礎や機械学習の基礎を学び、技術ブログを一つ作成して修了しました。
残った受講期間は他の講座が受け放題となるので、残りの3か月でE資格取得を目指して勉強を始めました。

文系非エンジニアの戦略

最初にお伝えしたように、私はあくまでビジネス職(経営企画)としてデータサイエンスの知識を活かしたいという考えでE資格取得を目指しましたので、効率的に資格を取得するための戦略を考えました。
それから、大学は文系で高度な数学は学んでいないので、応用数学の問題にどう対応するかという点も問題でした。

そこで、私は以下の戦略で臨みました。

  1. 数学の問題は捨てる。数式だけは暗記で何とかする
  2. 機械学習に特に注力し、深層学習は基礎を確実にする
  3. 生成AIで問題集を作成し、問題演習を多くする

ひとつずつ説明します。

1. 数学の問題は捨てる

これが一番重要な戦略です。
数学を捨てる戦略をとった結果、応用数学の得点率は29%でした。
こんな正答率で受かった人は他にいるのでしょうか。

私がこの戦略を採用した理由は、シンプルに難しい数学がわからないからです。
簡単な確率などはわかりますが、大学数学になってくると厳しいです。

E資格では以下のような問題が出題されます。
これを見て、勉強してもどうにもならなそうだと感じた方は、私と同じように数学の問題は捨てたほうが賢明かと思います。
ただ、数学を捨てても他の項目で得点すれば合格できるので、ご安心ください。

例題1:マハラノビス距離の定義式として正しいものを選びなさい。

  • a) \(d(x, y) = \sqrt{(x - y)^\top S^{-1} (x - y)}\)
  • b) \(d(x, y) = \sqrt{(x - y)^\top (x - y)}\)
  • c) \(d(x, y) = \frac{x \cdot y}{|x||y|}\)
  • d) \(d(x, y) = \sum_{i=1}^{n} |x_i - y_i|\)

解答:a) マハラノビス距離は \(d(x, y) = \sqrt{(x - y)^\top S^{-1} (x - y)}\) で定義されます。

2. 機械学習に特に注力する

もう一度私の得点率をお見せしますが、機械学習で9割近く得点し、深層学習は6割となっています。

分野別の得点率

これはかなり狙い通りの結果でした。
実際に勉強してみるとわかるのですが、機械学習の分野は基礎的な知識を問う素直な問題が多く、慣れてくるとかなり得点しやすいです。
(最初はわからな過ぎてドキッとするかと思いますが)

一方の深層学習は、そもそも非エンジニアにとっては高度で理解が難しい分野ですし、問題も最新の論文の内容を問うものが多く出題され、なかなか対策が難しいです。
私は特に強化学習が苦手でした。

そこで、機械学習分野の対策を中心に行い、深層学習は基礎を固めるのに集中するという方針でのぞんだところ、狙い通り合格することができました。

3. 生成AIで問題集を作成し、問題演習を多くする

これは戦略というよりテクニックですが、E資格は過去問が公開されておらず、使用できる問題集が非常に少ないです。
多くの人は「黒本」と呼ばれる問題集で勉強しているかと思います(後述の「使用した教材」に載せています)。

ただ、どんな資格でも一番重要なのは問題演習の量だと私は考えているので、この1冊では到底足りませんでした。
Aidemy Premiumにも問題集はなかったので、生成AIを使って大量に問題を作成することにしました。

幸い、プログラミングなどの分野は生成AIにとっては得意な分野なので、問題集を作るのには苦労しません。
当時私はChatGPTの有料版を使っていましたが、今であればGoogleのGeminiをおすすめします。

もちろん生成AIなので問題や解答に間違いはあるのですが、この問題集だけで勉強するわけではありませんので、違和感があればテキストなどで随時確認すれば問題ないかと思います。

E資格のシラバスを学習させてから問題集を作成すると、より問題の質が上がるように感じました。
基本的にいくらでも問題集は作成できますので、これを使って納得するまで演習を繰り返すことで、合格にかなり近づくかと思います。

使用した教材

Aidemy Premiumのテキストのほかに、以下の教材を使用しました。
勉強時間の大部分は、この教材の勉強に費やしていました。

最初に一通りテキストを読んで、あとはひたすら問題演習という感じです。

使い分けとしては、

  • 機械学習 → Aidemy Premium
  • ディープラーニング → ゼロから作るシリーズ

というイメージです。

E資格を受験するにはJDLA認定講座を修了している必要があり、みなさん何かしらの講座を受けているかと思いますので、そこは受講中の講座に置き換えて考えてみてください。

スケジュール

試験当日までの3か月間のスケジュールは、以下のような感じでした。

1か月目

  • Aidemy Premiumの講座を一通り学習する
  • 修了試験に挑戦してみて、どんな内容か確認する(このときに受かればOK)

2か月目

  • ゼロから作るシリーズ3冊を読み切る
  • 時間に余裕があれば問題演習を開始する

3か月目

  • ひたすら問題演習
  • 受かっていなければAidemy Premiumの修了試験に合格する

使用教材と同じで、みなさんの講座に置き換えて考えてみてください。
繰り返しになりますが、一番重要なのは問題演習なので、可能な限り早くテキストの読み込みを終わらせて問題演習に入るようにしてみてください。

項目別対策

応用数学

戦略でも述べましたが、応用数学の項目は捨てました。
数式など、暗記できるものはしようと思いましたが、ほとんどここに時間は使っていません。
実際、試験では簡単な計算問題も出ましたが、たぶん間違えました。

機械学習

ここは積極的に得点しにいくのがいいと思います。
最初はとっつきにくいと思いますが、基礎的な問題が多いので、慣れてくれば得点源になります。
ゼロから作るシリーズの中でも、勾配法など機械学習の基礎について丁寧に解説されているので、きちんと読み込んでいれば問題ないかと思います。

ディープラーニング

ゼロから作るシリーズで基礎的な内容を固めて、最新の論点などの難しい内容については運まかせにしました。
試験では全く見たことが無い図表もたくさん出ましたので、そのような問題は解けませんでした。
ただ、それらを捨てたとしても6割くらいは取れるので大丈夫です。

開発環境

特に勉強していません。
一応問題集は作って勉強しましたが、6割程度であれば事足りました。

コーディング問題

LSTM、BERTなどの重要なモデルについては、コーディングできるようにしておきました。
ただ、これもそんなに難しい問題は出ませんし、出たとしても非エンジニアには厳しいので、深追いしないようにしました。
コーディングの勉強をするより、他の知識問題を得点したほうが効率はいいかと思います。

試験本番の感想

本番の内容は、生成AIで作成した問題と同じくらいの難易度でした。
ただ、Aidemy Premiumの問題よりは難しかったので、問題集を作成するときに少し難しめにしておいて正解でした。

結構時間も厳しいので、数式の問題やコーディングなど、捨てると決めた問題は深追いせずサクサク進めることを意識しました。
結果的に10分くらい余ったので、残りの時間で見直しをして終了でした。

体感的には結構難しかったという印象でしたが、6割で合格の試験はだいたいそんなものなので、受かったかなと思いました。
ただ、数学が3割も取れなかったのは予想外でした。

受験のメリット

現状、ディープラーニングの知識を仕事で使うことはほとんどありませんが、それでも受験してよかったと思います。
こうでもしないと、ディープラーニングを幅広く体系的に学ぼうという気にはならなかったと思います。

また、「それなりにディープラーニングがわかる」という証明ができるのも、今後の転職などを考えるとよかったかなと思っています。
あとは、一連の勉強を通して、シンプルに自分のプログラミング能力が上がったのが良かったです。

最後に

本稿では、文系大卒の非エンジニアが3か月でE資格に合格した勉強法をご紹介しました。
試験に合格することを目的とした勉強法なので、本職のエンジニアの方から見ると邪道なところもあるかと思いますが、私と同じように「非エンジニアだけれどE資格に合格したい」という方の参考になればうれしいです。

※本記事にはAmazonアソシエイトのリンクを含みます。

この記事が誰かの役に立てばうれしいです。