مخفي مبادئ تصميم وحدة (مواد قانون) | آلة التعلم سوف تواجه "حفرة"

على قطعة من التعليمات البرمجية التي علينا أن keras ظائف القيام مقدمة موجزة، ونحن قادرون على بناء بسرعة شبكة بسيطة التغذية إلى الأمام العصبية، ولكن على الغرض الرئيسي هو للسماح للناس على دراية بشكل أسرع keras الوظائف الأساسية، لن يتم تطبيق نموذج لبيانات محددة، سوف نستخدم هذه المقالة لمعرفة بعض الإحصاءات، وعدد من نماذج الشبكة العصبية والتعلم الإحصائي للقيام المقارنة التقريبية بسيطة.

أولا، البيانات السكري يمكننا استخدام الشبكة العصبية في "overfitting"، فمن البيانات عودة 10 يتضمن ميزات، يمكننا استخدام بسيطة الانحدار الخطي، ريدج الانحدار، لاسو، الانحدار النظرية الافتراضية، SVR، الخ نموذج للتعلم، من الصعب تحديد تأثير هذه الطرق يمكن تحقيق أفضل من ذلك بكثير، لأن استخراج ميزة بالإضافة إلى المعلمات الداخلية للمتعلم، ونحن سوف تواجه مشاكل توافقية كبيرة جدا، هو أكثر تعقيدا مقارنة بدقة مشروع واحد، في نحن فقط جعل المقارنة صعبة هنا، فإننا نشير إلى نتائج وسيلة لا يتجزأ المذكورة في قسم "كيفية تحديد ميزات":

من sklearn.feature_selection RFECV استيراد

سيبورن استيراد كما SNS

matplotlib.pyplot استيراد كما معاهدة قانون البراءات

استيراد نمباي كما أرستها

من sklearn.linear_model انحدار خطي استيراد

من sklearn.model_selection KFold استيراد

البيانات = datasets.load_diabetes ()

X = البيانات

ذ = البيانات

LR = انحدار خطي ()

هداف = 'neg_mean_squared_error "

rfecv = RFECV (مقدر = LR، خطوة = 1، السيرة الذاتية = KFold (5)،

 الإحراز = هداف)

rfecv.fit (X، Y)

sns.set ( 'darkgrid' = نمط)

plt.xlabel ( "عدد من الميزات المحددة")

plt.ylabel ( "عبر نقاط التحقق (MSE)")

plt.plot (المدى (1، ليون (rfecv.grid_scores_) + 1)، -rfecv.grid_scores _، "ص"، والتسمية = "العدد الأمثل من الميزات: د" rfecv.n_features_)

plt.legend ()

plt.show ()

كما هو مبين، وطريقة التغليف للمتعلم بسيط الانحدار الخطي، عند إزالة البيانات التكرارية وجدت 6 حيث أفضل وقت، وMSE من 2946.88.

نبني الشبكة العصبية بسيطة تحتوي على طبقتين الخفية للبيانات عودة كذا وطباعته هيكل:

من المهيآت استيراد keras

من keras.models استيراد نموذج

من keras.layers استيراد المدخلات، الكثيفة، تفعيل

آر = initializers.RandomNormal (المتوسط = 0، stddev = 1، وبذور = 42)

المدخلات = الإدخال (الشكل = (10،))

س = الكثيفة (128، kernel_initializer = آكانيوز) (المدخلات)

س = تفعيل ( 'السيني') (خ)

س = الكثيفة (32، kernel_initializer = آكانيوز) (خ)

س = تفعيل ( 'السيني') (خ)

من = الكثيفة (1، kernel_initializer = آكانيوز) (خ)

من = تفعيل ( 'خطي') (الخروج)

نموذج = نموذج (المدخلات = المدخلات والمخرجات = الخروج)

طباعة (model.summary ())

______________________________________________________

طبقة (النوع) الناتج الشكل بارام #

================================================== ====

input_25 (InputLayer) (لا يوجد، 10) 0

______________________________________________________

dense_56 (الكثيفة) (لايوجد، 128) 1408

______________________________________________________

activation_52 (تفعيل) (لايوجد، 128) 0

______________________________________________________

dense_57 (الكثيفة) (لايوجد، 32) 4128

______________________________________________________

activation_53 (تفعيل) (لايوجد، 32) 0

______________________________________________________

dense_58 (الكثيفة) (لايوجد، 1) 33

______________________________________________________

activation_54 (تفعيل) (لايوجد، 1) 0

================================================== ====

مجموع بارامس: 5569

بارامس المدربة: 5569

بارامس غير قابلة للتدريب: 0

______________________________________________________

نتيجة الطباعة، أي ما مجموعه 5569 المعلمات، فإنه ينطوي على عدد من طريقة المعلمات الحساب، وفرضية دراية الشبكة العصبية، يمكننا حساب بسرعة، 10 * 128 + 128 + 128 * 32 + 32 + 32 * 1 + 1 = 5569.

حيث، ونحن نستخدم وظيفة السيني عن وظيفة التنشيط في طبقة خفية، أول طبقة الخلايا العصبية 128، الطبقة الثانية 32 الخلايا العصبية، وعدد من تصميم الخلايا العصبية ولا يوجد سبب خاص. يتم استخدام الخلايا العصبية طبقة الناتج بوصفها وظيفة تنشيط خطي وحدة، في جوهره، لا يتم توظيف وظيفة التنشيط. بعد ذلك، بدأنا في تجميع ونموذج التدريب:

من keras خسائر الاستيراد، أبتيميزر، المقاييس

فقدان = losses.mean_squared_error

الأداء = metrics.mean_squared_error

محسن = optimizers.Adagrad ()

model.compile (الخسارة = خسارة، محسن = محسن، مقاييس = )

له = model.fit (X، Y، batch_size = 128، العهود = 50، مطول = 1، validation_split = 0.3، خلط = صحيح)

نحن نستخدم MSE كما الخسارة ومقاييس الأداء، Adagrad كما خوارزمية الأمثل، في نفس الوقت:

  • مجموعة الدفعة إلى 128، 128 تمثل عينات من كل التكرار باستخدام التدرج المحدثة.
  • مجموعة validation_split 0.3، ونحن نمثل اقتطعت قبل بدء التدريب كمجموعة التحقق من العينات 0.3.
  • العهود مجموعة من 50، ووسائل أنه سيكون لدينا مجموعة البيانات بالكامل 50 تكرارات.
  • تعيين مطول إلى 1، مما يدل على تحديث السجل عرض سيظهر:

تدريب على 309 عينات، التحقق من صحة على 133 عينات

عصر 1/5

309/309 - 0S 1MS / خطوة - خسارة: 27615،7395 - mean_squared_error: 27615،7395 - val_loss : 29259.6711 - val_mean_squared_error: 29259.6711

عصر 2/5

309/309 - 0S 38us / خطوة - خسارة: 26909،9610 - mean_squared_error: 26909،9610 - val_loss : 28663.5950 - val_mean_squared_error: 28663.5950

عصر 3/5

309/309 - 0S 30US / خطوة - خسارة: 26295،9708 - mean_squared_error: 26295،9708 - val_loss : 27765.8976 - val_mean_squared_error: 27765.8976

عصر 4/5

309/309 - 0S 35US / خطوة - خسارة: 25396،5153 - mean_squared_error: 25396،5153 - val_loss : 26754.5670 - val_mean_squared_error: 26754.5670

عصر 5/5

309/309 - 0S 42us / خطوة - خسارة: 24493،1804 - mean_squared_error: 24493،1804 - val_loss : 25994.9439 - val_mean_squared_error: 25994.9439

.......

هنا، واعتراض الوحيد من نتائج الخمسة الأولى، وذلك لأن البيانات أقل، كل العهود هي لحظية، ونحن في كثير من الأحيان لا ترى شريط التقدم، ولكن كل خطوة سوف نحصل خسارة على خسارة والمقاييس ومجموعات اختبار على مجموعة التدريب والمقاييس.

وسوف ننقذ كل خطوة من معلوماته إلى المتغير، يمكنك معرفة التغيير الخسارة ومقاييس الأداء لعملية التدريب، في هذه الحالة، لتخفيف ومقاييس الأداء هي نفسها:

سيبورن استيراد كما SNS

matplotlib.pyplot استيراد كما معاهدة قانون البراءات

sns.set ( 'darkgrid' = نمط)

plt.plot (المدى (50)، his.history ، والتسمية = 'val_loss')

plt.plot (المدى (50)، his.history ، والتسمية = 'trian_loss')

plt.title ( 'ANN الخسارة')

plt.legend ()

plt.show ()

كما هو مبين في 50 تكرارات على البيانات الشاملة، ويمكن العثور عليها في التدريب واختبار مجموعات من انخفاض الخسارة بسرعة كبيرة.

ومن الجدير بالذكر هو أنه يمكنك أيضا أن ينظر إليه من هذا الرقم، وهذا الاتجاه لا يبدو التقارب الخسارة، وهو ما يعني فشل التدريب. من ناحية يمكننا اقامة لمراقبة العهود اللاحقة سواء التقارب، ولكن هذا من المرجح أن تكون غير مجدية، لأن المعلمات الشبكة العصبية ليست كثيرة، ليست عميقة، فمن السهل جدا الأمثل، لا تفشل التقارب بسرعة . من ناحية أخرى، وفقا ل "فهم أصل التدرج"، مع العلم أننا بحاجة إلى تغيير أنظمتنا الأمثل، وذلك باستخدام التدرج العشوائية أبسط لإضافة زخم الهبوط، بدلا من الخوارزمية معدل التعلم التكيفي، لأن أوجه القصور من المرجح Adagrad في البدء في تعلم معدل قطرات منخفضة جدا، مما يجعل تحسين بطيء:

....... # بقية تبقى دون تغيير

محسن = optimizers.SGD ()

model.compile (الخسارة = خسارة، محسن = محسن، مقاييس = )

له = model.fit (X، Y، batch_size = 128، العهود = 50، مطول = 1، validation_split = 0.3، خلط = صحيح)

sns.set ( 'darkgrid' = نمط)

plt.plot (المدى (50)، his.history ، والتسمية = 'val_loss')

plt.plot (المدى (50)، his.history ، والتسمية = 'trian_loss')

plt.title ( 'ANN الخسارة')

plt.legend ()

plt.show ()

كما هو مبين، ببساطة إضافة زخم SGD في التكرار 2ND البيانات الشاملة تفعل عندما خفضت وضع الخسارة إلى مستوى منخفض جدا.

عند هذه النقطة، دعونا نلقي مقارنة خاطفة من اثنين، يتم تغليف بسيط MSE الانحدار الخطي في 2946 بموجب القانون في هذه الشبكة العصبية ويتجلى أكثر من 5000، وهي مشكلة خطيرة جدا. قدم الكثير من الحجج الشبكة العصبية، يمكننا أن نتصور بسهولة التي وقعت خلال تركيب (مقارنة مع الانحدار الخطي)، ونحن يمكن أن تتخذ سياسة كثيرة، ولكن هنا من أجل عدم إدخال المزيد من المشاكل، ونحن إزالته يحتوي على 128 العصبية في طبقة خفية لتحقيق هدف خفض حجم الشبكة العصبية:

المدخلات = الإدخال (الشكل = (10،))

س = الكثيفة (32، kernel_initializer = آكانيوز) (المدخلات)

س = تفعيل ( 'السيني') (خ)

من = الكثيفة (1، kernel_initializer = آكانيوز) (خ)

من = تفعيل ( 'خطي') (الخروج)

نموذج = نموذج (المدخلات = المدخلات والمخرجات = الخروج)

وبهذه الطريقة، يمكن للشبكة العصبية تحتوي فقط على طبقة مخفية، ما زلنا وصف الخطوات المذكورة أعلاه يمكن الحصول عليها:

كما هو مبين، ربما في حوالي 30 العهود، وحصلنا على أقرب إلى الانحدار الخطي من MSE.

للبيانات المستخدمة في هذه الورقة، يبدو أن الشبكة العصبية لن تتجاوز نتائج الدراسة الإحصائية يعطي حتى أبسط الانحدار الخطي. في الواقع لم يكن كذلك، من جهة، وإذا كان علينا أن نعدل بعناية المعلمات من الشبكة العصبية ينبغي أن يكون أفضل من بسيطة الانحدار الخطي، ولكن بالنسبة للشبكة العصبية، والتكيف المعلمة هي صعبة للغاية، فقط عدد طبقات وعدد من الخلايا العصبية من الصعب للغاية تحديد أكثر ناهيك عن تغيير نوع وظيفة التنشيط، فإننا الفصل التالي في رمز تظهر آثار مختلفة وظيفة التنشيط على الأداء. من ناحية أخرى، أظهرت دراسة إحصائية دورها الذي لا غنى عنه، فإنه يأخذ أقل من الموارد في العديد من المهام، وقضاء وقت أقل سوف تكون قادرة على الحصول على نتيجة مرضية.

قراءة Xinjunkaiba الفصول الدراسية TIPS

في الرجعة البيانات للقيام سبيل المثال، واحدة من الأسباب بأنني تلقيت سؤال: لماذا لا يعود إلى الشبكة العصبية؟ كنت لا إعادته؟ وأعتقد أن هذه المادة يمكن أن تكون جوابا، وبطبيعة الحال، يمكن للشبكة العصبية تفعل العودة، ولكن الآن معظم فترات المباراة لتحديد المشكلة، وهي مشاكل التصنيف، والشبكات العصبية لا يفهم الناس الذين هم عرضة للانطباعا خاطئا.

هنا أنا استخدم النموذج الخطي وحدة الانتاج، في الواقع، هو الخلايا العصبية المدخلات كمخرج، وسيتم وصف تصميم وحدة الانتاج بالتفصيل في الدروس اللاحقة، والقراء قد نتذكر بسيط الأولى، وحدة الانتاج الانحدار العام وقد اعتمدنا الخطية.

منع الشبكة العصبية overfitting هناك طرق عديدة، مثل التسرب، مشيرا الى تسوية، وتقاسم المعلمة، وسوف نقدم في الدورات اللاحقة هنا اتخذت تدابير للحد من عدد من الطبقات، مثل هذا النهج المستخدمة في الممارسة و ليس كثيرا.

الكاتب: الراهب دون هيد آند شولدرز للطبع، يرجى ترك رسالة وراء الكواليس، والامتثال للمعايير طبع

اليوم صوت الأساسية | "اللبلاب" حقا نمط جديد، مكانة العملاق على أكتاف العمالقة

جامعة ميريلاند: A الطبية الحيوية البصيرة الأدب عمق في النظام استخراج استنادا الشبكة العصبية

ومن المتوقع، تسينغهوا مدرسة ثانوية الحرم الجامعي لبناء لاقامة 102 الطبقات

مخفي مبادئ تصميم وحدة (أوراق نظرية) | آلة التعلم سوف تواجه "حفرة"

التركيز على بكين للسماح شو العدائين نصف الماراثون أنهى السباق في سهولة العضو القيادي في فعل هذه الأشياء

اليوم صوت الأساسية | هوكينج لا يصلح الأصلي لجعله هناك، فإنه يستحق التأمل

شركة ALT: الانترنت منتجات تحديد الأسواق جرائم الإنترنت: مجال مجموعة البيانات التكيف مع الحبيبات غرامة

نموذج الربح بسيط جدا لمكتب حصة نار كاذبة حقا؟

في هذه الأيام في السنة فقط في انتظار، وهنا هو منتوقوه الكمثرى والزهور في البحر، لا يأتي؟

موجة الذكاء الاصطناعي، "حياة حشرة"

لماذا Jingdong TOPLIFE على خط 10 شهرا على التوقف أو ترفا مقدمي الكهربائي بطريقة سيئة أن تذهب؟

الصوت الأساسي اليوم | تأسست رسميا الدخن مقر الثانية! لى يونيو أحب هذه المدينة