Multi-class Classification, How to Solve Over&Underfit issue
1697 ワード
バッチ:バッチ・サイズとは、データセット全体が分割されたときに1つのグループに属するデータの数です.
Epoch:一度のEpochはデータセット全体の学習です.
Iteration:Epochの完了に必要なパラメータの更新回数(モデルでデータ全体を学習するために必要なバッチ数)
0と1のみの書き込みとしてマークされた高次元ベクトル
Ex)マーク0から9の場合、0->[10…0]、9->[0…1]
Output activationがSigmoidの場合に問題が発生
=>SigmoidではなくSoftmaxを使用
有効な出力値は0~1で、合計出力値の合計は1~>で出力を確率として解釈します.
:コストに一定の値を追加することでfitの時点を遅延
:通常のCost関数に重み付け割引を追加
:通常のCost関数に二乗重み付け値を追加します.ランダが大きいほど正規化効果が大きい
:設定したdrop rateに従ってノードをランダムに削除し、学習のたびに削除します.学習ごとに異なるノードの削除と復元を繰り返します
Epoch:一度のEpochはデータセット全体の学習です.
Iteration:Epochの完了に必要なパラメータの更新回数(モデルでデータ全体を学習するために必要なバッチ数)
Multi-class Classification
Labeling
One-hot Encoding
0と1のみの書き込みとしてマークされた高次元ベクトル
Ex)マーク0から9の場合、0->[10…0]、9->[0…1]
Activation Function
Softmax
Output activationがSigmoidの場合に問題が発生
=>SigmoidではなくSoftmaxを使用
有効な出力値は0~1で、合計出力値の合計は1~>で出力を確率として解釈します.
Loss
Cross-Entropy
How to Solve the Over & Underfit issue
Regularizer
:コストに一定の値を追加することでfitの時点を遅延
:通常のCost関数に重み付け割引を追加
:通常のCost関数に二乗重み付け値を追加します.ランダが大きいほど正規化効果が大きい
from tensorflow.keras import regularizers
def regularizer_model():
model=Sequential()
model.add(Dense(20,'relu',kernel_regularizer=regularizers.l2(0.001)))
Dropout
:設定したdrop rateに従ってノードをランダムに削除し、学習のたびに削除します.学習ごとに異なるノードの削除と復元を繰り返します
from tensorflow.keras.layers import Dropout
def dropout_model():
model=Sequential()
model.add(Dense(units=10, activation='relu'))
model.add(Dense(21,'relu'))
model.add(Dropout(0.2)) #바로 위의 layer를 dropout #rate: 버릴 unit의 비율 결정
Reference
この問題について(Multi-class Classification, How to Solve Over&Underfit issue), 我々は、より多くの情報をここで見つけました https://velog.io/@unanana/Multi-class-Classification-How-to-Solve-OverUnderfit-issueテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol