পূর্ববর্তী ইউনিট নিম্নলিখিত মডেলটি প্রবর্তন করেছে, যা পরীক্ষার সেটে প্রচুর গাছকে ভুল শ্রেণিবদ্ধ করেছে:
পূর্ববর্তী মডেলটিতে অনেক জটিল আকার রয়েছে। একটি সহজ মডেল নতুন ডেটা আরও ভালভাবে পরিচালনা করবে? ধরুন আপনি জটিল মডেলটিকে একটি হাস্যকরভাবে সহজ মডেল দিয়ে প্রতিস্থাপন করেছেন -- একটি সরল রেখা৷
সাধারণ মডেলটি নতুন ডেটাতে জটিল মডেলের চেয়ে ভাল সাধারণীকরণ করে। অর্থাৎ, সাধারণ মডেল জটিল মডেলের চেয়ে পরীক্ষা সেটে ভাল ভবিষ্যদ্বাণী করেছে।
সরলতা দীর্ঘদিন ধরে জটিলতাকে হার মারে। প্রকৃতপক্ষে, সরলতার জন্য অগ্রাধিকার প্রাচীন গ্রীসে ফিরে এসেছে। কয়েক শতাব্দী পরে, ওকামের উইলিয়াম নামে একজন চতুর্দশ শতাব্দীর ফ্রিয়ার ওকামের রেজর নামে পরিচিত একটি দর্শনে সরলতার জন্য অগ্রাধিকারকে আনুষ্ঠানিক রূপ দেন। এই দর্শনটি মেশিন লার্নিং সহ অনেক বিজ্ঞানের একটি অপরিহার্য অন্তর্নিহিত নীতি হিসাবে রয়ে গেছে।
ব্যায়াম: আপনার উপলব্ধি পরীক্ষা করুন
আপনি একটি পদার্থবিজ্ঞানের সমীকরণ তৈরি করছেন। নিচের কোন সূত্রটি ওকামের রেজারের সাথে আরও ঘনিষ্ঠভাবে সামঞ্জস্যপূর্ণ?
তিনটি ভেরিয়েবল সহ একটি সূত্র।
তিনটি ভেরিয়েবল বারোটি ভেরিয়েবলের চেয়ে বেশি Occam-বান্ধব।
বারোটি ভেরিয়েবল সহ একটি সূত্র।
বারোটি ভেরিয়েবল অত্যধিক জটিল বলে মনে হচ্ছে, তাই না? সর্বকালের দুটি সবচেয়ে বিখ্যাত পদার্থবিজ্ঞানের সূত্র (F=ma এবং E=mc 2 ) প্রতিটিতে মাত্র তিনটি ভেরিয়েবল জড়িত।
আপনি একেবারে নতুন মেশিন লার্নিং প্রকল্পে আছেন, আপনার প্রথম বৈশিষ্ট্যগুলি নির্বাচন করতে চলেছেন৷ আপনি কত বৈশিষ্ট্য বাছাই করা উচিত?
শক্তিশালী ভবিষ্যদ্বাণী করার ক্ষমতা আছে বলে মনে হয় এমন 1-3টি বৈশিষ্ট্য বেছে নিন।
শুধুমাত্র একটি বা দুটি বৈশিষ্ট্য দিয়ে শুরু করা আপনার ডেটা সংগ্রহের পাইপলাইনের জন্য সেরা। এটি আপনাকে নিশ্চিত করতে সাহায্য করবে যে এমএল মডেলটি উদ্দেশ্য অনুযায়ী কাজ করে। এছাড়াও, আপনি যখন কয়েকটি বৈশিষ্ট্য থেকে একটি বেসলাইন তৈরি করেন, তখন আপনার মনে হবে আপনি উন্নতি করছেন!
শক্তিশালী ভবিষ্যদ্বাণী করার ক্ষমতা আছে বলে মনে হয় এমন 4-6টি বৈশিষ্ট্য বেছে নিন।
আপনি শেষ পর্যন্ত এই অনেকগুলি বৈশিষ্ট্য ব্যবহার করতে পারেন, তবে আরও কম দিয়ে শুরু করা আরও ভাল। কম বৈশিষ্ট্য সাধারণত কম অপ্রয়োজনীয় জটিলতা বোঝায়।
আপনি যতটা সম্ভব বৈশিষ্ট্যগুলি বেছে নিন, যাতে আপনি কোন বৈশিষ্ট্যগুলির সবচেয়ে শক্তিশালী ভবিষ্যদ্বাণী করার ক্ষমতা রয়েছে তা পর্যবেক্ষণ করা শুরু করতে পারেন৷
ছোট করে শুরু করুন। প্রতিটি নতুন বৈশিষ্ট্য আপনার প্রশিক্ষণ ডেটাসেটে একটি নতুন মাত্রা যোগ করে। যখন মাত্রিকতা বৃদ্ধি পায়, তখন স্থানের আয়তন এত দ্রুত বৃদ্ধি পায় যে উপলব্ধ প্রশিক্ষণের ডেটা বিরল হয়ে যায়। আপনার ডেটা যত স্পার হবে, একটি মডেলের জন্য প্রকৃতপক্ষে গুরুত্বপূর্ণ বৈশিষ্ট্য এবং লেবেলের মধ্যে সম্পর্ক শিখতে তত কঠিন। এই ঘটনাটিকে "মাত্রিকতার অভিশাপ" বলা হয়।
নিয়মিতকরণ
মেশিন লার্নিং মডেলগুলিকে একই সাথে দুটি বিরোধপূর্ণ লক্ষ্য পূরণ করতে হবে:
ডেটা ভালভাবে ফিট করুন।
যতটা সম্ভব সহজভাবে ডেটা ফিট করুন।
একটি মডেলকে সরল রাখার একটি পদ্ধতি হল জটিল মডেলকে শাস্তি দেওয়া; অর্থাৎ প্রশিক্ষণের সময় মডেলটিকে আরও সহজ হতে বাধ্য করা। জটিল মডেলগুলিকে শাস্তি দেওয়া নিয়মিতকরণের এক রূপ।
ক্ষতি এবং জটিলতা
এখনও অবধি, এই কোর্সটি পরামর্শ দিয়েছে যে প্রশিক্ষণের একমাত্র লক্ষ্য ছিল ক্ষতি হ্রাস করা; সেটা হল:
$$\text{minimize(loss)}$$
আপনি যেমন দেখেছেন, শুধুমাত্র ক্ষতি কমানোর উপর ফোকাস করা মডেলগুলি ওভারফিট হয়ে থাকে। একটি ভাল প্রশিক্ষণ অপ্টিমাইজেশান অ্যালগরিদম ক্ষতি এবং জটিলতার কিছু সমন্বয় কমিয়ে দেয়:
$$\text{minimize(loss + complexity)}$$
দুর্ভাগ্যবশত, ক্ষতি এবং জটিলতা সাধারণত বিপরীতভাবে সম্পর্কিত। জটিলতা বাড়ার সাথে সাথে ক্ষতিও কমে। জটিলতা কমলে ক্ষতি বাড়ে। আপনার একটি যুক্তিসঙ্গত মধ্যম স্থল খুঁজে পাওয়া উচিত যেখানে মডেলটি প্রশিক্ষণের ডেটা এবং বাস্তব-বিশ্বের ডেটা উভয়ের উপরই ভাল ভবিষ্যদ্বাণী করে। যে, আপনার মডেল ক্ষতি এবং জটিলতার মধ্যে একটি যুক্তিসঙ্গত আপস খুঁজে পাওয়া উচিত.
জটিলতা কি?
আপনি ইতিমধ্যে ক্ষতির পরিমাণ নির্ধারণের কয়েকটি ভিন্ন উপায় দেখেছেন। আপনি কিভাবে জটিলতা পরিমাপ করবেন? নিম্নলিখিত অনুশীলনের মাধ্যমে আপনার অন্বেষণ শুরু করুন:
ব্যায়াম: আপনার অন্তর্দৃষ্টি পরীক্ষা করুন
এখন পর্যন্ত, আমরা আসলে কি জটিলতা সম্পর্কে বেশ অস্পষ্ট ছিলাম। নিম্নলিখিত ধারণাগুলির মধ্যে কোনটি আপনি যুক্তিসঙ্গত জটিলতা মেট্রিক্স বলে মনে করেন?
জটিলতা হল মডেলের ওজনের একটি ফাংশন।
হ্যাঁ, এটি কিছু মডেলের জটিলতা পরিমাপ করার একটি উপায়। এই মেট্রিককে বলা হয় L 1 নিয়মিতকরণ।
জটিলতা হল মডেলের ওজনের বর্গক্ষেত্রের একটি ফাংশন।
হ্যাঁ, আপনি এইভাবে কিছু মডেলের জটিলতা পরিমাপ করতে পারেন। এই মেট্রিককে বলা হয় L 2 নিয়মিতকরণ ।
জটিলতা হল মডেলের সমস্ত বৈশিষ্ট্যের পক্ষপাতের একটি ফাংশন।
[null,null,["2024-11-07 UTC-তে শেষবার আপডেট করা হয়েছে।"],[[["Simpler models often generalize better to new data than complex models, even if they perform slightly worse on training data."],["Occam's Razor favors simpler explanations and models, prioritizing them over more complex ones."],["Regularization techniques help prevent overfitting by penalizing model complexity during training."],["Model training aims to minimize both loss (errors on training data) and complexity for optimal performance on new data."],["Model complexity can be quantified using functions of model weights, like L1 and L2 regularization."]]],[]]