কী দুর্দান্ত প্রশ্ন- এটি কোনও ব্যক্তির কোনও পরিসংখ্যানগত পদ্ধতির ত্রুটিগুলি এবং অনুমানগুলি কীভাবে পরিদর্শন করবে তা দেখানোর সুযোগ। যথা: কিছু ডেটা তৈরি করুন এবং এটিতে অ্যালগরিদম চেষ্টা করুন!
আমরা আপনার দুটি অনুমান বিবেচনা করব এবং আমরা দেখব যে এই অনুমানগুলি ভেঙে গেলে কে-মানে অ্যালগরিদমের কী হয়। ভিজ্যুয়ালাইজ করা সহজ যেহেতু আমরা দ্বি-মাত্রিক ডেটাতে থাকব। ( মাত্রিকতার অভিশাপের জন্য ধন্যবাদ , অতিরিক্ত মাত্রা যুক্ত করা এই সমস্যাগুলিকে আরও গুরুতর করে তুলবে, কম নয়)। আমরা পরিসংখ্যান প্রোগ্রামিং ভাষার সাথে কাজ করব আর: আপনি এখানে পুরো কোডটি খুঁজে পেতে পারেন (এবং ব্লগ ফর্মের পোস্টটি এখানে )।
ডাইভারশন: আনসকম্বের চতুর্মুখী
প্রথমত, একটি উপমা। কল্পনা করুন যে কেউ নিম্নলিখিত তর্ক করেছেন:
লিনিয়ার রিগ্রেশন-এর অসুবিধাগুলি সম্পর্কে আমি কিছু উপাদান পড়েছি- যে এটি একটি রৈখিক প্রবণতা প্রত্যাশা করে, অবশিষ্টাংশগুলি সাধারণত বিতরণ করা হয়, এবং কোনও বিদেশী নেই। তবে সমস্ত লিনিয়ার রিগ্রেশন করছিল পূর্বাভাস করা রেখা থেকে স্কোয়ার ত্রুটির যোগফলকে কমিয়ে আনা (এসএসই)। এটি একটি অপ্টিমাইজেশান সমস্যা যা বক্রের আকার বা অবশিষ্টাংশের বিতরণ যাই হোক না কেন সমাধান করা যায় be সুতরাং, লিনিয়ার রিগ্রেশনটির কাজ করার জন্য কোনও অনুমানের প্রয়োজন নেই।
ভাল, হ্যাঁ, স্কোয়ারের অবশিষ্টাংশের যোগফলকে হ্রাস করে লিনিয়ার রিগ্রেশন কাজ করে। তবে এটি নিজে থেকে কোনও আবেগের লক্ষ্য নয়: আমরা যা করার চেষ্টা করছি তা হল একটি লাইন আঁকা যা এক্স এর উপর ভিত্তি করে y এর নির্ভরযোগ্য, নিরপেক্ষ ভবিষ্যদ্বাণী হিসাবে কাজ করে । গাউস-মার্কভ উপপাদ্য আমাদেরকে বলে যে SSE কমানোর accomplishes যে goal- কিন্তু যে উপপাদ্য কিছু খুব নির্দিষ্ট অনুমানের উপর অবস্থিত থাকলে সংশ্লিষ্ট। যদি এই অনুমানগুলি ভেঙে যায়, আপনি এখনও এসএসইকে ছোট করতে পারেন, তবে এটি নাও করতে পারেকিছু. "আপনি প্যাডেলটি ঠেকিয়ে গাড়ি চালাচ্ছেন: বলছেন কল্পনা করুন: ড্রাইভিং মূলত একটি 'প্যাডেল-পুশিং প্রক্রিয়া'। ট্যাঙ্কে যতটা গ্যাস থাকুক না কেন প্যাডেলটি ধাক্কা দেওয়া যায় Therefore সুতরাং, ট্যাঙ্কটি খালি থাকলেও আপনি প্যাডেলটি চাপতে এবং গাড়ি চালাতে পারেন। "
তবে কথাবার্তা সস্তা। আসুন দেখে নেওয়া যাক শীতল, শক্ত, ডেটা। বা আসলে, মেক-আপ ডেটা।
আর2
কেউ বলতে পারেন "লিনিয়ার রিগ্রেশন এখনও সেই ক্ষেত্রে কাজ করছে , কারণ এটি অবশিষ্টাংশের বর্গের যোগফলকে হ্রাস করে।" তবে কী পিরাহিক বিজয় ! লিনিয়ার রিগ্রেশন সর্বদা একটি লাইন আঁকবে, তবে এটি যদি অর্থহীন লাইন হয় তবে কে যত্ন করে?
সুতরাং এখন আমরা দেখতে পাচ্ছি যে কেবলমাত্র একটি অপ্টিমাইজেশন সম্পাদন করা যেতে পারে তার অর্থ এই নয় যে আমরা আমাদের লক্ষ্য অর্জন করছি। এবং আমরা দেখতে পাচ্ছি যে ডেটা তৈরি করা এবং এটির দৃশ্যায়ন করা কোনও মডেলের অনুমানগুলি পরীক্ষা করার জন্য একটি ভাল উপায়। এই স্বজ্ঞাতে থাকুন, আমাদের এক মিনিটের মধ্যে এটির প্রয়োজন হবে।
ভাঙা অনুমান: অ-গোলাকার তথ্য
আপনি যুক্তি দিয়েছিলেন যে কে-মানে অ্যালগোরিদম অ-গোলাকার ক্লাস্টারগুলিতে সূক্ষ্মভাবে কাজ করবে। নন-গোলাকার ক্লাস্টারগুলি ... এইগুলি?
সম্ভবত এটি আপনি প্রত্যাশা করেছিলেন তা নয় - তবে এটি ক্লাস্টারগুলি তৈরির জন্য একদম যুক্তিসঙ্গত উপায়। এই চিত্রটির দিকে তাকালে আমরা মানুষগুলি সাথে সাথে দুটি প্রাকৃতিক দফার পয়েন্টগুলি সনাক্ত করতে পারি them এগুলিতে কোনও ভুল হয় না। সুতরাং আসুন দেখা যাক কী-কীভাবে করে: অ্যাসাইনমেন্টগুলি রঙে দেখানো হয়, অভিযুক্ত কেন্দ্রগুলি এক্স এর হিসাবে দেখানো হয়।
ঠিক আছে, এটা ঠিক না। কে-মানে একটি বৃত্তাকার ছিদ্রটি একটি বৃত্তাকার ছিদ্রের সাথে ফিট করার চেষ্টা করছিল - তাদের চারপাশে ঝরঝরে ঝরঝরে সুন্দর কেন্দ্রগুলি সন্ধান করার চেষ্টা করেছিল - এবং এটি ব্যর্থ হয়েছিল। হ্যাঁ, এটি এখনও স্কোয়ারের মধ্যে-ক্লাস্টারের যোগফলকে কমিয়ে দিচ্ছে- তবে ঠিক উপরের অঙ্কম্বের চতুর্মুখীর মতোই এটি একটি পিরারিক জয়ের!
আপনি বলতে পারেন "এটি একটি নিখুঁত উদাহরণ নয় ... কোনও ক্লাস্টারিং পদ্ধতি সঠিকভাবে এমন ক্লাস্টারগুলি খুঁজে পায়নি যা সেই অদ্ভুত।" সত্য না! একক লিংকেজ শ্রেণিবদ্ধ ক্লাস্টারিং চেষ্টা করুন :
এটি পেরেক! এটি কারণ সিঙ্গল-লিঙ্কেজ হায়ারারিকিকাল ক্লাস্টারিং এই ডেটাসেটের জন্য সঠিক অনুমানগুলি তৈরি করে। ( পরিস্থিতিগুলির সম্পূর্ণ অন্যান্য শ্রেণি রয়েছে যেখানে এটি ব্যর্থ হয়)।
আপনি বলতে পারেন "এটি একটি একক, চরম, প্যাথলজিকাল কেস।" কিন্তু এটা না! উদাহরণস্বরূপ, আপনি বহিরাগত গোষ্ঠীকে একটি বৃত্তের পরিবর্তে একটি আধা-বৃত্ত তৈরি করতে পারেন এবং আপনি দেখতে পাবেন কে-মানে এখনও ভয়ঙ্করভাবে ঘটে (এবং শ্রেণিবদ্ধ ক্লাস্টারিং এখনও ভাল করে)। আমি সহজেই অন্যান্য সমস্যাযুক্ত পরিস্থিতি নিয়ে আসতে পারি এবং এটি কেবল দুটি মাত্রার মধ্যে। আপনি যখন 16-মাত্রিক ডেটা ক্লাস্টার করছেন, তখন এমন সমস্ত ধরণের প্যাথলজি দেখা দিতে পারে could
শেষ অবধি, আমার খেয়াল করা উচিত যে কে-মানেগুলি এখনও উদ্ধারযোগ্য! আপনি যদি আপনার ডেটারটিকে পোলার স্থানাঙ্কে রূপান্তরিত করে শুরু করেন তবে ক্লাস্টারিং এখন কাজ করে:
এ কারণেই কোনও পদ্ধতির অন্তর্নিহিত অনুমানগুলি বোঝা অপরিহার্য: কোনও পদ্ধতিতে যখন কোনও অসুবিধা হয় তা কেবল আপনাকে জানায় না, কীভাবে এটি সংশোধন করবেন তা আপনাকে জানায়।
ভাঙা অনুমান: অসমৰ আকারযুক্ত গুচ্ছ
যদি ক্লাস্টারগুলির একটি অসম সংখ্যার পয়েন্ট থাকে- তবে এটি কে-মানে ক্লাস্টারিংও ভেঙে দেয়? ঠিক আছে, 20, 100, 500 মাপের এই ক্লাস্টারগুলির সেটটি বিবেচনা করুন I've আমি প্রতিটি মাল্টিভারিয়েট গাউসিয়ান থেকে তৈরি করেছি:
এই দেখে মনে হচ্ছে কে-মানে সম্ভবত এই ক্লাস্টারগুলি খুঁজে পেতে পারে, তাই না? সবকিছু পরিষ্কার-পরিচ্ছন্ন গোষ্ঠীতে উত্পন্ন বলে মনে হচ্ছে। সুতরাং আসুন কে-মানে চেষ্টা করুন:
সেকি। এখানে যা ঘটেছিল তা কিছুটা সূক্ষ্ম। স্কোয়ারগুলির মধ্যে-ক্লাস্টারের যোগফলকে হ্রাস করার জন্য তার অনুসন্ধানে, কে-মানে অ্যালগরিদম বৃহত্তর ক্লাস্টারে আরও "ওজন" দেয়। অনুশীলনে, এর অর্থ এই ছোট ক্লাস্টারটি যে কোনও কেন্দ্র থেকে অনেক দূরে শেষ হতে দেওয়া খুশি, যখন এই কেন্দ্রগুলি আরও বড় ক্লাস্টারটিকে "বিভক্ত" করতে ব্যবহার করে।
আপনি যদি এই উদাহরণগুলি দিয়ে কিছুটা খেলেন ( আর কোড এখানে! ), আপনি দেখতে পাবেন যে আপনি আরও অনেক বেশি পরিস্থিতি তৈরি করতে পারেন যেখানে কে-মানে এটিকে বিব্রতকরভাবে ভুল করে ফেলে।
উপসংহার: নিখরচায় দুপুরের খাবার নয়
গাণিতিক লোককাহিনীগুলিতে একটি আকর্ষণীয় নির্মাণ রয়েছে, যা ওলপার্ট এবং ম্যাকডিয়ার দ্বারা আনুষ্ঠানিকভাবে "নো ফ্রি লাঞ্চ উপপাদ্য" নামে পরিচিত। এটি সম্ভবত মেশিন লার্নিং দর্শনে আমার প্রিয় উপপাদ্য, এবং আমি এটিকে সামনে আনার কোনও সুযোগ উপভোগ করি (আমি কি এই প্রশ্নটি পছন্দ করি?) প্রাথমিক ধারণাটি এই হিসাবে বর্ণনা করা হয় (অ-কঠোরভাবে): "যখন সমস্ত সম্ভাব্য পরিস্থিতিতে জুড়ে গড় হয়, প্রতিটি অ্যালগরিদম সমানভাবে ভাল সম্পাদন করে। "
শব্দ প্রতিরোধী? বিবেচনা করুন যে প্রতিটি ক্ষেত্রে যেখানে একটি অ্যালগরিদম কাজ করে সেখানে আমি এমন পরিস্থিতি তৈরি করতে পারি যেখানে এটি ভীষণভাবে ব্যর্থ হয়। লিনিয়ার রিগ্রেশন ধরে নেয় আপনার ডেটা একটি লাইন বরাবর পড়েছে - তবে যদি এটি সাইনোসয়েডাল ওয়েভ অনুসরণ করে? একটি টি-পরীক্ষা ধরে নেয় যে প্রতিটি নমুনা একটি সাধারণ বিতরণ থেকে আসে: আপনি যদি কোনও বহিরাগতকে ফেলে দেন তবে কী হবে? যে কোনও গ্রেডিয়েন্ট অ্যাসেন্ট অ্যালগরিদম স্থানীয় ম্যাক্সিমায় আটকা পড়তে পারে, এবং যে কোনও তদারকি করা শ্রেণিবিন্যাসকে ওভারফিটিংয়ে ঠকানো যায়।
এটার মানে কি? এর অর্থ হ'ল অনুমানগুলি যেখানে আপনার শক্তি আসে! নেটফ্লিক্স যখন আপনার কাছে চলচ্চিত্রের প্রস্তাব দেয় তখন ধরে নেওয়া হয় যে আপনি যদি একটি সিনেমা পছন্দ করেন তবে আপনার অনুরূপ (এবং বিপরীতে) পছন্দ হবে। এমন একটি বিশ্ব কল্পনা করুন যেখানে এটি সত্য ছিল না এবং আপনার স্বাদগুলি পুরো জেনার, অভিনেতা এবং পরিচালক জুড়ে এলোমেলোভাবে ছড়িয়ে ছিটিয়ে রয়েছে। তাদের সুপারিশ অ্যালগরিদম মারাত্মকভাবে ব্যর্থ হবে। "আচ্ছা, এটি এখনও কিছু প্রত্যাশিত স্কোয়ার ত্রুটিটি কমিয়ে দিচ্ছে, তাই কি অ্যালগরিদম এখনও কাজ করছে"? ব্যবহারকারীর স্বাদ সম্পর্কে কিছু অনুমান করা ছাড়া আপনি একটি সুপারিশ অ্যালগরিদম তৈরি করতে পারবেন না - ঠিক যেমন আপনি cl গুচ্ছগুলির প্রকৃতি সম্পর্কে কিছু অনুমান না করে কোনও ক্লাস্টারিং অ্যালগরিদম তৈরি করতে পারবেন না।
সুতরাং কেবল এই ত্রুটিগুলি গ্রহণ করবেন না। তাদের জানুন, যাতে তারা আপনার পছন্দের অ্যালগরিদমকে অবহিত করতে পারে। সেগুলি বোঝুন, যাতে আপনি আপনার অ্যালগোরিদমটিকে সামলান এবং এগুলি সমাধান করার জন্য আপনার ডেটা রুপান্তর করতে পারেন। এবং তাদের ভালবাসুন, কারণ যদি আপনার মডেলটি কখনও ভুল হতে না পারে তবে এর অর্থ এটি কখনই সঠিক হবে না।