コツコツと学ぶ! ITサラリーマンの休日技術ブログ

小さなことからコツコツと…IT系(主にデータベース)、数学、物理学などを中心に情報発信していきます。

VirtualBoxで仮想マシンのディスク容量を増やす方法(Oracle Linux 6 編)

 

概要

本記事では、VirtualBox仮想マシンのディスク容量を増やす方法について説明します。なおここでは、Oracle Linux 6 の環境にて検証を行っています。

 

作業手順

    1. 仮想マシンは停止させておく。

    2. 管理者ではなく一般ユーザーでコマンドプロンプトを起動

    3. VBoxManageコマンドへPATHを通す。
      C:\Users\testuser>set PATH=C:\Program Files\Oracle\VirtualBox;%PATH%
       
    4. 拡張するディスク形式が vdi ではなく vmdk形式の場合は、下記の文書に従い、vdi形式に変換を行ってください。
       
      No.0249:vmdk形式ディスクはサイズ変更がサポートされていません
       
    5. VBoxManageコマンドの実行する。ホストOS上で以下のコマンドを実行。
      サイズは、拡張分ではなく拡張後のサイズを指定します。
      例えば、現在25GBで、30GBへ拡張すると以下となります。単位はMB。(30720 / 1024 = 30)
       C:\Users\testuser>VBoxManage modifyhd C:\VBox\node1\node1.vdi --resize 30720 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%  C:\Users\testuser>
    6. vmdk形式からvdi形式へのクローンを実施していた場合は、vmdk形式ディスクをデタッチし、vdiディスクをアタッチしてください。

    7. 仮想マシンを起動しrootでログイン

    8. ディスク・ユーティリティで新規パーティションを作成
       
      ・「アプリケーション」⇒「システムツール」⇒「ディスク・ユーティリティ」として GUI 画面を開く。
       
      ・左の一覧より、「SATAホストアダプタ」配下の増やしたディスクを選択
      (今の場合 32GBのハードディスク となっている)
       
      ・帯の絵の中で、「未使用領域」となっているところをクリック
       
      ・「パーティションの作成」というボタンをクリック
       
      ・タイプを Ext4、名前は空欄にして「作成」ボタン
       
      ・デバイス名が今の場合、/dev/sda3 となっていること確認
       
    9. 端末を開き、pvcreateコマンドで新規パーティションを物理ボリュームとして認識させる。
       

       [root@node1 ~]# pvcreate /dev/sda3
         Writing physical volume data to disk "/dev/sda3"
         Physical volume "/dev/sda3" successfully created
       [root@node1 ~]# 

    10. vgdisplayコマンドで、現在使用されてるボリュームグループを確認
       

      [root@node1 ~]# df -h
      Filesystem            Size  Used Avail Use% マウント位置
      /dev/mapper/vg_node1-lv_root
                             22G   20G  1.3G  94% / ★
      tmpfs                 4.0G  232M  3.8G   6% /dev/shm
      /dev/sda1             485M   55M  405M  12% /boot
      shared                421G  405G   16G  97% /media/sf_shared
      shmfs                 4.0G  232M  3.8G   6% /dev/shm
      shared                421G  405G   16G  97% /opt/image
      [root@node1 ~]# 
      [root@node1 ~]# 
      [root@node1 ~]# vgdisplay
        --- Volume group ---
        VG Name               vg_node1 ★ボリュームグループ名
        System ID             
        Format                lvm2
        Metadata Areas        1
        Metadata Sequence No  3
        VG Access             read/write
        VG Status             resizable
        MAX LV                0
        Cur LV                2
        Open LV               2
        Max PV                0
        Cur PV                1
        Act PV                1
        VG Size               24.51 GiB ★
        PE Size               4.00 MiB
        Total PE              6274
        Alloc PE / Size       6274 / 24.51 GiB
        Free  PE / Size       0 / 0   
        VG UUID               FwGdAN-0S0w-D45E-nqZK-m9jK-cp0E-zG7rQs
         
      [root@node1 ~]# 

       

    11. 新規パーティションを今確認したボリュームグループに追加
       

       [root@node1 ~]# vgextend vg_node1 /dev/sda3
         Volume group "vg_node1" successfully extended
       [root@node1 ~]# 
       
       [root@node1 ~]# vgdisplay
         --- Volume group ---
         VG Name               vg_node1
         System ID             
         Format                lvm2
         Metadata Areas        2
         Metadata Sequence No  4
         VG Access             read/write
         VG Status             resizable
         MAX LV                0
         Cur LV                2
         Open LV               2
         Max PV                0
         Cur PV                2
         Act PV                2
         VG Size               29.50 GiB ★物理ボリュームは増加した
         PE Size               4.00 MiB
         Total PE              7552
         Alloc PE / Size       6274 / 24.51 GiB
         Free  PE / Size       1278 / 4.99 GiB
         VG UUID               FwGdAN-0S0w-D45E-nqZK-m9jK-cp0E-zG7rQs
          
       [root@node1 ~]# 

       

    12. lvdisplay、dfコマンドで論理ボリュームとそのマウント先を確認する。
       

       [root@node1 ~]# lvdisplay
         --- Logical volume ---
         LV Path                /dev/vg_node1/lv_root
         LV Name                lv_root
         VG Name                vg_node1
         LV UUID                MNatX0-Bkf0-wHf5-WieT-pX1H-2BfO-qUrOgQ
         LV Write Access        read/write
         LV Creation host, time node1.oracle11g.jp, 2013-02-17 22:56:46 +0900
         LV Status              available
         # open                 1
         LV Size                21.99 GiB ★さっき物理は増えたが論理はまだ少ない状態
         Current LE             5630
         Segments               1
         Allocation             inherit
         Read ahead sectors     auto
         - currently set to     256
         Block device           252:0
          
         --- Logical volume ---
         LV Path                /dev/vg_node1/lv_swap
         LV Name                lv_swap
         VG Name                vg_node1
         LV UUID                CoN1mL-dJB0-h1dJ-5OcS-uJy2-rXea-Fb5v67
         LV Write Access        read/write
         LV Creation host, time node1.oracle11g.jp, 2013-02-17 22:56:50 +0900
         LV Status              available
         # open                 2
         LV Size                2.52 GiB
         Current LE             644
         Segments               1
         Allocation             inherit
         Read ahead sectors     auto
         - currently set to     256
         Block device           252:1
          
       [root@node1 ~]# 
       [root@node1 ~]# 
       [root@node1 ~]# df -h
       Filesystem            Size  Used Avail Use% マウント位置
       /dev/mapper/vg_node1-lv_root
                              22G   20G  1.3G  94% / ★これを増やしたい
       tmpfs                 4.0G  232M  3.8G   6% /dev/shm
       /dev/sda1             485M   55M  405M  12% /boot
       shared                421G  405G   16G  97% /media/sf_shared
       shmfs                 4.0G  232M  3.8G   6% /dev/shm
       shared                421G  405G   16G  97% /opt/image
       [root@node1 ~]# 

       

    13. lvextendコマンドで論理ボリュームの容量を増やす。
       
       -l +100%FREEオプションでFreePEが0%になるまですべて割り当ててくれる。
       

       [root@node1 ~]# lvextend -l +100%FREE /dev/vg_node1/lv_root
         Extending logical volume lv_root to 26.98 GiB
         Logical volume lv_root successfully resized
       [root@node1 ~]# 
       
       [root@node1 ~]# lvdisplay
         --- Logical volume ---
         LV Path                /dev/vg_node1/lv_root
         LV Name                lv_root
         VG Name                vg_node1
         LV UUID                MNatX0-Bkf0-wHf5-WieT-pX1H-2BfO-qUrOgQ
         LV Write Access        read/write
         LV Creation host, time node1.oracle11g.jp, 2013-02-17 22:56:46 +0900
         LV Status              available
         # open                 1
         LV Size                26.98 GiB ★論理ボリュームも増えた(+5GB)
         Current LE             6908
         Segments               2
         Allocation             inherit
         Read ahead sectors     auto
         - currently set to     256
         Block device           252:0
          
         --- Logical volume ---
         LV Path                /dev/vg_node1/lv_swap
         LV Name                lv_swap
         VG Name                vg_node1
         LV UUID                CoN1mL-dJB0-h1dJ-5OcS-uJy2-rXea-Fb5v67
         LV Write Access        read/write
         LV Creation host, time node1.oracle11g.jp, 2013-02-17 22:56:50 +0900
         LV Status              available
         # open                 2
         LV Size                2.52 GiB
         Current LE             644
         Segments               1
         Allocation             inherit
         Read ahead sectors     auto
         - currently set to     256
         Block device           252:1
          
       [root@node1 ~]# df -h
       Filesystem            Size  Used Avail Use% マウント位置
       /dev/mapper/vg_node1-lv_root
                              22G   20G  1.3G  94% / ★ここはまだ
       tmpfs                 4.0G  232M  3.8G   6% /dev/shm
       /dev/sda1             485M   55M  405M  12% /boot
       shared                421G  405G   16G  97% /media/sf_shared
       shmfs                 4.0G  232M  3.8G   6% /dev/shm
       shared                421G  405G   16G  97% /opt/image
       [root@node1 ~]#

       

    14. resize2fsコマンドでファイルシステムサイズを拡張させる
       

       [root@node1 ~]# resize2fs /dev/vg_node1/lv_root
       resize2fs 1.41.12 (17-May-2010)
       Filesystem at /dev/vg_node1/lv_root is mounted on /; on-line resizing required
       old desc_blocks = 2, new_desc_blocks = 2
       Performing an on-line resize of /dev/vg_node1/lv_root to 7073792 (4k) blocks.
       The filesystem on /dev/vg_node1/lv_root is now 7073792 blocks long.
       
       [root@node1 ~]# 
       [root@node1 ~]# 
       [root@node1 ~]# df -h
       Filesystem            Size  Used Avail Use% マウント位置
       /dev/mapper/vg_node1-lv_root
                              27G   20G  6.0G  77% / ★増えた!
       tmpfs                 4.0G  232M  3.8G   6% /dev/shm
       /dev/sda1             485M   55M  405M  12% /boot
       shared                421G  405G   16G  97% /media/sf_shared
       shmfs                 4.0G  232M  3.8G   6% /dev/shm
       shared                421G  405G   16G  97% /opt/image
       [root@node1 ~]#





参考サイト

 

freespeedo.blog.fc2.com

更新履歴

※筆者用内部メモ
No.0072

管理人挨拶

当ブログへお越しいただきありがとうございます。このブログでは、IT系(主にデータベース関連)、数学、物理学、資格取得体験記などなど、筆者が学んだ技術的な内容を発信していきます。備忘録なものも多いため、まとまりがない記事も多いですが、何かの参考にしていただければと思います。

4ヵ月間でG検定とE資格を両方同時に目指して合格した話

 

合格してから数か月経っていますが(現在2022年1月)、2021年7月にG検定、2021年8月にE資格を受験し、無事に合格したので体験記としてまとめておきます。勉強期間は約4ヵ月でした。今後受験を目指す人の参考になれば幸いです。

 

G検定(JDLA Deep Learning for GENERAL 2021 #2)

E資格(JDLA Deep Learning for ENGINEER 2021 #2)

 

受験のきっかけ

会社がAI人材の育成に力を入れ始めたため勉強することにしました。始めはG検定のみを取得するつもりでしたが、G検定は色々なAI関連の用語が多く「もう少し理論的な側面からも納得した方が覚えやすいだろう」と思い、上位資格であるE資格も目指すことにしました。

ちなみに、勉強開始前の私のスペックは以下の通りです。

ディープラーニングに関する事前知識は、ほぼゼロ。

 「教師あり学習」とかの用語をなんとなく聞いたことがある程度

・AIや機械学習に関する業務経験はゼロ

Pythonによるプログラミング経験はあまりなく、基本的な構文を知っている程度

・大学時代は物理学を勉強していたため、微分積分線形代数などの基本的な数学は理解済み

・社会人になってから趣味で統計学を勉強したことがあり、統計検定3級を取得済み

 

G検定とは?

概要

一般社団法人 日本ディープラーニング協会
G検定とは
https://www.jdla.org/certificate/general/


出題範囲(シラバス

JDLAのホームページから確認しましょう。この分野は変化が激しいため、試験範囲の変化がよくあります。必ず、最新の情報を確認するようにしましょう。

 

https://www.jdla.org/certificate/general/
⇒「G検定の試験範囲(シラバス)と例題」


試験概要

作成中


受験から合否が出るまでの流れ

作成中

 

E資格とは?

概要

E資格とは、ディープラーニングの理論的な部分や実装方法についての理解を問う資格です。日本ディープラーニング協会(略称:JDLA)が主催するもので、詳細はJDLAのホームページを参照ください。

 

一般社団法人 日本ディープラーニング協会

E資格とは
https://www.jdla.org/certificate/engineer/

 

出題範囲(シラバス

JDLAのホームページから確認しましょう。この分野は変化が激しいため、試験範囲の変化がよくあります。必ず、最新の情報を確認するようにしましょう。

 

https://www.jdla.org/certificate/engineer/
⇒「E資格の試験範囲(シラバス)」リンク

試験概要

  • 試験時間:120分
  • 問題数:小問換算で確か105問くらいだった気がする。
  • 各地の指定試験会場にて受験(CBT方式)
  • 試験日:2021年8月27日(金)・28日(土)のどちらかを選択
  • 受験費用:一般:33,000円(税込)
         学生:22,000円(税込)
         会員:27,500円(税込)

受験から合否が出るまでの流れ

  1. JDLA認定プログラム(有料)を受講し修了認定を受ける(これで受験資格を得る)。
  2. 受験申込
  3. 受験
  4. 合否発表(受験から約3週間後)

 

JDLA認定プログラム(有料)を受講し、修了認定を受けなければ受験資格を得ることができない点がポイントです。

 

JDLA認定プログラムについて

スキルアップAI株式会社 現場で使えるディープラーニング基礎講座

E資格の受験資格を得るには、JDLA認定プログラムを受講し修了認定を受ける必要があります。JDLA認定プログラムは複数の会社や大学が提供しています。いずれかのJDLA認定プログラムを受講すればOKです。詳細は JDLA認定プログラム を参照ください。

 

講座を提供する会社はたくさんあり迷いますが、私はスキルアップAIさんの認定プログラムを選択しました。

www.skillupai.com

・対面とオンラインが選択できますが、私は「オンライン」を選択

・オプションとして110,000円/1名(税込)を追加で払うとチャット質問ができます。さすがに講師に質問できた方がよいだろうと思い「チャット質問対応」を選択

・料金は計165,000円/1名(税込)

選んだ理由

・認定事業者第1号ということで講座の歴史が一番あり、合格のノウハウがあるだろうと思ったため。

・受講料が(他の講座と比べると)そこまで高くなかったため。16万も十分高いですが、受験資格を得るには仕方ないので。ちなみに私は会社の補助ではなく自腹で払っています...

・E資格の合格体験ブログで紹介している人がいたため。

・私が受験勉強を始めた当時に唯一販売されていた、E資格向け問題集を出版している会社だったため。

徹底攻略ディープラーニングE資格エンジニア問題集 第2版 (徹底攻略シリーズ)

申込前に考慮しておいた方がよいこと

・勉強時間をしっかり確保できそうか考えておくこと

JDLAプログラムを提供する会社さんによって違うと思いますが、この講座は、受講開始から9ヵ月後までに修了認定を受ける必要がありました(他社さんの講座について各自確認すること)。もし期限を過ぎると、再度講座の申し込みが必要となります。よって、しっかりと勉強時間が確保できそうかを見越した上で申し込んだ方がよいでしょう。

 

・数学と機械学習はある程度理解しておくこと

この講座はあくまでディープラーニングに主眼が置かれているため、前提となる数学的知識(微分積分線形代数統計学など)や機械学習については講座内容に含まれていません。よって、事前に勉強をしてから申し込むことをお勧めします。

私は数学については大学時代の蓄えがあったため特に何もしませんでしたが、機械学習については知識ゼロでしたので、以下の本を8割方読み終えてから申し込みました。

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

 

講座内容概要

・試験範囲を網羅した動画講義32時間分の閲覧が可能となり、自由な時間に視聴できます。

・講義資料はPDFファイルで提供されます。

・課題として、知識テストとPythonプログラム作成が出されます。
・数週間おきくらいにZoomで勉強会が開かれます。日々の勉強の質問ができたり、格に向けたポイントの説明などが受けられます。1回に約2時間ほど。参加は任意。

・E資格に向けた模擬問題の提供があります。


修了要件

JDLAプログラムを提供する会社さんによって違うと思いますが、スキルアップAIさんの修了要件は以下のようなものでした。

 

受講開始から9か月までに下記をクリアすること:

 

1.基準精度を上回るDLを活用した画像認識モデルの作成

Pythonを使って画像認識を行うプログラムを作成し、目標の精度を達成すれば合格となります。具体的にはカタカタを認識させるプログラムでした。一応、プログラムの大部分は講座で習うサンプルプログラムや一般書籍のプログラムを利用できるのですが、それだけでは基準精度の達成はできず、工夫が必要です。AI未経験の私としては苦戦しました。これについては、スキルアップAIさんが数週間おきくらいに開いてくれるZoomによる勉強会が役に立ちました。その会の中で、課題をクリアした方々からの課題発表のコーナーがあり、利用した手法や工夫した点の紹介などがあり、大変参考になりました。これがなかったらもっと時間がかかっていたと思います...。参加は任意ですが、追加料金もないのでぜひ参加しましょう。

 

2.E資格出題範囲をカバーする知識テストに合格
ディープラーニング/機械学習/数学 に関する3種類の知識テストを受けて合格点を取得する必要があります。Web上から回答し、合否結果はメールにて即時通知が来ます。制限時間は無制限。不合格になっても何度も提出可能です。

 

勉強スケジュール

色々と試行錯誤しながら勉強していたのでスマートではないかもしれませんが、時系列をまとめておきます。

 

▼2021年4月中旬~

まずは機械学習について勉強するため、下記を読み始めました。ゴールデンウィーク休みも利用して7,8割ほどを読み終えました。

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

 

▼2021年5月

理論的な観点から理解を深めたいと思い、下記2冊を並行して読み進めました。数式による説明が丁寧にされていますが、後から振り返ると、ここまで数学的な理解はE資格にはあまり必要なかったかもしれません。

深層学習 (機械学習プロフェッショナルシリーズ)

機械学習スタートアップシリーズ これならわかる深層学習入門

 

▼2021年6月上旬~

JDLA認定プログラムに申し込みました。自腹で165,000円を支払ったので、「もう後には引き返せないな...」と思いました。

 

ここからのメインの勉強は、この講座の教材をしっかり理解することに注力しました。

・講義動画を見て理解を深める

・講義で紹介されるPythonプログラムをいじって理解を深める

・講義を補う意味で、以下のような書籍も並行して読み進める。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ❷ ―自然言語処理編

 

個人的にはだいぶ苦労しました。E資格当日まで2ヵ月ちょっとですが、本当に合格できるのか不安になってきたのもこの頃です。合格どころか、受験資格を得るための修了認定を受けることすら不安になってきました。

 

▼2021年6月下旬

E資格用の勉強を続けていたかったですが、そろそろG検定用の勉強もしなければと思い、下記の公式テキストを読み始めました。さすがにこれまでE資格用の勉強をしていたので、スラスラと読み進められました。E資格を目指しているのにG検定に落ちたのでは情けないですから、ある程度対策はしないといけません。

深層学習教科書 ディープラーニング G検定(ジェネラリスト)公式テキスト 第2版

 

▼2021/07/17(土)

G検定受験当日。自宅からのオンライン受験です。とにかく問題数が多いので時間はぎりぎりでした。

 

受験が終わって少しはほっとしましたが、すぐにE資格に気持ちを切り替え、JDLA認定プログラムの勉強を再開しました。というのも、スキルアップAIさんの規定によると、8月のE資格受験に必要な最終修了期限は2021年8月11日(水)中とのことで、それまでに課題を仕上げる必要がありました。プログラムがうまく動かなかったりと、毎日焦っていました。

 

▼2021年08月02日(月)

メールにてG検定の合格発表がありました。恐るおそるメールを開いてみると...無事に合格していました!

 

f:id:horiteku:20220110151559p:plain


▼2021年08月05日(木)

この日、ようやくJDLA認定プログラムの修了要件を満たすことができ、晴れてE資格の受験資格を得ました!なんとか間に合いました。

試験当日まで約3週間ほど。ここからは特に試験問題に慣れることに注力することにし、演習問題をひたすら解いていました。

 

スキルアップAIさんから提供されるE資格模試

・下記問題集

徹底攻略ディープラーニングE資格エンジニア問題集 徹底攻略シリーズ

⇒実はこの時点で第2版が出版されていたのですが、講師の方曰く「買い直しの必要はないでしょう」とのことだったので、このまま使い続けました。

 

▼2021年08月28日(土)

E資格受験当日。前日夜は最後の追い込みをかけており、結局、睡眠2,3時間くらいになってしまいました...。2,3時間ほど前に試験会場の最寄り駅に行き、近くのカフェで最後の追い込みをした後、指定の受験会場へ向かいました。

 

試験時間2時間、あっという間でした。4ヵ月間にあたり、休日もずっと勉強していたので、開放されて気が抜けてしまいました。

 

▼2021年9月17日(金)

メールにてE資格の合格発表がありました。恐るおそるメールを開いてみると...無事に合格していました!

 

f:id:horiteku:20220110135300p:plain

 

E資格(2021#2)の受験を終えての感想

当日の持ち物

身分証明書 2つ(例えば、運転免許証と保険証があればOK)を持参する必要があります。

試験会場の様子

・試験会場に着いたら、受付の人に自分の受験科目を伝えます。

 

・身分証明書を出した後、写真撮影があります。

 

・試験部屋への持ち込み物は、試験官が用意したホワイトボード1枚(A4サイズ程度)と黒ペン2本のみです。黒ペンは、油性なのか一度書き込んだら落ちない仕様でした。

 

・電卓の持ち込みは禁止ですが、受験時のパソコン上に電卓アプリが表示されるのでそれを利用できます。

 

・ハンカチ、ポケットティッシュ、電卓などの持ち込みも禁止です。入室前に、ポケットの中身確認、手の表裏に書き込み等がないかのチェックもさせられました。目薬を持ち込もうとした人がおり、事務員の方もやや困っていたが、書き込みがないことを確認した上で持ち込みを許可されていました(何も持ち込むなと言われているのだから持ち込むなと思った)。


・手計算が必要な問題はあまりなかったため、ホワイトボードが半分埋まる程度でした。なお、インクが出にくくなることがしばしばあり、イライラしました...。


出題状況・難易度など

・試験範囲からもれなく出題されていた印象です。事前の演習問題では見たことないようなパターンの問題も多く、少し面喰いましたが、落ち着いて読めば解答を導き出せる形だったと思います。あまり書けませんが、毎年のように出ていた、とある数学の問題が出なかったりと、例年からの傾向の違いも少し感じました。

 

・個人的には、難易度はやや高く感じました。きちんと理解していないと解けない問題が多かったと感じます。事前の演習問題でやったのとは違う形式で問われたり、数式も多めに感じました。


・用語の意味だけ覚えるだけでは対応できない問題が多かったです。例えば、「〇〇という手法を△△と言う」という教科書的な文言だけ覚えていても、このままの形で問われることはあまりないです。「〇〇の特徴について述べた文のうち、不適切なものを選べ」といった形で問われていた気がします。

 

・黒本、E資格模試などとほぼ同じ形で出た問題は数問あったかなという記憶。

 

・聞いたことない用語は2,3個出てきた気がします。

 

・代表的なディープラーニングの手法については、その原論文も読んでおくのが望ましいですが、私はそこまで手が回りませんでした。逆に言うと、原論文を読んでいなくても合格は可能です。

 

勉強に使用した教材

勉強に使用した教材を紹介します。ただ、なんといってもまずは、皆さんが受講されているJDLA認定プログラムの教材をしっかり消化するように頑張ってください。合格に向けてはそれが一番近道のはずです。認定プログラムの教材を理解するための補足として、以下に紹介する書籍も読んでみるという方針がよいと思います。

 

数学

数学:物理を学び楽しむために

学習院大学 田崎晴明 教授が無償公開している大学数学の教科書。大学レベルの微分積分線形代数を勉強したことがない人は読んでみることをお勧めします。

 

統計学の定番の入門書。通称「赤本」。統計学についてきちんと勉強したことがない人はぜひ読んでみましょう。なお、E資格対策ということを考えると、「仮説検定」は一旦は読まなくてもよいかなと。

 

数式の途中計算までかなり丁寧に書かれている参考書。上記の「赤本」などで統計学を勉強していて、数式を追うのに悩んだときに参考にしました。

 

上記「赤本」の理解を深める際に利用しました。

 

機械学習

 

機械学習の入門書としてよく名前が挙がる本。scikit-learn(サイキット・ラーン)という機械学習向けのライブラリを使用して解説されています。私は機械学習について初めて勉強する際、この本から入りました。

 

多変量解析に関する入門書。ロジスティック回帰、主成分分析、サポートベクターマシンなど、E資格の試験範囲の内容を数式レベルで理解したい場合におすすめ。Pythonによる実装は触れられていないので、他の本で補う必要があります。

 

主成分分析、サポートベクターマシンなど、E資格で問われやすい機械学習の手法について、Pythonによる実装が解説されています。スキルアップAIさんも、推薦図書として挙げていました。

 

ディープラーニング

 

ディープラーニングの定番の入門書、通称「ゼロつく」です。必ずと言っていいほど名前が挙がるほどロングセラーとなっている本です。スキルアップAIさんの教材でもこの本を参考に作られている部分が多かったため、何度も参照しました。

 

「ゼロつく」の第2巻で、これも定番の入門書。E資格の試験範囲も含むので、ぜひこれも読んだ方がよいでしょう。

 

深層学習についての入門書。165ページほどと短めの本ですが、ポイントを抑えた文章で、読みやすかったです。

 

こちらも深層学習について数式レベルから丁寧に解説された参考書。上記の岡谷さんの参考書をさらに丁寧に解説した感じの内容。岡谷さんの本で理解できなかった部分は、こちらの瀧さんの本でより細かく解説されており、またその逆もあったので、両者を並行して読むとよいと感じます。

 

深層学習(ディープラーニング)に関する教科書として、世界的に評価されている本。著者の一人であるIan Goodfellowさんにちなんで「グッドフェロー本」などと言われたりするようです。E資格はこの本を土台に作成されているとのことで、数式の表記などもこの本に倣っていますから、ぜひ購入した方がよいでしょうか。ただ、難易度はやや高く、分量も580ページほどある分厚い本ですから、辞書的な使い方をするのがよいと思います。私も1割くらいしか読んでいません。

 

G検定対策

 

G検定の公式テキストなので、ほぼ必須で読んだ方がよいと思います。なお、G検定には最新のAI情報が出題されるので、この本だけでは試験範囲をカバーできない点に注意してください。

 

G検定の問題に慣れるために使用しました。G検定はとにかく問題数が多いため、1問数秒のレベルで回答する必要があります。何度も繰り返し、スラスラ解けるようにしておきましょう。

 

E資格対策

 

・JDLA認定プログラムの教材

 

・以下参考書

通称「黒本」と呼ばれている本です。この本の内容を完璧に理解できれば合格は可能だと思います。ただ、ここでいう「完璧に」というのは以下のことがすべてできるようになっていることです。

・問題文で、正しい選択肢を選べるようになること。
・正しくない選択肢について、「なぜ正しくないか」がきちんと説明できること
・解説ページの内容もすべて理解できていること。

私は2回繰り返しました。後半の方は理論的な部分が難しく理解できない部分もありました。

 

・E資格に登場する主要な手法の原論文(余裕があれば)

上記問題集もすべてやり終え、余裕がある人は原論文にも目を通しておくとよいです合格の精度がより上がると思います。実際、E資格では論文からの出題もあります。

なお、スキルアップAIさんから、ぜひ読んだ方がよい論文を勉強会で紹介いただいたのですが、私はそこまで手が回りませんでした。

E資格合格後の勉強について

E資格に合格すると気が抜けてしまう人が多いそうです。僕もその一人です...。ですが、せっかく勉強したわけですから、記憶が新たらしいうちに自身のさらなるステップアップへ向けて勉強してみるのがよいでしょう。

例えばですが、スキルアップAIさんが薦めてくださったのが以下の本です。私が受験した2021年8月時点ではPyTorchの使用方法は試験範囲に含まれていなかったため、読み進めていきたいなと思っています。

 

最後に

「E資格は役に立つか?」ということについては色々な意見があると思いますが、個人的にはとてもためになりました。お金と時間に余裕がある人はぜひ受験してみることをおすすめします。業務では細かな数学的な話は出てこないかもしれませんが、一度でも理論的な部分を勉強しておくと、今後新しい技術が登場したときも理解しやすくなると思います。

微力ながら、このブログが皆さんのお役に立てばと思います。

 

以上、ありがとうございました。