データマイニング(DM)- Python - DL
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
散布図
-[[戻る>ビジネス インテリジェンス(BI)]]
--[[CRISP-DM>データマイニング(DM)- CRISP-DM]]
--[[Excel>データマイニング(DM)- Excel]]
--[[KNIME>データマイニング(DM)- KNIME]]
--[[Python>データマイニング(DM)- Python]]
--Python - DL
---[[Python - DNN>データマイニング(DM)- Python - DNN]]
---[[Python - RNN>データマイニング(DM)- Python - RNN]]
---[[Python - CNN>データマイニング(DM)- Python - CNN]]
--[[DataSet>データマイニング(DM)- DataSet]]
*目次 [#p9f45a9f]
#contents
*概要 [#bff75e2e]
[[TensorFlow・Keras]]を使ったPythonでの[[Deep Learning>深...
*詳細 [#e0bc9e5a]
**準備 [#g9d39755]
***on Jupyter on Docker [#z4680a02]
-イメージを変えて[[コチラ>PySpark#ffe40eef]]の例と同様に...
-使用するイメージは、tensorflow/tensorflow:latest-jupyter
***インストール ~ 初期化 [#jc917721]
-インストール
!pip install --upgrade pip
--tensorflow
!pip install -U tensorflow
--keras
!pip install -U keras
--その他~
色々、足りてない。
!pip install numpy
!pip install pandas
!pip install seaborn
!pip install statsmodels
!pip install scikit-learn
!pip install opencv-python
-警告の非表示
import warnings
warnings.filterwarnings('ignore')
-インポート
--基本的なライブラリ~
[[NumPy]], [[Pandas]], [[Matplotlib]]
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
--TensorFlow
import tensorflow as tf
from tensorflow.keras.layers import BatchNormalization
print(tf.__version__)
--Keras
import keras
print(keras.__version__)
# モデル定義
from keras.models import Model, Sequential, model_from_j...
from keras.layers import Dense, Input, Activation, Flatt...
from keras.layers.convolutional import Conv2D
from keras.layers.pooling import MaxPool2D
from keras.callbacks import EarlyStopping, ModelCheckpoint
from keras import optimizers
from keras.optimizers import SGD, Adam
# その他
from keras.applications.vgg16 import VGG16
from keras.utils import np_utils
--[[scikit-learn]]
from sklearn import metrics
from sklearn.metrics import confusion_matrix as cm
from sklearn.model_selection import train_test_split
--opencv-python
---import
import cv2 # OpenCV
---以下のエラーになる場合、~
「cannot open shared object file: No such file or directo...
以下のコマンドを[[Terminal>Jupyter Notebook#h0b79990]]か...
apt-get update && apt-get upgrade -y
apt-get install -y libgl1-mesa-dev
apt-get install -y libopencv-dev
--その他
from statsmodels.tsa.seasonal import seasonal_decompose
**共通 [#q344050b]
***[[勾配降下法>ニューラルネットワーク(学習)#v7a3cd9d]]...
-SGD~
lr:学習率(0以上のfloat
optimizer = optimizers.SGD(lr=0.01)
-MomentumSGD~
SGDのコードに「momentum」(慣性項の係数(0以上のF)を追加。
optimizer = optimizers.SGD(lr=0.01, momentum=0.9)
-NesterovAG~
(Nesterov Accelerated Gradient)~
MomentumSGDのコードに「nesterov=True」を追加。
optimizer = optimizers.SGD(lr=0.01, momentum=0.9, nester...
-AdaGrad~
デフォルト・パラメタが推奨
--lr :学習率(0以上のfloat
--epsilon:分母の最小値(0以上のfloat
--decay :学習率減衰(0以上のfloat
optimizer = optimizers.Adagrad(lr=0.01, epsilon=None, de...
-RMSprop~
(Root Mean Square Propagation)
--AdaGradのコードに「rho」(指数移動平均)を追加。
--学習率以外はデフォルト・パラメタが推奨
optimizer = optimizers.RMSprop(lr=0.001, rho=0.9, epsilo...
-AdaDelta
--AdaGradのコードに「rho」(指数移動平均)を追加。
--デフォルト・パラメタが推奨
optimizer = optimizers.Adadelta(lr=1.0, rho=0.95, epsilo...
-Adam~
(ADAptive Moment estimation)
--beta_1 :MomentumSGDのmomentum
--beta_2 :AdaGradのrho
--amsgrad:AMSGradを適用するかどうか。
optimizer = optimizers.Adam(lr=0.001, beta_1=0.9, beta_2...
***[[過学習を抑止する手法>深層学習のテクニック#f5d40509]]...
-[[データ正規化>データマイニング(DM)- CRISP-DM#v9d19242]]
-重みの初期化
-早期終了(early stopping)
--EarlyStoppingクラス
---monitor :監視する値
---patience:指定[[エポック>ニューラルネットワーク(学習...
---mode :収束判定(auto: 自動, min: 最小時, max: 最大...
---verbose :標準出力で通知をするか否か
es = EarlyStopping(monitor='val_loss', patience=5, mode=...
hist = model.fit(x_train_std , y_train,
validation_data=(x_test_std, y_test),
batch_size=batch_size,
epochs=n_epoch,
verbose=1,
callbacks=[es]) # EarlyStoppingを適用
--ModelCheckpointクラス~
検証誤差が最も低い状態のモデルを保存
---monitor :監視する値(デフォルト: val_loss)
---mode :収束判定(auto: 自動, min: 最小時, max...
---verbose :標準出力で通知をするか否か
---filepath :モデルを保存するファイルパス
---save_best_only:最良の状態のモデルのみを保存するかどう...
mc = ModelCheckpoint(monitor='val_loss', mode='min', ver...
hist = model.fit(x_train_std , y_train,
validation_data=(x_test_std, y_test),
batch_size=batch_size,
epochs=n_epoch,
verbose=1,
callbacks=[mc]) # ModelCheckpointを適用
-バッチ正規化(Batch Normalization)
model.add(BatchNormalization())
-ドロップアウト(Dropout)~
最終層より前に以下を追加。
# 無効化比率0.5のDropout
model.add(Dropout(rate=0.5))
-[[CNNの場合、>データマイニング(DM)- Python - CNN#yb34d...
--データ拡張(data augmentation)
--バッチ正規化(Batch Normalization)
***モデルの保存と復元 [#b4446374]
-モデルの保存
# モデルはjson形式
json_string = model.to_json()
with open('mnist.model', 'w') as f:
f.write(json_string)
# パラメータはhdf5形式
model.save_weights('param.hdf5')
-モデルの復元~
復元後、再度コンパイルが必要になる。
# モデルはjson形式
with open('mnist.model', 'r') as f:
json_string = f.read()
model = model_from_json(json_string)
# パラメータはhdf5形式
model.load_weights('param.hdf5')
**次のステップ [#y53030a2]
***[[Python - DNN>データマイニング(DM)- Python - DNN]] ...
***[[Python - RNN>データマイニング(DM)- Python - RNN]] ...
***[[Python - CNN>データマイニング(DM)- Python - CNN]] ...
***[[on Azure Machine Learning>https://techinfoofmicrosof...
*参考 [#h7e27aca]
**[[scikit-learn]] [#w7ee6c9b]
**[[TensorFlow・Keras]] [#f12c56ee]
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
散布図
-[[戻る>ビジネス インテリジェンス(BI)]]
--[[CRISP-DM>データマイニング(DM)- CRISP-DM]]
--[[Excel>データマイニング(DM)- Excel]]
--[[KNIME>データマイニング(DM)- KNIME]]
--[[Python>データマイニング(DM)- Python]]
--Python - DL
---[[Python - DNN>データマイニング(DM)- Python - DNN]]
---[[Python - RNN>データマイニング(DM)- Python - RNN]]
---[[Python - CNN>データマイニング(DM)- Python - CNN]]
--[[DataSet>データマイニング(DM)- DataSet]]
*目次 [#p9f45a9f]
#contents
*概要 [#bff75e2e]
[[TensorFlow・Keras]]を使ったPythonでの[[Deep Learning>深...
*詳細 [#e0bc9e5a]
**準備 [#g9d39755]
***on Jupyter on Docker [#z4680a02]
-イメージを変えて[[コチラ>PySpark#ffe40eef]]の例と同様に...
-使用するイメージは、tensorflow/tensorflow:latest-jupyter
***インストール ~ 初期化 [#jc917721]
-インストール
!pip install --upgrade pip
--tensorflow
!pip install -U tensorflow
--keras
!pip install -U keras
--その他~
色々、足りてない。
!pip install numpy
!pip install pandas
!pip install seaborn
!pip install statsmodels
!pip install scikit-learn
!pip install opencv-python
-警告の非表示
import warnings
warnings.filterwarnings('ignore')
-インポート
--基本的なライブラリ~
[[NumPy]], [[Pandas]], [[Matplotlib]]
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
--TensorFlow
import tensorflow as tf
from tensorflow.keras.layers import BatchNormalization
print(tf.__version__)
--Keras
import keras
print(keras.__version__)
# モデル定義
from keras.models import Model, Sequential, model_from_j...
from keras.layers import Dense, Input, Activation, Flatt...
from keras.layers.convolutional import Conv2D
from keras.layers.pooling import MaxPool2D
from keras.callbacks import EarlyStopping, ModelCheckpoint
from keras import optimizers
from keras.optimizers import SGD, Adam
# その他
from keras.applications.vgg16 import VGG16
from keras.utils import np_utils
--[[scikit-learn]]
from sklearn import metrics
from sklearn.metrics import confusion_matrix as cm
from sklearn.model_selection import train_test_split
--opencv-python
---import
import cv2 # OpenCV
---以下のエラーになる場合、~
「cannot open shared object file: No such file or directo...
以下のコマンドを[[Terminal>Jupyter Notebook#h0b79990]]か...
apt-get update && apt-get upgrade -y
apt-get install -y libgl1-mesa-dev
apt-get install -y libopencv-dev
--その他
from statsmodels.tsa.seasonal import seasonal_decompose
**共通 [#q344050b]
***[[勾配降下法>ニューラルネットワーク(学習)#v7a3cd9d]]...
-SGD~
lr:学習率(0以上のfloat
optimizer = optimizers.SGD(lr=0.01)
-MomentumSGD~
SGDのコードに「momentum」(慣性項の係数(0以上のF)を追加。
optimizer = optimizers.SGD(lr=0.01, momentum=0.9)
-NesterovAG~
(Nesterov Accelerated Gradient)~
MomentumSGDのコードに「nesterov=True」を追加。
optimizer = optimizers.SGD(lr=0.01, momentum=0.9, nester...
-AdaGrad~
デフォルト・パラメタが推奨
--lr :学習率(0以上のfloat
--epsilon:分母の最小値(0以上のfloat
--decay :学習率減衰(0以上のfloat
optimizer = optimizers.Adagrad(lr=0.01, epsilon=None, de...
-RMSprop~
(Root Mean Square Propagation)
--AdaGradのコードに「rho」(指数移動平均)を追加。
--学習率以外はデフォルト・パラメタが推奨
optimizer = optimizers.RMSprop(lr=0.001, rho=0.9, epsilo...
-AdaDelta
--AdaGradのコードに「rho」(指数移動平均)を追加。
--デフォルト・パラメタが推奨
optimizer = optimizers.Adadelta(lr=1.0, rho=0.95, epsilo...
-Adam~
(ADAptive Moment estimation)
--beta_1 :MomentumSGDのmomentum
--beta_2 :AdaGradのrho
--amsgrad:AMSGradを適用するかどうか。
optimizer = optimizers.Adam(lr=0.001, beta_1=0.9, beta_2...
***[[過学習を抑止する手法>深層学習のテクニック#f5d40509]]...
-[[データ正規化>データマイニング(DM)- CRISP-DM#v9d19242]]
-重みの初期化
-早期終了(early stopping)
--EarlyStoppingクラス
---monitor :監視する値
---patience:指定[[エポック>ニューラルネットワーク(学習...
---mode :収束判定(auto: 自動, min: 最小時, max: 最大...
---verbose :標準出力で通知をするか否か
es = EarlyStopping(monitor='val_loss', patience=5, mode=...
hist = model.fit(x_train_std , y_train,
validation_data=(x_test_std, y_test),
batch_size=batch_size,
epochs=n_epoch,
verbose=1,
callbacks=[es]) # EarlyStoppingを適用
--ModelCheckpointクラス~
検証誤差が最も低い状態のモデルを保存
---monitor :監視する値(デフォルト: val_loss)
---mode :収束判定(auto: 自動, min: 最小時, max...
---verbose :標準出力で通知をするか否か
---filepath :モデルを保存するファイルパス
---save_best_only:最良の状態のモデルのみを保存するかどう...
mc = ModelCheckpoint(monitor='val_loss', mode='min', ver...
hist = model.fit(x_train_std , y_train,
validation_data=(x_test_std, y_test),
batch_size=batch_size,
epochs=n_epoch,
verbose=1,
callbacks=[mc]) # ModelCheckpointを適用
-バッチ正規化(Batch Normalization)
model.add(BatchNormalization())
-ドロップアウト(Dropout)~
最終層より前に以下を追加。
# 無効化比率0.5のDropout
model.add(Dropout(rate=0.5))
-[[CNNの場合、>データマイニング(DM)- Python - CNN#yb34d...
--データ拡張(data augmentation)
--バッチ正規化(Batch Normalization)
***モデルの保存と復元 [#b4446374]
-モデルの保存
# モデルはjson形式
json_string = model.to_json()
with open('mnist.model', 'w') as f:
f.write(json_string)
# パラメータはhdf5形式
model.save_weights('param.hdf5')
-モデルの復元~
復元後、再度コンパイルが必要になる。
# モデルはjson形式
with open('mnist.model', 'r') as f:
json_string = f.read()
model = model_from_json(json_string)
# パラメータはhdf5形式
model.load_weights('param.hdf5')
**次のステップ [#y53030a2]
***[[Python - DNN>データマイニング(DM)- Python - DNN]] ...
***[[Python - RNN>データマイニング(DM)- Python - RNN]] ...
***[[Python - CNN>データマイニング(DM)- Python - CNN]] ...
***[[on Azure Machine Learning>https://techinfoofmicrosof...
*参考 [#h7e27aca]
**[[scikit-learn]] [#w7ee6c9b]
**[[TensorFlow・Keras]] [#f12c56ee]
ページ名: