যদি আমি গড় স্কোয়ার ত্রুটির পরিবর্তে নিখুঁত গড় ত্রুটি হ্রাস করি তবে টেনসরফ্লো কেন সাধারণ লিনিয়ার মডেলটিকে ফিট করতে পারে না?


10

ইন ভূমিকা আমি শুধু বদলে গেছে

loss = tf.reduce_mean(tf.square(y - y_data))

প্রতি

loss = tf.reduce_mean(tf.abs(y - y_data)) 

এবং মডেল লোকসান শিখতে অক্ষম সময়ের সাথে আরও বড় হয়ে উঠেছে। কেন?

উত্তর:


17

আমি এটি চেষ্টা করেছিলাম এবং একই ফলাফল পেয়েছি।

এটি কারণ কারণ .absসাধারণ অপ্টিমাইজারের গ্রেডিয়েন্টটি মিনিমা অনুসরণ করা শক্ত হয়, বর্গক্ষেত্রের পার্থক্যের বিপরীতে যেখানে গ্রেডিয়েন্ট ধীরে ধীরে শূন্যের দিকে যায়, পরম পার্থক্যটির গ্রেডিয়েন্টের একটি নির্দিষ্ট মাত্রা থাকে যা হঠাৎ করে বিপরীত হয়, যা আশেপাশে অপটিমাইজার দোলকে পরিণত হয় সর্বনিম্ন পয়েন্ট বেসিক গ্রেডিয়েন্ট বংশোদ্ভূত গ্রেডিয়েন্টের মাত্রা এবং শিক্ষার হারের প্রতি খুব সংবেদনশীল, যা মূলত ধাপের আকারগুলির জন্য গ্রেডিয়েন্টের কেবল একটি গুণক।

সবচেয়ে সহজ ফিক্স হ'ল লার্নিং রেট হ্রাস করা যেমন লাইন পরিবর্তন করুন

optimizer = tf.train.GradientDescentOptimizer(0.5)

প্রতি

optimizer = tf.train.GradientDescentOptimizer(0.05)

এছাড়াও, বিভিন্ন অপটিমাইজারের সাথে একটি নাটক করুন। কেউ কেউ .absবেসড ক্ষতি আরও ভালভাবে মোকাবেলা করতে সক্ষম হবে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.