মেশিন লার্নিং এর ৮টি বড় অ্যালগরিদম

লেখক:উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্ন, তৈরিঃ ২০১৬-১২-০৫ 10:42:০২, আপডেটঃ

মেশিন লার্নিং এর ৮টি বড় অ্যালগরিদম


এই নিবন্ধটি মূলত নিম্নলিখিত সাধারণ অ্যালগরিদমগুলির অভিযোজন দৃশ্যকল্প এবং তাদের সুবিধাগুলি এবং অসুবিধাগুলি পর্যালোচনা করে!

অনেক মেশিন লার্নিং অ্যালগরিদম রয়েছে, যেমন শ্রেণীবদ্ধকরণ, প্রত্যাবর্তন, শ্রেণীবদ্ধকরণ, প্রস্তাবনা, চিত্র সনাক্তকরণ ইত্যাদি। একটি উপযুক্ত অ্যালগরিদম খুঁজে পাওয়া সত্যিই সহজ নয়, তাই বাস্তব প্রয়োগে আমরা সাধারণত অনুপ্রেরণামূলক শেখার পদ্ধতি ব্যবহার করে পরীক্ষা করি।

সাধারণত আমরা প্রথমে সাধারণভাবে স্বীকৃত অ্যালগরিদমগুলি বেছে নিই, যেমন এসভিএম, জিবিডিটি, অ্যাডাবোস্ট, এখন গভীর শেখার উত্সাহ রয়েছে এবং নিউরাল নেটওয়ার্কগুলিও একটি ভাল বিকল্প।

যদি আপনি নির্ভুলতা সম্পর্কে উদ্বিগ্ন হন, তবে সর্বোত্তম উপায় হল ক্রস-ভ্যালিডেশনের মাধ্যমে প্রতিটি অ্যালগরিদমকে পৃথকভাবে পরীক্ষা করা, তুলনা করা, এবং তারপরে প্যারামিটারগুলি সংশোধন করা যাতে প্রতিটি অ্যালগরিদম সর্বোত্তম হয় এবং শেষ পর্যন্ত সেরাটি বেছে নেওয়া হয়।

কিন্তু যদি আপনি শুধু আপনার সমস্যার সমাধানের জন্য একটি দুর্দান্ত অ্যালগরিদম খুঁজছেন, অথবা এখানে কিছু টিপস রয়েছে, তাহলে নিচে আমরা প্রতিটি অ্যালগরিদমের উপকারিতা এবং অসুবিধাগুলি বিশ্লেষণ করব।

  • ## বিভ্রান্তি ও বৈষম্য পরিসংখ্যানশাস্ত্রে, একটি মডেল ভাল বা খারাপ, এটা পরিমাপ করা হয় বিচ্যুতি এবং বিপরীতে, তাই আমরা প্রথমে বিপরীত এবং বিপরীত প্রচলনঃ

বিচ্যুতিঃ এটি পূর্বাভাসের মান (প্রাক্কলিত মান) এর প্রত্যাশিত E এবং প্রকৃত মান Y এর মধ্যে পার্থক্য বর্ণনা করে।

机器学习8大算法比较

বিভাজকঃ যা পূর্বাভাস মান P এর পরিবর্তনের পরিসীমা বর্ণনা করে, বিচ্ছিন্নতা, যা পূর্বাভাস মানের বিভাজক, অর্থাৎ তার প্রত্যাশিত মান E থেকে দূরত্ব। বিভাজকটি যত বড় হবে, ডেটার বিতরণ তত বেশি বিচ্ছিন্ন হবে।

机器学习8大算法比较

মডেলের আসল ত্রুটি হল এই দুইটির যোগফল, যা নিচে দেখানো হয়েছেঃ

机器学习8大算法比较

যদি এটি একটি ছোট প্রশিক্ষণ সেট হয়, তাহলে উচ্চ বিচ্যুতি/নিম্ন বিচ্যুতির শ্রেণীবিভাগকারী (যেমন, সরল বেয়েজ এনবি) নিম্ন বিচ্যুতি/উচ্চ বিচ্যুতির শ্রেণীবিভাগকারী (যেমন, কেএনএন) এর চেয়ে বেশি সুবিধাজনক হবে, কারণ দ্বিতীয়টি খুব উপযুক্ত হবে।

কিন্তু আপনার ট্রেনিং সেট বাড়ার সাথে সাথে মডেলটি মূল তথ্যের জন্য আরও ভালভাবে পূর্বাভাস দেয়, বিচ্যুতি হ্রাস পায়, যখন নিম্ন বিচ্যুতি / উচ্চ বিচ্যুতি শ্রেণিবদ্ধকারীরা ধীরে ধীরে তাদের সুবিধা প্রদর্শন করে (কারণ তাদের কম গ্র্যাডিয়েন্ট ত্রুটি রয়েছে), যখন উচ্চ বিচ্যুতি শ্রেণিবদ্ধকারীরা এখন সঠিক মডেল সরবরাহ করার জন্য যথেষ্ট নয়।

অবশ্যই, আপনি এটিকে জেনারেটর মডেল (NB) এবং ডিসিশন মডেল (KNN) এর মধ্যে পার্থক্য হিসাবেও বিবেচনা করতে পারেন।

  • ## কেন সাধারণ বেয়েজকে উচ্চতর বিচ্যুতি কম বিচ্যুতি বলে?

নিম্নলিখিত বিষয়বস্তু সম্পর্কে আমরা অবগত আছিঃ

প্রথমত, ধরুন আপনি ট্রেইনিং সেট এবং টেস্ট সেটের সম্পর্ক জানেন। সহজভাবে বলতে গেলে, আমরা ট্রেনিং সেটে একটি মডেল শিখতে যাচ্ছি, এবং তারপর টেস্ট সেটটি ব্যবহার করতে যাচ্ছি, এবং ফলাফলটি টেস্ট সেটের ত্রুটির হার অনুযায়ী পরিমাপ করা হবে।

কিন্তু অনেক সময়, আমরা কেবল অনুমান করতে পারি যে টেস্ট সেট এবং ট্রেনিং সেট একই ডেটা বন্টনের সাথে সামঞ্জস্যপূর্ণ, কিন্তু আসল টেস্ট ডেটা পাই না।

যেহেতু প্রশিক্ষণের নমুনা খুব কম (অন্তত পর্যাপ্ত নয়) তাই প্রশিক্ষণের মাধ্যমে প্রাপ্ত মডেলটি সর্বদা সত্যই সঠিক হয় না। এমনকি যদি প্রশিক্ষণের উপর 100% সঠিকতা থাকে তবে এটি সত্যিকারের ডেটা বন্টন চিত্রিত করে না। এটি জানা উচিত যে সত্যিকারের ডেটা বন্টন চিত্রিত করা আমাদের লক্ষ্য, কেবলমাত্র প্রশিক্ষণের সীমিত ডেটা পয়েন্টগুলি চিত্রিত করা নয়) ।

এবং, বাস্তবে, প্রশিক্ষণ নমুনার মধ্যে প্রায়শই কিছু গোলমাল ত্রুটি থাকে, তাই যদি প্রশিক্ষণ সেটে নিখুঁততার জন্য খুব বেশি চেষ্টা করা হয় তবে একটি খুব জটিল মডেল ব্যবহার করা হয়, যা মডেলকে প্রশিক্ষণ সেটে ত্রুটিগুলিকে সত্যিকারের ডেটা বন্টনের বৈশিষ্ট্য হিসাবে দেখায় এবং ফলস্বরূপ ভুল ডেটা বন্টনের অনুমান দেয়।

এইভাবে, আসল পরীক্ষার সেটগুলিতে ভুলগুলি সম্পূর্ণরূপে বিভ্রান্ত হয়ে যায় ((এই ঘটনাটিকে ফিটনেস বলা হয়) । তবে খুব সহজ মডেল ব্যবহার করা যায় না, অন্যথায় যখন ডেটা বিতরণগুলি তুলনামূলকভাবে জটিল হয়, তখন মডেলগুলি ডেটা বিতরণগুলি চিত্রিত করতে যথেষ্ট নয় ((এটি এমনকি প্রশিক্ষণ সেটগুলিতেও উচ্চতর ত্রুটির হারকে উপস্থাপন করে, এই ঘটনাটি অনুপযুক্ত)) ।

ওভার-ফিট মানে হল যে ব্যবহৃত মডেলটি সত্যিকারের ডেটা বন্টনের তুলনায় জটিল, এবং অ-ফিট মানে হল যে ব্যবহৃত মডেলটি সত্যিকারের ডেটা বন্টনের চেয়ে সহজ।

স্ট্যাটিস্টিক লার্নিং ফ্রেমওয়ার্কে, যখন আমরা মডেলের জটিলতা চিত্রিত করি, তখন এমন একটি ধারণা রয়েছে যে Error = Bias + Variance। এখানে Error সম্ভবত মডেলের পূর্বাভাসের ভুলের হার হিসাবে বোঝা যেতে পারে, এটি দুটি অংশে গঠিত, একটি অংশটি মডেলটি খুব সহজ হওয়ার কারণে অনুমানের ভুল অংশ ("Bias") এবং অন্য অংশটি মডেলটি খুব জটিল হওয়ার কারণে পরিবর্তনের বৃহত্তর স্থান এবং অনিশ্চয়তা ("Variance") ।

সুতরাং, এটি একটি সহজ বিশ্লেষণ বেয়েজ বিশ্লেষণ। এটি একটি খুব সরলীকৃত মডেল, যা সহজভাবে অনুমান করে যে ডেটাগুলির মধ্যে কোনও সম্পর্ক নেই। সুতরাং, এই ধরনের একটি সহজ মডেলের জন্য, বেশিরভাগ ক্ষেত্রে বিয়াস অংশটি ভ্যারিয়েন্স অংশের চেয়ে বড় হবে, অর্থাৎ উচ্চ বিচ্যুতি এবং নিম্ন বিচ্যুতি।

বাস্তবে, ত্রুটি যতটা সম্ভব ছোট করার জন্য, আমরা মডেল নির্বাচন করার সময় বিয়াস এবং ভ্যারিয়েন্সের অনুপাতের ভারসাম্য বজায় রাখতে চাই, অর্থাৎ ওভার-ফিটিং এবং আন্ডার-ফিটিংয়ের ভারসাম্য বজায় রাখা।

বিভক্তি এবং বৈষম্যের সাথে মডেল জটিলতার সম্পর্ক নিম্নলিখিত চিত্রটি ব্যবহার করে আরও স্পষ্টঃ

机器学习8大算法比较

মডেলের জটিলতা বাড়ার সাথে সাথে, বিচ্যুতি ক্রমাগত ছোট হয়ে যায়, এবং বিচ্যুতি ক্রমাগত বড় হয়।

  • সাধারণ অ্যালগরিদমের সুবিধা এবং অসুবিধা

    • ### ১. সরল বেয়েজ

    সরল বেয়েজগুলি প্রজনন মডেলের অন্তর্ভুক্ত (প্রজনন মডেল এবং সিদ্ধান্তের মডেল সম্পর্কে, মূলত এটি একটি যৌথ বন্টন দাবি করে কিনা তা নিয়ে), খুব সহজ, আপনি কেবল একটি গণনা করছেন।

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

    এর প্রধান অসুবিধা হল যে এটি বৈশিষ্ট্যগুলির মধ্যে মিথস্ক্রিয়া শিখতে পারে না, যা এমআরএমআর-এর মধ্যে আর-এর জন্য ব্যবহৃত হয়, যা বৈশিষ্ট্যগুলিকে অতিরিক্ত করে তোলে। উদাহরণস্বরূপ, আপনি ব্র্যাড পিট এবং টম ক্রুজের চলচ্চিত্রগুলি পছন্দ করেন, তবে আপনি তাদের সাথে কাজ করতে পছন্দ করেন না এমন চলচ্চিত্রগুলি এটি শিখতে পারে না।

    উপকারিতাঃ

    মৌলিক বেয়েজ মডেলটি ক্লাসিক্যাল গাণিতিক তত্ত্ব থেকে উদ্ভূত, একটি শক্ত গাণিতিক ভিত্তি এবং স্থিতিশীল শ্রেণিবদ্ধকরণ দক্ষতার সাথে। ছোট আকারের ডেটাতে ভাল পারফরম্যান্স, মাল্টি-ক্লাসের কাজগুলি একসাথে পরিচালনা করতে পারে এবং ইনজেকশনাল প্রশিক্ষণের জন্য উপযুক্ত; অনুপস্থিত তথ্যের প্রতি কম সংবেদনশীল, অ্যালগরিদমটি তুলনামূলকভাবে সহজ এবং প্রায়শই পাঠ্য শ্রেণিবদ্ধ করার জন্য ব্যবহৃত হয়। অসুবিধাঃ

    এই প্রবন্ধে, আমরা এই বিষয়ে আলোচনা করব। ######################################################################################################################################################### ইনপুট ডেটার অভিব্যক্তির ফর্মটি সংবেদনশীল।

    • ### ২. লজিক্যাল রিগ্রেশন

    এটি একটি বিভাগীয় মডেল, যেখানে অনেকগুলি নিয়মকানুন মডেলের পদ্ধতি রয়েছে (L0, L1, L2, ইত্যাদি) এবং আপনাকে আপনার বৈশিষ্ট্যগুলি প্রাসঙ্গিক কিনা তা নিয়ে চিন্তা করতে হবে না, যেমনটি বেজেস ব্যবহার করে।

    আপনি সিদ্ধান্ত গাছ এবং এসভিএম মেশিনের তুলনায় একটি ভাল সম্ভাব্যতা ব্যাখ্যা পাবেন, এবং আপনি এমনকি সহজেই নতুন তথ্য ব্যবহার করে মডেল আপডেট করতে পারেন (অনলাইন গ্রেডিয়েন্ট descent অ্যালগরিদম ব্যবহার করে) ।

    যদি আপনি একটি সম্ভাব্যতা কাঠামো চান (যেমন, সহজেই শ্রেণিবদ্ধকরণ থ্রেশহোল্ড সামঞ্জস্য করুন, অনিশ্চয়তা নির্দেশ করুন, বা বিশ্বাসের ব্যবধান অর্জন করুন), অথবা আপনি পরে আরও প্রশিক্ষণ ডেটা দ্রুত মডেলটিতে একীভূত করতে চান তবে এটি ব্যবহার করুন।

    সিগময়েড ফাংশনঃ

    机器学习8大算法比较

    উপকারিতাঃ একটি সহজ এবং ব্যাপকভাবে শিল্প সমস্যা প্রয়োগ করা সম্ভব; খুব কম গণনা, দ্রুত গতি এবং কম সঞ্চয়স্থান; একটি সুবিধাজনক পর্যবেক্ষণ নমুনা সম্ভাব্যতা স্কোর; লজিক্যাল রিগ্রোনেন্সের জন্য, মাল্টিপল কোমলিনিয়ারিটি কোন সমস্যা নয়, এটি L2 রুলারাইজেশনের সাথে মিলিয়ে সমাধান করা যেতে পারে; অসুবিধাঃ লজিক্যাল রিগ্রেশন খুব ভাল পারফরম্যান্স করে না যখন বৈশিষ্ট্য স্থান খুব বড় হয়; সহজেই অনুপযুক্ত, সাধারণভাবে কম নির্ভুলতা অনেকগুলি বৈশিষ্ট্য বা ভেরিয়েবল ভালভাবে পরিচালনা করতে পারে না; শুধুমাত্র দুটি শ্রেণিবদ্ধকরণ সমস্যা (এই ভিত্তিতে উদ্ভূত সফটম্যাক্স মাল্টি-ক্লাস ব্যবহার করা যেতে পারে) পরিচালনা করতে পারে এবং এটি রৈখিকভাবে বিভাজ্য হতে হবে; অ-রৈখিক বৈশিষ্ট্যগুলির জন্য রূপান্তর প্রয়োজন;

    • ### 3. লিনিয়ার রিগ্রেশন

    লিনিয়ার রিগ্রেশন হল রেগ্রেশন ব্যবহারের জন্য, লজিস্টিক রিগ্রেশন ব্যতীত যা শ্রেণিবদ্ধকরণের জন্য ব্যবহৃত হয়। এর মূল ধারণা হল গ্রিডিয়েন্ট ডিসপেনশন পদ্ধতি ব্যবহার করে সর্বনিম্ন দ্বিগুণের ফর্মের ভুল ফাংশনগুলির জন্য অপ্টিমাইজ করা। অবশ্যই, আপনি সরাসরি একটি স্বাভাবিক সমীকরণ ব্যবহার করে প্যারামিটারের সমাধান পেতে পারেন, যার ফলাফলঃ

    机器学习8大算法比较

    এলডব্লিউএলআর (Local weighted linear regression) এর ক্ষেত্রে, প্যারামিটারের গণনার অভিব্যক্তি হলঃ

    机器学习8大算法比较

    এইভাবে দেখা যায় যে এলডব্লিউএলআর আরএলআর থেকে পৃথক, এলডব্লিউএলআর একটি নন-প্যারামিটার মডেল, যেহেতু প্রতিবার রিগ্রেশন গণনা করার জন্য প্রশিক্ষণ নমুনাটি কমপক্ষে একবার অতিক্রম করতে হবে।

    উপকারিতাঃ সহজ বাস্তবায়ন, সহজ গণনা;

    অসুবিধাঃ অ-রৈখিক তথ্যের সাথে মানানসই নয়।

    • ### ৪. সাম্প্রতিক প্রতিবেশী অ্যালগরিদম কেএনএন

    কেএনএন হল নিকটতম প্রতিবেশী অ্যালগরিদম, যার প্রধান প্রক্রিয়া হলঃ

       1. 计算训练样本和测试样本中每个样本点的距离(常见的距离度量有欧式距离,马氏距离等);
    
       2. 对上面所有的距离值进行排序;
    
       3. 选前k个最小距离的样本;
    
       4. 根据这k个样本的标签进行投票,得到最后的分类类别;
    

    কিভাবে একটি অনুকূল কে-ভ্যালু বেছে নেয়া যায় তা ডেটার উপর নির্ভর করে। সাধারণভাবে, শ্রেণীবিভাগের সময় একটি বৃহত্তর কে-ভ্যালু শব্দ প্রভাব হ্রাস করতে পারে। কিন্তু শ্রেণীর মধ্যে সীমানা অস্পষ্ট করে তোলে।

    একটি ভাল কে-ভ্যালু বিভিন্ন অনুপ্রেরণামূলক কৌশল দ্বারা প্রাপ্ত করা যায়, যেমন ক্রস-ভেরিফিকেশন। অতিরিক্ত শব্দ এবং অ-সম্পর্কিত বৈশিষ্ট্য ভেক্টরগুলির উপস্থিতি কে-প্রতিবেশী অ্যালগরিদমের নির্ভুলতা হ্রাস করে।

    নিকটবর্তী অ্যালগরিদমের ফলাফলের একাগ্রতা বেশি। তথ্য অসীম হওয়ার সাথে সাথে, অ্যালগরিদমটি বেয়েজ অ্যালগরিদমের ভুলের হার দ্বিগুণেরও বেশি না হওয়ার নিশ্চয়তা দেয়। কিছু ভাল K মানের জন্য, K নিকটবর্তী অ্যালগরিদমের ভুলের হার বেয়েজ তত্ত্বগত ভুলের হার ছাড়িয়ে যায় না।

    কেএনএন অ্যালগরিদমের সুবিধা

    তত্ত্বটি পরিপক্ক, ধারণাগুলি সহজ, যা শ্রেণিবদ্ধকরণ এবং প্রত্যাবর্তনের জন্য ব্যবহার করা যেতে পারে; অ-রৈখিক শ্রেণীবিভাগের জন্য ব্যবহার করা যেতে পারে; প্রশিক্ষণের সময় জটিলতা O ((n); তথ্যের উপর কোন অনুমান নেই, উচ্চ নির্ভুলতা এবং আউটলিয়ার সংবেদনশীল নয়; অসুবিধা

    এটি একটি বড় গণনা। নমুনা ভারসাম্যহীনতা সমস্যা (যেমন, কিছু শ্রেণীর অনেক নমুনা আছে, অন্যদের খুব কম); এটি অনেক মেমরির প্রয়োজন।

    • ### 5. সিদ্ধান্ত গাছ

    ব্যাখ্যা করা সহজ. এটি বৈশিষ্ট্যগুলির মধ্যে মিথস্ক্রিয়াকে চাপমুক্তভাবে পরিচালনা করতে পারে এবং এটি অ-প্যারামিটারিক, তাই আপনাকে অস্বাভাবিক মান বা ডেটাটি রৈখিকভাবে বিভাজ্য কিনা তা নিয়ে চিন্তা করতে হবে না ((উদাহরণস্বরূপ, সিদ্ধান্ত গাছটি সহজেই একটি বৈশিষ্ট্যটির x-মাত্রার শেষে A বিভাগ, মাঝখানে B বিভাগ এবং তারপরে A বিভাগটি বৈশিষ্ট্যটির x-মাত্রার সামনে উপস্থিত হয়)) ।

    এটির একটি অসুবিধা হল যে এটি অনলাইনে শেখার জন্য সমর্থন করে না, তাই নতুন নমুনা আসার পরে সিদ্ধান্তের গাছটি পুরোপুরি পুনর্নির্মাণ করতে হবে।

    আরেকটি অসুবিধা হল এটি সহজেই অনুকূলিত হয়, কিন্তু এটি এলোমেলো বন RF (বা গাছের উন্নতি) এর মতো সমন্বয় পদ্ধতির জন্যও একটি সংযোগস্থল।

    এছাড়াও, র্যান্ডম ফরেস্ট প্রায়শই অনেকগুলি শ্রেণিবদ্ধকরণ সমস্যার বিজয়ী হয় (সাধারণত ভেক্টর সমর্থনকারী মেশিনের চেয়ে সামান্য ভাল), এটি দ্রুত এবং সামঞ্জস্যযোগ্য প্রশিক্ষণ দেয় এবং আপনাকে ভেক্টর সমর্থনকারী মেশিনের মতো অনেকগুলি পরামিতি সামঞ্জস্য করার বিষয়ে চিন্তা করতে হবে না, তাই এটি অতীতে জনপ্রিয় ছিল।

    সিদ্ধান্ত গাছের একটি গুরুত্বপূর্ণ বিষয় হল একটি বৈশিষ্ট্য নির্বাচন করা যা শাখায় পরিণত হয়, তাই তথ্য বৃদ্ধির গণনার সূত্রের দিকে মনোযোগ দিন এবং এটি গভীরভাবে বুঝতে পারেন।

    তথ্য প্যানেলের গণনার সূত্র নিম্নরূপঃ

    机器学习8大算法比较

    যেখানে n প্রতিনিধিত্ব করে n টি শ্রেণীবিভাগের ক্যাটাগরি ((যেমন ধরুন, ২ শ্রেণির প্রশ্ন, তাহলে n=2) । পৃথকভাবে এই দুই শ্রেণীর নমুনার সম্ভাব্যতা p1 এবং p2 গণনা করা হয়, যাতে নির্বাচিত নয় এমন বৈশিষ্ট্যগুলির শাখার আগে তথ্য প্যানেল গণনা করা যায়।

    এখন একটি বৈশিষ্ট্য xxi নির্বাচন করুন যা শাখা তৈরির জন্য ব্যবহৃত হয়, এই ক্ষেত্রে শাখা বিভাজনের নিয়ম হলঃ যদি x = vxi = v হয় তবে নমুনাটি গাছের একটি শাখায় বিভক্ত করুন; যদি এটি সমান না হয় তবে অন্য শাখায় যান।

    স্পষ্টতই, শাখার মধ্যে নমুনাটি দুটি শ্রেণীর অন্তর্ভুক্ত হতে পারে, যার মধ্যে দুটি শাখার H1 এবং H2 গণনা করা হয়, এবং শাখার পরে মোট তথ্যের H2 গণনা করা হয় H2 = p1 H1 + p2 H2, তখন তথ্যের বৃদ্ধি ΔH = H - H2 হয়। তথ্যের বৃদ্ধি নীতি হিসাবে, সমস্ত বৈশিষ্ট্য একপাশে পরীক্ষা করা হয় এবং এই শাখার বৈশিষ্ট্য হিসাবে সর্বাধিক বৃদ্ধি প্রদানকারী বৈশিষ্ট্যটি বেছে নেওয়া হয়।

    সিদ্ধান্তের গাছের সুবিধা

    গণনা সহজ, সহজেই বোঝা যায় এবং ব্যাখ্যা করা যায়; অনুপস্থিত বৈশিষ্ট্যগুলির সাথে নমুনা তুলনা করা; এটি এমন একটি বিষয় যা আপনি নিজের জন্য তৈরি করতে পারেন। একটি বড় ডেটা উত্সের উপর তুলনামূলকভাবে অল্প সময়ের মধ্যে কার্যকর এবং কার্যকর ফলাফল তৈরি করা সম্ভব। অসুবিধা

    (এমন একটি বন যা খুব বেশি পরিমাণে হ্রাস করা যেতে পারে) এই তথ্যের সাথে সম্পর্কহীনতা। বিভিন্ন শ্রেণীর নমুনার সংখ্যার সাথে একমত না হওয়া তথ্যের জন্য, সিদ্ধান্ত গাছের মধ্যে, তথ্য লাভের ফলাফলগুলি আরও সংখ্যাসূচক বৈশিষ্ট্যগুলির প্রতি পছন্দসই হয় (যেমন তথ্য লাভ ব্যবহার করা হলে, এই অসুবিধা রয়েছে, যেমন আরএফ) ।

    • ### 5.1 অভিযোজন

    অ্যাডাবোস্ট হল একটি যোগফল মডেল, যেখানে প্রতিটি মডেল পূর্ববর্তী মডেলের ভুলের হার উপর ভিত্তি করে তৈরি করা হয়, ভুল শ্রেণিবদ্ধকরণের নমুনার উপর অত্যধিক মনোযোগ দেওয়া হয় এবং সঠিক শ্রেণিবদ্ধকরণের নমুনার উপর কম মনোযোগ দেওয়া হয়, যা ধারাবাহিকভাবে পুনরাবৃত্তি করার পরে একটি অপেক্ষাকৃত ভাল মডেল পেতে পারে। এটি একটি আদর্শ বুস্টিং অ্যালগরিদম। এর সুবিধা এবং অসুবিধাগুলি নীচে সংক্ষিপ্ত করা হয়েছে।

    সুবিধা

    adaboost একটি অত্যন্ত নির্ভুল শ্রেণীবিভাগকারী। বিভিন্ন পদ্ধতিতে উপ-বিভাজক তৈরি করা যেতে পারে। অ্যাডাবোস্ট অ্যালগরিদম ফ্রেমওয়ার্ক সরবরাহ করে। সহজ শ্রেণিবদ্ধকারী ব্যবহার করার সময়, গণনা করা ফলাফলগুলি বোধগম্য হয় এবং দুর্বল শ্রেণিবদ্ধকারীর নির্মাণ অত্যন্ত সহজ। এটি সহজ, বৈশিষ্ট্য নির্বাচন করার প্রয়োজন নেই। এটি খুব সহজেই ওভারফিটিং হতে পারে। র্যান্ডম ফরেস্ট এবং GBDT এর মতো সংমিশ্রণ অ্যালগরিদম সম্পর্কে, এই নিবন্ধটি দেখুনঃ মেশিন লার্নিং - সংমিশ্রণ অ্যালগরিদম সংক্ষিপ্তসার

    অসুবিধাঃ আউটলির প্রতি সংবেদনশীল

    • ### 6. এসভিএম ভেক্টর মেশিন সমর্থন করে

    উচ্চ নির্ভুলতা, অপ্রয়োজনীয়তা এড়ানোর জন্য একটি ভাল তাত্ত্বিক নিশ্চয়তা প্রদান করে, এবং এমনকি যদি ডেটা মূল বৈশিষ্ট্যযুক্ত স্পেসে রৈখিকভাবে বিভক্ত না হয় তবে এটি একটি উপযুক্ত নিউক্লিয়ার ফাংশন দেওয়া হয় তবে এটি ভাল কাজ করে।

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

    সুবিধা এটি উচ্চ-মাত্রার সমস্যাগুলি সমাধান করতে পারে, যা বড় বৈশিষ্ট্যযুক্ত স্থান; অ-রৈখিক বৈশিষ্ট্যগুলির মিথস্ক্রিয়া পরিচালনা করতে সক্ষম; এটি সম্পূর্ণ তথ্যের উপর নির্ভর করে না। এটি সাধারণীকরণের ক্ষমতা বাড়িয়ে তুলতে পারে।

    অসুবিধা এটি অনেকগুলি নমুনা পর্যবেক্ষণের সময় খুব বেশি কার্যকর হয় না। অ-রৈখিক সমস্যার জন্য কোন সাধারণ সমাধান নেই, এবং কখনও কখনও একটি উপযুক্ত নিউক্লিয়ার ফাংশন খুঁজে পাওয়া কঠিন। তথ্যের অভাবের জন্য সংবেদনশীল। কার্নিভাল নির্বাচন করার জন্যও কৌশল আছে (libsvm এর চারটি কার্নিভাল ফাংশন রয়েছেঃ লিনিয়ার কার্নিভাল, মাল্টিপল কার্নিভাল, আরবিএফ এবং সিগময়েড কার্নিভাল):

    প্রথমত, যদি নমুনার সংখ্যা চরিত্রের সংখ্যার চেয়ে কম হয়, তাহলে অ-রৈখিক নিউক্লিয়াস নির্বাচন করার প্রয়োজন নেই, সহজভাবে রৈখিক নিউক্লিয়াস ব্যবহার করা যেতে পারে;

    দ্বিতীয়ত, যদি নমুনার সংখ্যা বৈশিষ্ট্যগুলির সংখ্যার চেয়ে বেশি হয়, তবে নমুনাটিকে উচ্চতর মাত্রায় ম্যাপ করার জন্য অ-রৈখিক কোর ব্যবহার করা যেতে পারে, যা সাধারণত আরও ভাল ফলাফল দেয়।

    তৃতীয়ত, যদি নমুনা সংখ্যা এবং বৈশিষ্ট্য সংখ্যা সমান হয়, তবে অ-রৈখিক নিউক্লিয়াস ব্যবহার করা যেতে পারে, দ্বিতীয়টির মতো একই নীতি।

    প্রথমটির জন্য, আপনি প্রথমে ডেটাটি হ্রাস করতে পারেন এবং তারপরে একটি নন-লিনিয়ার কোর ব্যবহার করতে পারেন, এটিও একটি পদ্ধতি।

    • ### ৭। কৃত্রিম নিউরাল নেটওয়ার্কের সুবিধা ও অসুবিধা

    এনিমেশন নিউরাল নেটওয়ার্কের সুবিধাগুলিঃ উচ্চ নির্ভুলতা; সমান্তরাল বিতরণ প্রক্রিয়াকরণ ক্ষমতা, বিতরণ স্টোরেজ এবং শেখার ক্ষমতা শক্তিশালী। নীরবতা এবং ত্রুটি-সমর্থন ক্ষমতা, যা জটিল নন-লাইনের সম্পর্কের সাথে পুরোপুরি মিলিত হতে পারে; এই ভিডিওটি একটি ভিডিও কনফারেন্সে শেয়ার করা হয়েছে।

    এনিমেশন নিউরাল নেটওয়ার্কের অসুবিধাঃ নিউরাল নেটওয়ার্কের অনেকগুলি পরামিতি প্রয়োজন যেমন নেটওয়ার্ক টপোলজি গঠন, ওজন এবং থ্রেশহোল্ডের প্রাথমিক মান। অ-পর্যবেক্ষণযোগ্য শিক্ষণ প্রক্রিয়া, আউটপুট ফলাফল ব্যাখ্যা করা কঠিন, যা ফলাফলের বিশ্বাসযোগ্যতা এবং গ্রহণযোগ্যতা প্রভাবিত করে; অনেকেরই মনে হয় যে, এই বইটি পড়ার জন্য অনেক সময় লাগে, এমনকি এর উদ্দেশ্যও পূরণ হয় না।

    • ### ৮, K-Means ক্লাস্টার

    আমি K-Means ক্লাসিং সম্পর্কে একটি পোস্ট লিখেছি, এখানে একটি লিঙ্ক রয়েছেঃ মেশিন লার্নিং অ্যালগরিদম - K-Means ক্লাসিং; K-Means সম্পর্কে একটি সূচক যা শক্তিশালী EM ধারণা রয়েছে।

    সুবিধা এই অ্যালগরিদমটি সহজ এবং বাস্তবায়ন করা সহজ; বড় ডেটা সেটগুলি পরিচালনা করার জন্য, এই অ্যালগরিদমটি তুলনামূলকভাবে স্কেলযোগ্য এবং দক্ষ, কারণ এর জটিলতা প্রায় O ((nkt), যেখানে n হল সমস্ত বস্তুর সংখ্যা, k হল কয়েনগুলির সংখ্যা, এবং t হল পুনরাবৃত্তির সংখ্যা। সাধারণত k <। অ্যালগরিদমটি এমন k টি বিভাজক খুঁজে বের করার চেষ্টা করে যা বর্গক্ষেত্রের ত্রুটি ফাংশনের সর্বনিম্ন মান দেয়। ক্লাসিং কার্যকারিতা ভাল হয় যখন সিলিন্ডারগুলি ঘন, গোলাকার বা গণ্ডিযুক্ত হয় এবং সিলিন্ডার এবং সিলিন্ডারের মধ্যে সুস্পষ্ট পার্থক্য থাকে।

    অসুবিধা ডেটা টাইপের জন্য উচ্চতর প্রয়োজনীয়তা, যা সংখ্যাগত ডেটার জন্য উপযুক্ত; স্থানীয় ন্যূনতম মানগুলিতে ঘনিষ্ঠ হতে পারে, বড় ডেটাতে ধীর ঘনিষ্ঠতা এই প্রশ্নের জবাব দিতে হলে, আপনি কি জানেন? প্রাথমিক মানের জন্য সান্দ্রতা সংবেদনশীল, যা বিভিন্ন প্রাথমিক মানের জন্য বিভিন্ন ক্লাসিফিকেশন ফলাফলের দিকে পরিচালিত করতে পারে; এটি অ-উত্তোলিত আকৃতির বা আকারের পার্থক্যযুক্ত সিলগুলি সনাক্ত করার জন্য উপযুক্ত নয়। অল্প পরিমাণে এই ধরনের তথ্য গড়ের উপর ব্যাপক প্রভাব ফেলতে পারে, যা টিকটিকি নয়েজ টিকটিকি এবং আইসোলেশন পয়েন্ট ডেটাতে সংবেদনশীল।

    আলগোরিদিম নির্বাচন করুন

    আমি আগেও বিদেশি কিছু নিবন্ধ অনুবাদ করেছি, একটিতে একটি সহজ অ্যালগরিদম নির্বাচন কৌশল দেওয়া হয়েছেঃ

    প্রথমত, এটি লজিক্যাল রিগ্রেশন বাছাই করা উচিত, যদি এটির প্রভাব ভাল না হয়, তবে এর ফলাফলগুলিকে বেঞ্চমার্ক হিসাবে ব্যবহার করা যেতে পারে, যার ভিত্তিতে অন্যান্য অ্যালগরিদমগুলির সাথে তুলনা করা যেতে পারে।

    তারপর সিদ্ধান্তের গাছ (Random Forest) ব্যবহার করে দেখুন আপনার মডেলের পারফরম্যান্সের উন্নতি হতে পারে কিনা। এমনকি যদি আপনি এটিকে চূড়ান্ত মডেল হিসাবে না দেখেন, আপনি র্যান্ডম ফরেস্ট ব্যবহার করে নয়েজ ভেরিয়েবল মুছে ফেলতে পারেন, বৈশিষ্ট্য নির্বাচন করতে পারেন।

    যদি বৈশিষ্ট্যগুলির সংখ্যা এবং পর্যবেক্ষণের নমুনা বিশেষভাবে বড় হয়, তবে যখন সম্পদ এবং সময় পর্যাপ্ত হয় (এটি গুরুত্বপূর্ণ), তখন এসভিএম ব্যবহার করা একটি বিকল্প হিসাবে বিবেচিত হয়।

    সাধারণতঃ GBDT>=SVM>=RF>=Adaboost>=Other... , এখন গভীর শেখার খুব জনপ্রিয়, অনেক ক্ষেত্রে ব্যবহার করা হয়, এটা নিউরাল নেটওয়ার্ক উপর ভিত্তি করে, বর্তমানে আমি নিজেও শিখছি, কিন্তু তাত্ত্বিক জ্ঞান খুব পুরু নয়, বোঝার যথেষ্ট গভীর নয়, এখানে এটি করা হবে না।

    যদিও অ্যালগরিদম গুরুত্বপূর্ণ, তবে ভাল ডেটা ভাল অ্যালগরিদমের চেয়ে ভাল, এবং ভাল বৈশিষ্ট্যগুলি ডিজাইন করা খুব সহায়ক। যদি আপনার একটি অতি বড় ডেটাসেট থাকে তবে আপনি যে অ্যালগরিদমটি ব্যবহার করেন তা শ্রেণিবদ্ধকরণের কার্যকারিতার উপর খুব বেশি প্রভাব ফেলতে পারে না (এখন আপনি গতি এবং ব্যবহারের সহজতার ভিত্তিতে পছন্দ করতে পারেন) ।

  • তথ্যসূত্র


আরও দেখুন