AIうぉ--!(ai-wo-katsuyo-shitai !)

AIを上手く使ってみせたい!!自分なりに。

【かなり初級編ですが。。。】誤差逆伝播法、このサイトの説明がわかりやすい。

【かなり初級編ですが。。。】誤差逆伝播法、このサイトの説明がわかりやすい。

9cubed.info

ここでの動画も凄くわかりやすい。

↓ このような、非常にシンプルなものから説明が始まる。。。

ゼロから作るDeep Learning ――Pythonで学ぶディープラーニングの理論と実装 でも、ちょっと、うまく頭に入らなかった人にお薦め。

コメント

いままで、うまく、頭に入ってなかった。別に難しいとは思っていないが、しっくりはきていなかった。ちょっと、改善された。

時系列は深層学習じゃなくて、昔からあるのが良いって?(比較の仕方が。。。そんな比較だと当たり前の結論でしょう。。。)Do We Really Need Deep Learning Models for Time Series Forecasting?

時系列は深層学習じゃなくて、昔からあるのが良いって?(比較の仕方が。。。そんな比較だと当たり前の結論でしょう。。。)Do We Really Need Deep Learning Models for Time Series Forecasting?

以下の記事をみかけたので、論文をチラ見した。

ai-scholar.tech

結論: いやーーーー、当たり前でしょうーーーー

論文の概要(Deepl訳)

引用

時系列予測は、電力消費量、交通量、大気質などの予測に限らず、幅広い応用が可能であるため、機械学習における重要なタスクである。従来の予測モデルは、ローリングアベレージ、ベクトル自己回帰、自己回帰統合移動平均に依存している。一方、深層学習や行列分解モデルは、より競争力のあるパフォーマンスで同じ問題に取り組むために最近提案されています。しかし、このようなモデルの大きな欠点は、従来の手法と比較して過度に複雑になる傾向があることである。本論文では、よく知られた機械学習のベースラインであるGradient Boosting Regression Tree(GBRT)モデルに関して、著名な深層学習モデルの結果を報告する。ディープニューラルネットワーク(DNN)モデルと同様に、我々は、時系列予測タスクをウィンドウベースの回帰問題に変換する。さらに、GBRTモデルの入出力構造を特徴づけ、各トレーニングウィンドウにおいて、目標値と外部特徴を連結し、平坦化して多出力GBRTモデルの1つの入力インスタンスを形成するようにした。我々は、昨年度のトップレベルのカンファレンスで発表された8つの最先端のディープラーニングモデルについて、9つのデータセットで比較研究を行いました。その結果、窓ベースの入力変換により、単純なGBRTモデルの性能が、本論文で評価した全ての最先端DNNモデルを上回るレベルまで向上することが実証された。

コメント

すみません、内容が全然追えてませんが、切り口は想像がつきます。
何を言ってるのっ(笑)。
アドバイスなどあれば、お願いします。

DALL-E-2。Hierarchical Text-Conditional Image Generation with CLIP Latents イカサマですね(笑)

DALL-E-2。Hierarchical Text-Conditional Image Generation with CLIP Latents イカサマですね(笑)

引用

https://cdn.openai.com/papers/dall-e-2.pdf

以下は、論文の引用です。
何を説明してくれているかわかりませんが。。。。
おそらく、かなり、間違った印象を与えるという意味では、StyleGANあたりからつづく
イカサマ(笑)だと、断じます。

コメント

アドバイスなどあれば、コメントお願いします。

AirPassengers.csv を、いろんな方法で、予測してみる。

AirPassengers.csv を、いろんな方法で、予測してみる。

LSTM

参考にした記事(本人)

ai-de-seikei.hatenablog.com

結果

fbprohet

参考にした記事

qiita.com

環境

Windows10
GPUなし
python 3.7.2
fbprophet                         0.7.1
pystan                            2.17.1.0

結果

上の記事のコードをそのまま動かした。

関連記事(本人)

keep-loving-python.hatenablog.com

LSTM(その2)

参考にした記事

sweng.web.fc2.com

結果

上の記事のコードをそのまま動かした。

↓↓ なんか、結果が安定しませぬ。

SARIMA

参考にした記事

momonoki2017.blogspot.com

結果

上の記事のコードをそのまま動かした。

補足

以下は、エラーになるので、コメントアウトした。

# statsmodelsのバージョン確認
############sm.version.full_version # SARIMAX利用に0.8.0以上が必要

使ったバージョンは、

statsmodels                       0.10.1

statsmodels==0.8.0は、エラーでインストールできなかった。

補足その2

SRAIMAは、以下の記事が詳しそうな感じです。

logics-of-blue.com

Darts(Time Series Made Easy in Python)

参考にした記事

github.com

結果

readmeのコードそのまま。

関連エラー対応の記事(本人)

keep-loving-python.hatenablog.com

参考になりそうな記事

neptune.ai

コメント

コメントなどあれば、お願いします。

LSTMの時系列(予測)が、結構ズレてるので、逆に興味が湧く

LSTMの時系列(予測)が、結構ズレてるので、逆に興味が湧く

まず、以下の記事を、単に、なぞらせて頂きました。

toeming.hatenablog.com

コードは、以下です(重ねてありがとうございます。)

github.com

動かした結果

↑↑↑ train(赤線)ズレすぎ! (上段1回目。下段2回目。乱数の影響と思っている。)

↑↑↑ 予測の先頭ズレすぎ!!(上段1回目。下段2回目。乱数の影響と思っている。)

今後

上記の不思議な部分とかを少し検討できたらいいなと思っています。

コメント

アドバイス(参考にすべき記事の情報)などあれば、お願いしますーー、是非、コメントなど下さい!!

Multivariate Time Series Prediction with LSTM の例(GitHub)を動かしてみる。

Multivariate Time Series Prediction with LSTM の例(GitHub)を動かしてみる。

ここでは、

github.com

を動かしてみる。

↓ YouTuBEの解説あり。

youtu.be

自分の環境

  • Windows10
  • Python3.7.2
  • anacondaとかは使わずpip
  • GPUなし

動かす手順を示す(1回動いているので、リピート)

手順1

以下。

  • zip解凍
  • ipynbをpyへ

手順2

pyファイルを実行。

    get_ipython().magic('matplotlib inline')
NameError: name 'get_ipython' is not defined

定番のエラー。get_ipython()コメントアウトし、再度実行。

AttributeError: 'DataFrame' object has no attribute 'as_matrix'

as_matrix()をvaluesに書き換え。

NameError: name 'get_ipython' is not defined

別の記事

https://keep-loving-python.hatenablog.com/entry/2022/04/17/120802

に書きましたが、ここは、コメントアウトにすると 実行すべき行が抜けるので、 中味を展開。

es = EarlyStopping(monitor='val_loss', min_delta=1e-10, patience=10, verbose=1)
rlr = ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=10, verbose=1)
mcp = ModelCheckpoint(filepath='weights.h5', monitor='val_loss', verbose=1, save_best_only=True, save_weights_only=True)
tb = TensorBoard('logs')
history = model.fit(X_train, y_train, shuffle=True, epochs=30, callbacks=[es, rlr, mcp, tb], validation_split=0.2, verbose=1, batch_size=256)

以下のとっても変なグラフになる。

f:id:fanta_orange_grape:20220417123548p:plain

なぜか、コードの末尾にある、dataset_trainの3行を、下記の位置に移動。

# Parse training set timestamp for better visualization
dataset_train = pd.DataFrame(dataset_train, columns=cols)
dataset_train.index = datelist_train
dataset_train.index = pd.to_datetime(dataset_train.index)

plt.plot(PREDICTIONS_FUTURE.index, PREDICTIONS_FUTURE['Open'], color='r', label='Predicted Stock Price')

完成!!! f:id:fanta_orange_grape:20220417123915p:plain

   

f:id:fanta_orange_grape:20220417125525p:plain     (いらすとや)

この動かしたときのモジュールのバージョン

Keras                             2.3.1
tensorflow                        1.15.0
matplotlib                        3.5.1

なんか、matplotlibのエラーにならないためには、バージョンを気にしないといけなかったような気がする。 Kerasとtensorflowのバージョンは、Youtube他で指定されていた気がする。
上記のバージョンは、少し、違うかも。でもおおよそ、近いはず。

コメント

不明点などあれば、コメント等に書いて下さい!

多変量LSTMでアイスクリームを。【勝手に復刻】

多変量LSTMでアイスクリームを。【勝手に復刻】

qiita.com

上記のqiitaの記事の内容を復刻させてみる。 目的は、よくわからない部分があるので、もう少し、理解したいから。

コードは、GitHubで公開されている。

実行してみた。

f:id:fanta_orange_grape:20220415025419p:plain

ちょっと、細工してみた。

何を入力にした予測か、少し、わかりにくい面もあるので。。。 (場合によっては、実装にも疑義があるかもしれないので。。。qiitaの記事でもコメントが入っている。

f:id:fanta_orange_grape:20220415030659p:plain

↑ 予測に、直前の実績値は使ってないことを確認できた。(当たり前ですが。。。)

間違い!!!

アイスクリームの数だけの入力にした。

########dataframe = pandas.read_csv('tokyo-weather-2003-2012.csv', usecols=[0,3,4,5,6], engine='python', skipfooter=1)
dataframe = pandas.read_csv('tokyo-weather-2003-2012.csv', usecols=[0], engine='python', skipfooter=1)

f:id:fanta_orange_grape:20220415032217p:plain

↑ アイスクリームの数の実績使ってるやん。しかし、使うなら、それに近い値を予測したらいいわけで。。。
使ってるけど、実績に近づける気がないというか、、、
変な感じになっていると思います。

仮の結論

アイスクリームの実績を利用するなら、別の実装になるべき?
アイスクリームの実績を利用しないなら、それも、別の実装になるべき?
だから、今の実装は、少し、おかしい気が。

コメントなどあれば、お願いしますっ!

修正方法がわかる方、コメント書いて頂けると嬉しいです。