Meezo ML نشر 6 يوليو 2021 أرسل تقرير نشر 6 يوليو 2021 ماهو ال MeanSquaredError وكيف نقوم باستخدام لمهام التوقع Regression في Keras؟ وهل يصح استخدامه كمعيار لقياس كفاءة النموذج؟ اقتباس
1 Ali Haidar Ahmad نشر 6 يوليو 2021 أرسل تقرير نشر 6 يوليو 2021 (معدل) أشهر دالة تكلفة والأفضل مع مسائل التوقع ويمكن استخدامها أيضاً كمعيار لكن من غير الشائع القيام بذلك، وهي تقوم على حساب متوسط الفرق التربيعي بين القيم المتوقعة من النموذج والقيمة الفعلية. ال MSE قوي في التعامل مع القيم المتطرفة في البيانات. الصيغة الرياضية: ال MSE من أجل عينة ما : # من أجل عينة واحدة loss = square(y_true - y_pred) لاستخدامها نقوم بتمررها إلى الدالة compile في نوذجنا كما في المثال: # تحميل الداتا from keras.datasets import boston_housing import keras (train_data, train_targets), (test_data, test_targets) = boston_housing.load_data() # توحيد البيانات mean = train_data.mean(axis=0) train_data -= mean std = train_data.std(axis=0) train_data /= std test_data -= mean test_data /= std from keras import models from keras import layers # بناء النموذج def build_model(): model = models.Sequential() model.add(layers.Dense(64, activation='relu', input_shape=(train_data.shape[1],))) model.add(layers.Dense(64, activation='relu')) model.add(layers.Dense(1)) model.compile(optimizer='rmsprop', loss=keras.losses., metrics=['mae']) #بالشكل التالي compile هنا استخدمناها كدالة تكلفة وكمعيار عن طريق تمريره إلى الدالة #model.compile(optimizer='rmsprop', loss='mse', metrics=['mse']) return model # تدريب النموذج model = build_model() model.fit(train_data, train_targets,epochs=8, batch_size=64) """ Epoch 1/8 7/7 [==============================] - 1s 2ms/step - loss: 583.3815 - mse: 583.3815 Epoch 2/8 7/7 [==============================] - 0s 2ms/step - loss: 531.9802 - mse: 531.9802 Epoch 3/8 7/7 [==============================] - 0s 3ms/step - loss: 503.3803 - mse: 503.3803 Epoch 4/8 7/7 [==============================] - 0s 3ms/step - loss: 409.2950 - mse: 409.2950 Epoch 5/8 7/7 [==============================] - 0s 2ms/step - loss: 387.9506 - mse: 387.9506 Epoch 6/8 7/7 [==============================] - 0s 3ms/step - loss: 303.1605 - mse: 303.1605 Epoch 7/8 7/7 [==============================] - 0s 2ms/step - loss: 253.2450 - mse: 253.2450 Epoch 8/8 7/7 [==============================] - 0s 3ms/step - loss: 190.7695 - mse: 190.7695 """ تم التعديل في 6 يوليو 2021 بواسطة Ali Haidar Ahmad 2 اقتباس
0 ريم المهدي نشر 29 أغسطس 2021 أرسل تقرير نشر 29 أغسطس 2021 Mean Squared Error (MSE) من أشهر دوال حساب الخطأ في regression problems والتي تحسب متوسط مربعات الفروقات بين القيم المتوقعة من النموذج و القيم الحقيقية، تمثل رياضياً ب: والدالة توجد في sklearn.metrics ويمكن مناداتها كالتالي: from sklearn.metrics import mean_squared_error y_true = [3, -0.5, 2, 7] y_pred = [2.5, 0.0, 2, 8] mean_squared_error(y_true, y_pred) والان يمكننا أن نقوم بعرض مثال لطريقة تطبيق mse على بيانات boston dataset: from keras import models, layers from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split X, y = load_boston(return_X_y=True) X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.4) print(X_train.shape, y_train.shape,X_test.shape, y_test.shape) model = models.Sequential() model.add(layers.Dense(13, activation='linear', input_shape=(13,))) model.add(layers.Dense(26, activation='sigmoid')) model.add(layers.Dense(1, activation='tanh')) model.compile(optimizer='rmsprop',loss=tf.keras.losses.mean_squared_error,metrics=['mse']) model.fit(X_train, y_train, epochs=3, batch_size=200) لاحظ ناتج تنفيذ النموذج و الذي يكون عبارة عن 3 حلقات epochs في كل مرة يتم فيها تدريب النموذج على عدد 200 مدخل و يتم تقييم النموذج بإستخدام mean_squared_error. اقتباس
السؤال
Meezo ML
ماهو ال MeanSquaredError وكيف نقوم باستخدام لمهام التوقع Regression في Keras؟ وهل يصح استخدامه كمعيار لقياس كفاءة النموذج؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.