L1
類別tf_keras.regularizers.L1(l1=0.01, **kwargs)
一個應用 L1 正規化懲罰的正規化器。
L1 正規化懲罰的計算方式為:loss = l1 * reduce_sum(abs(x))
L1 可以作為字串識別符傳遞到層
>>> dense = tf.keras.layers.Dense(3, kernel_regularizer='l1')
在這種情況下,使用的預設值為 l1=0.01
。
參數
L2
類別tf_keras.regularizers.L2(l2=0.01, **kwargs)
一個應用 L2 正規化懲罰的正規化器。
L2 正規化懲罰的計算方式為:loss = l2 * reduce_sum(square(x))
L2 可以作為字串識別符傳遞到層
>>> dense = tf.keras.layers.Dense(3, kernel_regularizer='l2')
在這種情況下,使用的預設值為 l2=0.01
。
參數
L1L2
類別tf_keras.regularizers.L1L2(l1=0.0, l2=0.0)
一個同時應用 L1 和 L2 正規化懲罰的正規化器。
L1 正規化懲罰的計算方式為:loss = l1 * reduce_sum(abs(x))
L2 正規化懲罰的計算方式為 loss = l2 * reduce_sum(square(x))
L1L2 可以作為字串識別符傳遞到層
>>> dense = tf.keras.layers.Dense(3, kernel_regularizer='l1_l2')
在這種情況下,使用的預設值為 l1=0.01
和 l2=0.01
。
參數
OrthogonalRegularizer
類別tf_keras.regularizers.OrthogonalRegularizer(factor=0.01, mode="rows")
鼓勵輸入向量彼此正交的正規化器。
它可以應用於矩陣的行(mode="rows"
)或列(mode="columns"
)。當應用於形狀為 (input_dim, units)
的 Dense
核心時,行模式會嘗試使特徵向量(即輸出空間的基礎)彼此正交。
參數
factor
乘以輸入的 L2 正規化行的點積平均值成正比(如果 mode="rows"
,或者如果是 mode="columns"
則為列),不包括每個行/列與自身的乘積。預設值為 0.01。{"rows", "columns"}
其中之一。預設值為 "rows"
。在行模式下,正規化效果會嘗試使輸入的行彼此正交。在列模式下,它會嘗試使輸入的列彼此正交。範例
>>> regularizer = tf.keras.regularizers.OrthogonalRegularizer(factor=0.01)
>>> layer = tf.keras.layers.Dense(units=4, kernel_regularizer=regularizer)