اذهب إلى المحتوى
  • 0

دالة الخسارة Hinge losses في Keras

Meezo ML

السؤال

Recommended Posts

  • 1

Hinge loss هي دالة تكلفة تستخدم لمصنفات التدريب مثل SVM
تقوم هذه الدالة بحساب خسارة هاينغ بين القيم المتوقعة والقيم الحققية للنموذج.
يتم استخدامها عبر الموديول:

keras.losses
loss = maximum(1 - y_true * y_pred, 0)

مثال:

y_true = [[1., 0.], [0., 0.]]
y_pred = [[0.3, 0.5], [0.2, 0.6]]
h = tf.keras.losses.Hinge()
h(y_true, y_pred).numpy()

لاستخدامها في تدريب نموذجك نقوم بتمريرها إلى الدالة compile كالتالي:

model.compile(
    loss=keras.losses.hinge(), 
    ...
)
# أو
model.compile(
    loss="hinge", 
    ...
)


سأعطي الآن مثال لاستخدمها في بناء نموذج في في كيراس يحاكي خوارزمية SVM:

#SVM النموذج التالي يعمل بشكل مشابه لل
#RandomFourierFeatures نقوم باستخدام طبقات  SVM  لتحقيق 
from tensorflow.keras.layers.experimental import RandomFourierFeatures
from tensorflow import keras
from  keras.datasets import mnist
from tensorflow.keras import layers
(x_train, y_train), (x_test, y_test) =mnist.load_data()
# معالجة البيانات
x_train = x_train.reshape(-1, 784).astype("float32") / 255
x_test = x_test.reshape(-1, 784).astype("float32") / 255
y_train = keras.utils.to_categorical(y_train)
y_test = keras.utils.to_categorical(y_test)
# بناء النموذج
model = keras.Sequential(
    [
        keras.Input(shape=(784,)),
        RandomFourierFeatures(
            output_dim=4096, scale=10.0, kernel_initializer="gaussian"
        ),
        layers.Dense(units=10),
    ]
)
model.compile(
    optimizer="rmsprop",
    loss=keras.losses.hinge(), 
    metrics=["acc"],
)
# تدريب النموذج
model.fit(x_train, y_train, epochs=2, batch_size=64, validation_split=0.2)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...