YUTO-Wの日記

美容と健康のためのブログです(`・ω・´) #ビタミンC #健康志向 #機械学習 #AI #ロボット #ROS

【合格】育児しながらE資格を取得するために必要なこと

【目的】

育児しながらE資格を取得するために必要なことをまとめる。

育児は大変な労力を伴うものであるが、この記事が参考になれば幸いである。

 

※ E資格とは、一般社団法人 日本ディープラーニング協会(JDLA)が認定している資格の一つである。

ディープラーニングの理論を理解し、適切な手法を選択して実装する能力や知識を有しているかを認定する」資格とのこと。

www.jdla.org

 

【想定読者】

・育児中の方(または、勉強時間の確保が困難な方

・AIに興味がある方

・E資格を取りたい方

 

【背景、状況】

現在3歳の娘がおり、毎日育児に追われている。

勉強時間に関する状況としては以下。

・土日、祝日は子供の相手をするため、昼間は勉強できない

・平日は夜22時以降なら可能(寝かしつけた後)

 

端的に言って、勉強時間の確保はかなり困難である。

そのため、似た状況の方へE資格取得のための道しるべを示したいと考えている。

 

【内容】

以下①~③を実施すれば、合格できる。

①AVILENのE資格講座を申し込む

E試験を受験するためには、JDLA認定プログラム(講習)を修了する必要がある。

AVILENはその講習の一つ。問題集がかなり豊富であり、合格率はトップクラス。

avilen.co.jp

 

AVILENの注意点は以下。

・修了までの各講習が非常に時間がかかる(毎日2時間勉強した場合の目安期間)

 ・コーディング演習 : 約1ヶ月半

 ・プロダクト開発演習 : 約1ヶ月

 ・修了試験(対策含む) : 約1ヶ月

・修了試験は、本試験より難しい(シラバスより範囲も広い)

・修了試験に2回落ちると、別途お金がかかる(約1万円)

 

修了試験に合格すると、何度でも解ける問題集を利用できる。(超重要)

子供にテレビを見せている間など、隙間時間にひたすら問題集を解いていた。

10問単位で挑戦できるので、とても重宝する。

(最終的に、解いた回数は80回くらいでした。)

 

②AVILENの模擬試験に申し込む(試験直前)

AVILENでは、試験直前にE資格オンライン模試を開催している。

この模擬試験の内容をしっかり理解しておくことが重要。

大丈夫。AVILENの修了試験に合格した人なら、それ程難しくない。

avilen.co.jp

 

③長く辛い戦いになることを覚悟する

これが最も重要。

私の勉強期間は、約1年でした。(時間は200時間程度)

正直、かなり大変でした。

なので、育児中の方は、育児が落ち着いてから挑戦することを強くオススメします。

どうしても取得したい方は、それなりの覚悟をしておいてください。

 

【まとめ】

E資格に関しては、AVILENのみの対策で合格可能である。

時間に余裕がある方は、以下のような本も参考になると思われる。

(私は読んでいないですが。)

 →いわゆる黒本。問題形式が本番に近い。

 

 →これを読んでコーディングすると、深層学習の理解がかなり深まる。

 

【おわりに】

E資格は、おそらく社会人になって最も勉強した資格だと思います。

IPAの高度試験より疲れました。

1年間非常に大変でしたが、何とか無事合格できて本当に嬉しいです!

ただ、育児中は無理せず、簡単な資格に挑戦した方が良かったと思いました。

(いろいろとプレッシャーが。。苦笑)

ここまで読んでくれて、ありがとうございました!!

屋外で使えるソーラーグラウンドライト

屋外で使えるソーラーグラウンドライトは以下を購入すれば良い。

 

NFESOLAR LEDガーデンライト ソーラーライト 防水 光センサー おしゃれ 屋外 庭 ライトアップ 外構 エントランス 置き型 埋め込み式 (4個セット)

耐久性も高く、概ね満足。

屋外で使える人感センサーライト(Web高評価)

以下の条件のライトがなかなか見つからなかったのでメモ。

屋外で使える + 人感センサー搭載 + Web高評価

 

結論としては、以下を購入すれば良い。

アイリスオーヤマの物は評価低い(すぐ壊れるらしい)。

 

オーム電機 LEDナイトライト フットライト 電池式 人感明暗センサー 昼白色 足元灯 NIT-BLA6JSL-WN 06-0142 OHM

【メモ】AWS SageMaker で新規パッケージをインストールする方法

【目的】

AWS SageMaker で新規パッケージをインストールする方法を示す。

 

【内容】

インストールしたいパッケージ名の前に "!" をつければ良い。

例えば、NeuralProphetをインストールしたい場合、以下を入力し Ctrl+Enter でOK。

!pip install neuralprophet

f:id:yutow0403:20220408154801p:plain

AWS SageMaker パッケージインストール方法

 

以上。

NeuralProphetによる多変量解析の実装方法

【目的】

NeuralProphetによる多変量解析を行う方法についてまとめる。

 

【背景】

時系列データのAI予測モデルとして「NeuralProphet」がある。

NeuralProphetのポイント:

 ・Facebookが公開しているProphetにDeep Learningの技術を組合せたもの

 ・2017年リリース

 ・時系列解析ライブラリ

 ・GitHubは以下URL参照

  https://neuralprophet.com/html/index.html

 

Web上には様々な情報がある。

例えば以下ページでは、単変量での実装方法が紹介されている。

NeuralProphetを使ってみた - Qiita

しかし、多変量での実装に関する情報がWeb上にほぼ無い。(見つけられない。)

そのため、本ブログでまとめる。

 

【内容】

AWS SageMakerで実装する。以下コマンドで neuralprophet インストール可能。

!pip install neuralprophet

 

ライブラリのimport。

# NeuralProphet
from neuralprophet import NeuralProphet

 

データ読み込み。PandasのDataFrameとする。

df = pd.read_csv("***.csv")

※dfには、"time", "power", "fire", "thunder" 列があるとする。

 

NeuralProphetで予測するためには、

"ds"(タイムスタンプ)と "y"(推論対象)の列が必須。

そのため、リネームして対応する。

例えば、"time"(タイムスタンプ) と "power"(推論対象)の列がある場合は以下。

df = df.rename(columns={"time": "ds", "power":"y"})

 

テストデータ分割。テストデータ数は適宜変更する。

# 学習データとテストデータの分割
test_length = 50 #テストデータ数
df_train = df.iloc[:-test_length] #学習用
df_test = df.iloc[-test_length:] #評価用

 

NeuralProphetのパラメータを適切に設定。例えば、以下のようにする。

params = {
    "yearly_seasonality": False,
    "weekly_seasonality": False,
    "daily_seasonality": False,
    "normalize": "standardize", #標準化指定
    "global_normalization": False, #全体の中央値を一致させるかどうか
}

 

ここからが多変量でのポイント。

future_regressors_df で使用する変数を指定する。

以下のコードは、"fire" と "thunder" を説明変数として追加したもの。

future_regressors_df = pd.DataFrame(data={
                                          'fire': df['fire'][:-test_length],
                                          'thunder': df['thunder'][:-test_length]
                                         })

 

NeuralProphetモデル構築。

model = NeuralProphet(**params)

 

構築したモデルに対し、説明変数追加。

normalize="true" で、追加した説明変数の標準化が可能。

model = model.add_future_regressor(name='fire', normalize="true")
model = model.add_future_regressor(name='thunder', normalize="true")

 

モデルに関するその他設定。

# 使用するデータフレーム、推論頻度等の設定
metrics = model.fit(df, freq='1min', progress="bar")

 

精度検証用のデータ生成。test_lengthで指定した期間が、実際の評価期間になる。

# NeuralProphet 予測モデルの精度検証用データの生成
# 未来の時刻を含むデータフレームを作成
# make_future_dataframe の使い方は鬼ムズ(Webにほとんど情報が無い)
future = model.make_future_dataframe(
    df_train,
    regressors_df=future_regressors_df,
    periods=test_length,
    n_historic_predictions=len(df_train)
)

 

予測(推論)する。

# futureにはdf_trainの期間も含まれる
pred = model.predict(future)

 

予測結果の可視化。点は実測値。

# NeuralProphet 予測モデルの予測結果(学習データ期間+テストデータ期間)
pred_plot = model.plot(pred)  # 予想値(点は学習データの実測値)
component_plot = model.plot_components(pred)  # モデルの要素分解

f:id:yutow0403:20220408153812p:plain

NeuralProphet予測結果 可視化

 

精度評価のため、テストデータに予測値を結合。

# テストデータに予測値を結合
df_test["NeuralProphet Predict"] = pred.iloc[-test_length:].loc[:, "yhat1"]

 

精度算出。

評価には、平均絶対誤差(MAE:Mean Absolute Error)を用いる。

# NeuralProphet 予測モデルの精度検証(テストデータ期間)
print("MAE(NeuralProphet):") #平均絶対誤差(MAE:Mean Absolute Error)
print(mean_absolute_error(df_test["y"], df_test["NeuralProphet Predict"]))

  MAE(NeuralProphet):
  36.52580529385156

 

以上で、NeuralProphetによる多変量解析は可能である。

 

【まとめ】

NeuralProphetで多変量を扱う場合についてまとめた。

機械学習に限らず、最新の情報は日本語文献が少ない。

もっと英語を勉強しなくては。。