মেশিন লার্নিং এর নিয়ম:

এমএল ইঞ্জিনিয়ারিং এর জন্য সেরা অনুশীলন

মার্টিন জিনকেভিচ

এই দস্তাবেজটি যাদের মেশিন লার্নিং সম্পর্কে প্রাথমিক জ্ঞান রয়েছে তাদের মেশিন লার্নিংয়ে Google-এর সেরা অনুশীলনের সুবিধা পেতে সাহায্য করার উদ্দেশ্যে। এটি মেশিন লার্নিংয়ের জন্য একটি স্টাইল উপস্থাপন করে, Google C++ স্টাইল গাইড এবং ব্যবহারিক প্রোগ্রামিংয়ের অন্যান্য জনপ্রিয় গাইডের মতো। আপনি যদি মেশিন লার্নিং-এ ক্লাস নিয়ে থাকেন, বা মেশিন-লার্নিং মডেলে তৈরি বা কাজ করেন, তাহলে এই নথিটি পড়ার জন্য আপনার প্রয়োজনীয় পটভূমি রয়েছে।

মার্টিন জিনকেভিচ মেশিন লার্নিং এর তার প্রিয় 10টি নিয়ম চালু করেছেন। সমস্ত 43 টি নিয়ম শিখতে পড়ুন!

পরিভাষা

আমাদের কার্যকর মেশিন লার্নিং আলোচনায় নিম্নলিখিত পদগুলি বারবার উঠে আসবে:

  • উদাহরণ : আপনি যে বিষয়ে ভবিষ্যদ্বাণী করতে চান। উদাহরণস্বরূপ, উদাহরণটি একটি ওয়েব পৃষ্ঠা হতে পারে যা আপনি "বিড়াল সম্পর্কে" বা "বিড়াল সম্পর্কে নয়" হিসাবে শ্রেণীবদ্ধ করতে চান।
  • লেবেল : একটি ভবিষ্যদ্বাণী কাজের জন্য একটি উত্তর হয় একটি মেশিন লার্নিং সিস্টেম দ্বারা উত্পাদিত উত্তর, অথবা প্রশিক্ষণ ডেটাতে সরবরাহ করা সঠিক উত্তর৷ উদাহরণস্বরূপ, একটি ওয়েব পৃষ্ঠার লেবেল হতে পারে "বিড়াল সম্পর্কে"।
  • বৈশিষ্ট্য : একটি ভবিষ্যদ্বাণী কার্যে ব্যবহৃত একটি উদাহরণের একটি বৈশিষ্ট্য। উদাহরণস্বরূপ, একটি ওয়েব পৃষ্ঠায় একটি বৈশিষ্ট্য থাকতে পারে "বিড়াল শব্দটি রয়েছে"।
  • বৈশিষ্ট্য কলাম : সংশ্লিষ্ট বৈশিষ্ট্যের একটি সেট, যেমন ব্যবহারকারীরা বসবাস করতে পারে এমন সমস্ত সম্ভাব্য দেশের সেট। একটি উদাহরণে একটি বৈশিষ্ট্য কলামে এক বা একাধিক বৈশিষ্ট্য থাকতে পারে। "ফিচার কলাম" হল Google-নির্দিষ্ট পরিভাষা। একটি বৈশিষ্ট্য কলাম VW সিস্টেমে একটি "নেমস্পেস" হিসাবে উল্লেখ করা হয় (Yahoo/Microsoft এ), বা একটি ক্ষেত্র
  • উদাহরণ : একটি উদাহরণ (এর বৈশিষ্ট্য সহ) এবং একটি লেবেল৷
  • মডেল : একটি ভবিষ্যদ্বাণী কাজের একটি পরিসংখ্যান উপস্থাপনা. আপনি উদাহরণগুলির উপর একটি মডেলকে প্রশিক্ষণ দেন তারপর ভবিষ্যদ্বাণী করতে মডেলটি ব্যবহার করুন।
  • মেট্রিক : একটি সংখ্যা যা আপনি যত্নশীল। সরাসরি অপ্টিমাইজ করা হতে পারে বা নাও হতে পারে।
  • উদ্দেশ্য : একটি মেট্রিক যা আপনার অ্যালগরিদম অপ্টিমাইজ করার চেষ্টা করছে।
  • পাইপলাইন : একটি মেশিন লার্নিং অ্যালগরিদমের চারপাশের অবকাঠামো। সামনের প্রান্ত থেকে ডেটা সংগ্রহ করা, এটি প্রশিক্ষণ ডেটা ফাইলগুলিতে স্থাপন করা, এক বা একাধিক মডেলকে প্রশিক্ষণ দেওয়া এবং মডেলগুলিকে উত্পাদনে রপ্তানি করা অন্তর্ভুক্ত।
  • ক্লিক-থ্রু রেট একটি ওয়েব পৃষ্ঠায় দর্শকদের শতাংশ যারা একটি বিজ্ঞাপনের লিঙ্কে ক্লিক করে।

ওভারভিউ

দুর্দান্ত পণ্য তৈরি করতে:

আপনি যেমন মহান প্রকৌশলী, তেমন মহান মেশিন লার্নিং বিশেষজ্ঞের মতো নয়।

আপনি যে সমস্যার মুখোমুখি হবেন তার বেশিরভাগই আসলে ইঞ্জিনিয়ারিং সমস্যা। এমনকি একজন দুর্দান্ত মেশিন লার্নিং বিশেষজ্ঞের সমস্ত সংস্থান থাকা সত্ত্বেও, বেশিরভাগ লাভগুলি দুর্দান্ত বৈশিষ্ট্যগুলি থেকে আসে, দুর্দান্ত মেশিন লার্নিং অ্যালগরিদম নয়। সুতরাং, মৌলিক পদ্ধতি হল:

  1. নিশ্চিত করুন যে আপনার পাইপলাইন শেষ থেকে শেষ শক্ত।
  2. একটি যুক্তিসঙ্গত উদ্দেশ্য দিয়ে শুরু করুন।
  3. একটি সহজ উপায়ে সাধারণ জ্ঞান বৈশিষ্ট্য যোগ করুন.
  4. নিশ্চিত করুন যে আপনার পাইপলাইন শক্ত থাকে।

এই পদ্ধতিটি দীর্ঘ সময়ের জন্য ভাল কাজ করবে। এই পদ্ধতি থেকে বিচ্যুত হন শুধুমাত্র তখনই যখন আপনাকে আরও দূরে নিয়ে যাওয়ার জন্য আর কোন সহজ কৌশল নেই। জটিলতা যোগ করা ভবিষ্যত রিলিজকে ধীর করে দেয়।

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

এই নথিটি নিম্নরূপ সাজানো হয়েছে:

  1. প্রথম অংশটি আপনাকে বুঝতে সাহায্য করবে যে সময়টি একটি মেশিন লার্নিং সিস্টেম তৈরির জন্য সঠিক কিনা।
  2. দ্বিতীয় অংশটি আপনার প্রথম পাইপলাইন স্থাপন সম্পর্কে।
  3. তৃতীয় অংশটি আপনার পাইপলাইনে নতুন বৈশিষ্ট্য যুক্ত করার সময় লঞ্চ করা এবং পুনরাবৃত্তি করা, মডেলগুলি এবং প্রশিক্ষণ-সার্ভিং স্ক্যু কীভাবে মূল্যায়ন করা যায় সে সম্পর্কে।
  4. আপনি যখন একটি মালভূমিতে পৌঁছান তখন কী করবেন সে সম্পর্কে চূড়ান্ত অংশ
  5. এর পরে, এই নথিতে উদাহরণ হিসাবে সাধারণত ব্যবহৃত সিস্টেমগুলির কিছু পটভূমি সহ সম্পর্কিত কাজের একটি তালিকা এবং একটি পরিশিষ্ট রয়েছে।

মেশিন লার্নিং এর আগে

নিয়ম #1: মেশিন লার্নিং ছাড়া একটি পণ্য লঞ্চ করতে ভয় পাবেন না।

মেশিন লার্নিং দুর্দান্ত, তবে এর জন্য ডেটা প্রয়োজন। তাত্ত্বিকভাবে, আপনি একটি ভিন্ন সমস্যা থেকে ডেটা নিতে পারেন এবং তারপরে একটি নতুন পণ্যের জন্য মডেলটি টুইক করতে পারেন, তবে এটি সম্ভবত মৌলিক হিউরিস্টিকসকে কম করবে। আপনি যদি মনে করেন যে মেশিন লার্নিং আপনাকে 100% বুস্ট দেবে, তাহলে হিউরিস্টিক আপনাকে সেখানে 50% পথ পাবে।

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

নিয়ম #2: প্রথমে, মেট্রিক্স ডিজাইন এবং বাস্তবায়ন করুন।

আপনার মেশিন লার্নিং সিস্টেম কী করবে তা আনুষ্ঠানিক করার আগে, আপনার বর্তমান সিস্টেমে যতটা সম্ভব ট্র্যাক করুন। নিম্নলিখিত কারণে এটি করুন:

  1. এর আগে সিস্টেমের ব্যবহারকারীদের কাছ থেকে অনুমতি পাওয়া সহজ।
  2. আপনি যদি মনে করেন যে ভবিষ্যতে কিছু উদ্বেগের কারণ হতে পারে তবে এখনই ঐতিহাসিক তথ্য পাওয়া ভাল।
  3. আপনি যদি মেট্রিক ইন্সট্রুমেন্টেশনের কথা মাথায় রেখে আপনার সিস্টেম ডিজাইন করেন, তাহলে ভবিষ্যতে আপনার জন্য আরও ভাল হবে। বিশেষভাবে, আপনি আপনার মেট্রিক্সের উপকরণের জন্য লগগুলিতে স্ট্রিংগুলির জন্য নিজেকে গ্রেপিং খুঁজে পেতে চান না!
  4. আপনি লক্ষ্য করবেন কি জিনিস পরিবর্তন হয় এবং কি একই থাকে। উদাহরণস্বরূপ, ধরুন আপনি একদিনের সক্রিয় ব্যবহারকারীদের সরাসরি অপ্টিমাইজ করতে চান। যাইহোক, আপনার সিস্টেমের প্রাথমিক ম্যানিপুলেশনের সময়, আপনি লক্ষ্য করতে পারেন যে ব্যবহারকারীর অভিজ্ঞতার নাটকীয় পরিবর্তনগুলি এই মেট্রিকটিকে লক্ষণীয়ভাবে পরিবর্তন করে না।

Google Plus টিম পরিমাপ করে প্রতি পঠিত, পুনঃভাগ, পাঠ প্রতি plusones, মন্তব্য/পড়া, ব্যবহারকারী প্রতি মন্তব্য, ব্যবহারকারী প্রতি পুনঃভাগ, ইত্যাদি যা তারা পরিবেশনের সময়ে একটি পোস্টের ভালতা গণনা করতে ব্যবহার করে। এছাড়াও, মনে রাখবেন যে একটি পরীক্ষামূলক কাঠামো, যেখানে আপনি ব্যবহারকারীদের বালতিতে গোষ্ঠী করতে পারেন এবং পরীক্ষার মাধ্যমে পরিসংখ্যান একত্রিত করতে পারেন, গুরুত্বপূর্ণ। নিয়ম #12 দেখুন।

মেট্রিক্স সংগ্রহের বিষয়ে আরও উদার হয়ে, আপনি আপনার সিস্টেমের একটি বিস্তৃত চিত্র পেতে পারেন। একটি সমস্যা লক্ষ্য করুন? এটি ট্র্যাক করতে একটি মেট্রিক যোগ করুন! শেষ প্রকাশে কিছু পরিমাণগত পরিবর্তন সম্পর্কে উত্তেজিত? এটি ট্র্যাক করতে একটি মেট্রিক যোগ করুন!

নিয়ম #3: একটি জটিল হিউরিস্টিক থেকে মেশিন লার্নিং বেছে নিন।

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

ML ফেজ I: আপনার প্রথম পাইপলাইন

আপনার প্রথম পাইপলাইনের জন্য আপনার সিস্টেম অবকাঠামোতে ফোকাস করুন। আপনি যে সমস্ত কল্পনাপ্রসূত মেশিন লার্নিং করতে যাচ্ছেন সে সম্পর্কে চিন্তা করা মজাদার হলেও, আপনি যদি প্রথমে আপনার পাইপলাইনে বিশ্বাস না করেন তবে কী ঘটছে তা বোঝা কঠিন হবে।

নিয়ম #4: প্রথম মডেলটিকে সরল রাখুন এবং সঠিক পরিকাঠামো পান।

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

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

সাধারণ বৈশিষ্ট্যগুলি নির্বাচন করা এটি নিশ্চিত করা সহজ করে তোলে যে:

  • বৈশিষ্ট্যগুলি আপনার শেখার অ্যালগরিদমে সঠিকভাবে পৌঁছায়।
  • মডেল যুক্তিসঙ্গত ওজন শেখে.
  • বৈশিষ্ট্য সঠিকভাবে সার্ভারে আপনার মডেল পৌঁছান.

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

নিয়ম #5: মেশিন লার্নিং থেকে স্বাধীনভাবে পরিকাঠামো পরীক্ষা করুন।

নিশ্চিত করুন যে পরিকাঠামো পরীক্ষাযোগ্য, এবং সিস্টেমের শেখার অংশগুলি এনক্যাপসুলেট করা হয়েছে যাতে আপনি এটির চারপাশের সবকিছু পরীক্ষা করতে পারেন। বিশেষভাবে:

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

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

নিয়ম #6: পাইপলাইন অনুলিপি করার সময় ড্রপ করা ডেটা সম্পর্কে সতর্ক থাকুন।

প্রায়শই আমরা একটি বিদ্যমান পাইপলাইন অনুলিপি করে একটি পাইপলাইন তৈরি করি (অর্থাৎ, কার্গো কাল্ট প্রোগ্রামিং ), এবং পুরানো পাইপলাইন নতুন পাইপলাইনের জন্য প্রয়োজনীয় ডেটা ফেলে দেয়। উদাহরণস্বরূপ, Google Plus What's Hot এর পাইপলাইন পুরানো পোস্টগুলিকে ড্রপ করে (কারণ এটি নতুন পোস্টগুলিকে র‌্যাঙ্ক করার চেষ্টা করছে)৷ এই পাইপলাইনটি Google প্লাস স্ট্রীমের জন্য ব্যবহার করার জন্য অনুলিপি করা হয়েছে, যেখানে পুরানো পোস্টগুলি এখনও অর্থবহ, কিন্তু পাইপলাইনটি এখনও পুরানো পোস্টগুলি বাদ দিচ্ছে৷ আরেকটি সাধারণ প্যাটার্ন হল শুধুমাত্র ব্যবহারকারীর দ্বারা দেখা ডেটা লগ করা। এইভাবে, এই ডেটাটি অকেজো যদি আমরা মডেল করতে চাই কেন একটি নির্দিষ্ট পোস্ট ব্যবহারকারী দ্বারা দেখা যায়নি, কারণ সমস্ত নেতিবাচক উদাহরণ বাদ দেওয়া হয়েছে। একটি অনুরূপ সমস্যা Play এ ঘটেছে. প্লে অ্যাপস হোমে কাজ করার সময়, একটি নতুন পাইপলাইন তৈরি করা হয়েছিল যাতে প্রতিটি উদাহরণ কোথা থেকে এসেছে তা স্পষ্ট করার জন্য কোনও বৈশিষ্ট্য ছাড়াই প্লে গেমগুলির জন্য ল্যান্ডিং পৃষ্ঠার উদাহরণগুলিও রয়েছে৷

নিয়ম #7: হিউরিস্টিকসকে বৈশিষ্ট্যে পরিণত করুন, বা বাহ্যিকভাবে পরিচালনা করুন।

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

  • হিউরিস্টিক ব্যবহার করে প্রিপ্রসেস। যদি বৈশিষ্ট্যটি অবিশ্বাস্যভাবে দুর্দান্ত হয়, তবে এটি একটি বিকল্প। উদাহরণস্বরূপ, যদি, একটি স্প্যাম ফিল্টারে, প্রেরক ইতিমধ্যেই কালো তালিকাভুক্ত হয়ে থাকে, তাহলে "ব্ল্যাকলিস্টেড" এর অর্থ কী তা পুনরায় শেখার চেষ্টা করবেন না৷ বার্তাটি ব্লক করুন। এই পদ্ধতিটি বাইনারি শ্রেণীবিভাগের কাজগুলিতে সবচেয়ে বেশি অর্থবহ করে তোলে।
  • একটি বৈশিষ্ট্য তৈরি করুন। হিউরিস্টিক থেকে সরাসরি একটি বৈশিষ্ট্য তৈরি করা দুর্দান্ত। উদাহরণ স্বরূপ, আপনি যদি কোনো প্রশ্নের ফলাফলের জন্য প্রাসঙ্গিক স্কোর গণনা করতে হিউরিস্টিক ব্যবহার করেন, তাহলে আপনি স্কোরটিকে একটি বৈশিষ্ট্যের মান হিসেবে অন্তর্ভুক্ত করতে পারেন। পরবর্তীতে আপনি মানটি ম্যাসেজ করার জন্য মেশিন লার্নিং কৌশল ব্যবহার করতে চাইতে পারেন (উদাহরণস্বরূপ, মানটিকে বিচ্ছিন্ন মানগুলির একটি সীমিত সেটে রূপান্তর করা, বা এটিকে অন্যান্য বৈশিষ্ট্যের সাথে একত্রিত করা) তবে হিউরিস্টিক দ্বারা উত্পাদিত কাঁচা মান ব্যবহার করে শুরু করুন।
  • হিউরিস্টিক এর কাঁচা ইনপুট খনি. যদি অ্যাপগুলির জন্য একটি হিউরিস্টিক থাকে যা ইনস্টলের সংখ্যা, পাঠ্যের অক্ষরের সংখ্যা এবং সপ্তাহের দিনগুলিকে একত্রিত করে, তাহলে এই টুকরোগুলিকে আলাদা করে নেওয়ার কথা বিবেচনা করুন এবং এই ইনপুটগুলিকে আলাদাভাবে শেখার মধ্যে খাওয়ান৷ ensembles প্রযোজ্য কিছু কৌশল এখানে প্রযোজ্য ( বিধি #40 দেখুন)।
  • লেবেল পরিবর্তন করুন. এটি একটি বিকল্প যখন আপনি মনে করেন যে হিউরিস্টিক ক্যাপচার তথ্য বর্তমানে লেবেলে নেই। উদাহরণস্বরূপ, আপনি যদি ডাউনলোডের সংখ্যা সর্বাধিক করার চেষ্টা করছেন, তবে আপনি মানসম্পন্ন সামগ্রীও চান, তাহলে সমাধানটি হল অ্যাপটি প্রাপ্ত তারার গড় সংখ্যা দ্বারা লেবেলটিকে গুণ করা। এখানে অনেক অবকাশ আছে। "আপনার প্রথম উদ্দেশ্য" দেখুন।

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

মনিটরিং

সাধারণভাবে, ভাল সতর্কতামূলক স্বাস্থ্যবিধি অনুশীলন করুন, যেমন সতর্কতাগুলিকে কার্যকর করা এবং একটি ড্যাশবোর্ড পৃষ্ঠা থাকা।

নিয়ম #8: আপনার সিস্টেমের সতেজতা প্রয়োজনীয়তা জানুন।

আপনার যদি একটি দিনের পুরানো মডেল থাকে তবে কর্মক্ষমতা কতটা হ্রাস পায়? এক সপ্তাহ বয়সী? এক চতুর্থাংশ বয়সী? এই তথ্য আপনাকে আপনার পর্যবেক্ষণের অগ্রাধিকার বুঝতে সাহায্য করতে পারে। যদি মডেলটি একদিনের জন্য আপডেট না করা হয় তবে আপনি উল্লেখযোগ্য পণ্যের গুণমান হারালে, একজন প্রকৌশলী এটিকে ক্রমাগত দেখছেন তা বোঝা যায়। বেশিরভাগ বিজ্ঞাপন পরিবেশন সিস্টেমে প্রতিদিন পরিচালনা করার জন্য নতুন বিজ্ঞাপন রয়েছে এবং প্রতিদিন আপডেট করতে হবে। উদাহরণস্বরূপ, যদি Google Play অনুসন্ধানের জন্য ML মডেল আপডেট না করা হয়, তাহলে এটি এক মাসের মধ্যে নেতিবাচক প্রভাব ফেলতে পারে। Google Plus- এ What's Hot-এর জন্য কিছু মডেল তাদের মডেলে কোনো পোস্ট শনাক্তকারী নেই তাই তারা এই মডেলগুলি কদাচিৎ রপ্তানি করতে পারে। পোস্ট আইডেন্টিফায়ার রয়েছে এমন অন্যান্য মডেলগুলি অনেক বেশি ঘন ঘন আপডেট করা হয়। এছাড়াও লক্ষ্য করুন যে সতেজতা সময়ের সাথে পরিবর্তিত হতে পারে, বিশেষ করে যখন আপনার মডেল থেকে বৈশিষ্ট্য কলাম যোগ করা বা সরানো হয়।

নিয়ম #9: মডেল রপ্তানি করার আগে সমস্যা সনাক্ত করুন।

অনেক মেশিন লার্নিং সিস্টেমের একটি স্টেজ থাকে যেখানে আপনি মডেলটিকে পরিবেশন করতে রপ্তানি করেন। যদি রপ্তানি করা মডেলের সাথে কোনও সমস্যা থাকে তবে এটি ব্যবহারকারীর মুখোমুখি সমস্যা।

আপনি মডেল রপ্তানি করার ঠিক আগে বিবেক চেক করুন. বিশেষভাবে, নিশ্চিত করুন যে মডেলের কর্মক্ষমতা ধরে রাখা ডেটাতে যুক্তিসঙ্গত। অথবা, যদি আপনার ডেটা নিয়ে দীর্ঘস্থায়ী উদ্বেগ থাকে, তাহলে একটি মডেল রপ্তানি করবেন না। অনেক দল ক্রমাগত মডেল মোতায়েন করে রপ্তানি করার আগে ROC বক্ররেখা (বা AUC) এর অধীনে এলাকা পরীক্ষা করে। রপ্তানি করা হয়নি এমন মডেলগুলির সমস্যাগুলির জন্য একটি ইমেল সতর্কতা প্রয়োজন, তবে ব্যবহারকারী-মুখী মডেলের সমস্যাগুলির জন্য একটি পৃষ্ঠার প্রয়োজন হতে পারে৷ সুতরাং ব্যবহারকারীদের প্রভাবিত করার আগে অপেক্ষা করা এবং নিশ্চিত হওয়া ভাল।

নিয়ম #10: নীরব ব্যর্থতার জন্য দেখুন।

এটি এমন একটি সমস্যা যা অন্যান্য ধরণের সিস্টেমের তুলনায় মেশিন লার্নিং সিস্টেমের জন্য বেশি ঘটে। ধরুন যে একটি নির্দিষ্ট টেবিল যা যুক্ত হচ্ছে তা আর আপডেট করা হচ্ছে না। মেশিন লার্নিং সিস্টেম সামঞ্জস্য করবে, এবং আচরণ যুক্তিসঙ্গতভাবে ভাল হতে থাকবে, ধীরে ধীরে ক্ষয় হবে। কখনও কখনও আপনি সারণীগুলি খুঁজে পান যেগুলি কয়েক মাস পুরানো হয়ে গেছে এবং একটি সাধারণ রিফ্রেশ সেই ত্রৈমাসিকে অন্য যেকোন লঞ্চের তুলনায় কর্মক্ষমতা উন্নত করে! বাস্তবায়ন পরিবর্তনের কারণে একটি বৈশিষ্ট্যের কভারেজ পরিবর্তিত হতে পারে: উদাহরণস্বরূপ একটি বৈশিষ্ট্যের কলাম 90% উদাহরণে পপুলেট হতে পারে এবং হঠাৎ উদাহরণগুলির 60% এ নেমে যায়। প্লে-তে একবার একটি টেবিল ছিল যা 6 মাস ধরে বাসি ছিল, এবং শুধুমাত্র টেবিলটি রিফ্রেশ করলে ইনস্টল রেট 2% বৃদ্ধি পায়। আপনি যদি ডেটার পরিসংখ্যান ট্র্যাক করেন, সেইসাথে উপলক্ষ্যে ম্যানুয়ালি ডেটা পরিদর্শন করেন, আপনি এই ধরণের ব্যর্থতা কমাতে পারেন।

নিয়ম #11: বৈশিষ্ট্য কলাম মালিক এবং ডকুমেন্টেশন দিন।

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

আপনার প্রথম উদ্দেশ্য

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

নিয়ম #12: আপনি কোন উদ্দেশ্যটি সরাসরি অপ্টিমাইজ করতে চান তা নিয়ে বেশি চিন্তা করবেন না।

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

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

নিয়ম #13: আপনার প্রথম উদ্দেশ্যের জন্য একটি সহজ, পর্যবেক্ষণযোগ্য এবং বৈশিষ্ট্যযুক্ত মেট্রিক চয়ন করুন।

প্রায়শই আপনি জানেন না আসল উদ্দেশ্য কী। আপনি মনে করেন আপনি করবেন কিন্তু তারপরে আপনি যখন আপনার পুরানো সিস্টেম এবং নতুন এমএল সিস্টেমের ডেটা এবং পাশাপাশি বিশ্লেষণের দিকে তাকাচ্ছেন, আপনি বুঝতে পারবেন আপনি উদ্দেশ্যটি পরিবর্তন করতে চান। আরও, বিভিন্ন দলের সদস্যরা প্রায়শই প্রকৃত উদ্দেশ্য নিয়ে একমত হতে পারে না। ML উদ্দেশ্য এমন কিছু হওয়া উচিত যা পরিমাপ করা সহজ এবং "সত্য" উদ্দেশ্যের জন্য একটি প্রক্সি। আসলে, প্রায়ই কোন "সত্য" উদ্দেশ্য থাকে না ( বিধি#39 দেখুন)। তাই সাধারণ ML উদ্দেশ্যের উপর প্রশিক্ষণ নিন এবং শীর্ষে একটি "পলিসি লেয়ার" থাকার কথা বিবেচনা করুন যা আপনাকে চূড়ান্ত র‌্যাঙ্কিং করতে অতিরিক্ত যুক্তি (আশা করি খুব সহজ যুক্তি) যোগ করতে দেয়।

মডেল করার সবচেয়ে সহজ জিনিস হল একটি ব্যবহারকারীর আচরণ যা সরাসরি পর্যবেক্ষণ করা হয় এবং সিস্টেমের একটি ক্রিয়াকলাপের জন্য দায়ী:

  • এই র্যাঙ্ক করা লিঙ্কটি কি ক্লিক করা হয়েছিল?
  • এই র‌্যাঙ্ক করা বস্তুটি কি ডাউনলোড করা হয়েছে?
  • এই র‌্যাঙ্ক করা বস্তুটি কি ফরোয়ার্ড করা হয়েছে/ইমেল করা হয়েছে?
  • এই র্যাঙ্ক করা অবজেক্ট রেট ছিল?
  • এই দেখানো বস্তুটিকে কি স্প্যাম/পর্নোগ্রাফি/আপত্তিকর হিসেবে চিহ্নিত করা হয়েছে?

প্রথমে পরোক্ষ প্রভাব মডেলিং এড়িয়ে চলুন:

  • ব্যবহারকারী কি পরের দিন পরিদর্শন করেছেন?
  • ব্যবহারকারী কতক্ষণ সাইট পরিদর্শন করেছেন?
  • দৈনিক সক্রিয় ব্যবহারকারীরা কি ছিল?

পরোক্ষ প্রভাবগুলি দুর্দান্ত মেট্রিক্স তৈরি করে এবং A/B পরীক্ষার সময় এবং লঞ্চের সিদ্ধান্তের সময় ব্যবহার করা যেতে পারে।

অবশেষে, মেশিন লার্নিং বের করার চেষ্টা করবেন না:

  • ব্যবহারকারী কি পণ্য ব্যবহার করে খুশি?
  • ব্যবহারকারী কি অভিজ্ঞতার সাথে সন্তুষ্ট?
  • পণ্যটি কি ব্যবহারকারীর সামগ্রিক সুস্থতার উন্নতি করছে?
  • এটি কীভাবে কোম্পানির সামগ্রিক স্বাস্থ্যকে প্রভাবিত করবে?

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

নিয়ম #14: একটি ব্যাখ্যাযোগ্য মডেল দিয়ে শুরু করা ডিবাগিংকে সহজ করে তোলে।

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

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

সাধারণ মডেলগুলির সাথে, প্রতিক্রিয়া লুপগুলি মোকাবেলা করা সহজ ( বিধি #36 দেখুন)। প্রায়শই, আমরা সিদ্ধান্ত নেওয়ার জন্য এই সম্ভাব্য ভবিষ্যদ্বাণীগুলি ব্যবহার করি: যেমন প্রত্যাশিত মান হ্রাসে র‌্যাঙ্ক পোস্টগুলি (যেমন ক্লিক/ডাউনলোড/ইত্যাদির সম্ভাবনা)। যাইহোক, মনে রাখবেন কোন মডেলটি ব্যবহার করতে হবে তা চয়ন করার সময়, সিদ্ধান্তটি মডেলের প্রদত্ত ডেটার সম্ভাবনার চেয়ে বেশি গুরুত্বপূর্ণ ( বিধি #27 দেখুন)।

নিয়ম #15: একটি পলিসি লেয়ারে আলাদা স্প্যাম ফিল্টারিং এবং কোয়ালিটি র‍্যাঙ্কিং।

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

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

এমএল ফেজ II: ফিচার ইঞ্জিনিয়ারিং

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

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

নিয়ম #16: চালু এবং পুনরাবৃত্তি করার পরিকল্পনা করুন।

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

  • আপনি নতুন বৈশিষ্ট্য নিয়ে আসছেন।
  • আপনি নিয়মিতকরণ টিউন করছেন এবং নতুন উপায়ে পুরানো বৈশিষ্ট্যগুলিকে একত্রিত করছেন৷
  • আপনি উদ্দেশ্য টিউন করছেন.

যাই হোক না কেন, একটি মডেলকে কিছুটা ভালবাসা দেওয়া ভাল হতে পারে: উদাহরণের মধ্যে থাকা ডেটার দিকে তাকানো নতুন সংকেতগুলির পাশাপাশি পুরানো, ভাঙাগুলি খুঁজে পেতে সহায়তা করতে পারে৷ সুতরাং, আপনি আপনার মডেল তৈরি করার সময়, বৈশিষ্ট্যগুলি যোগ করা বা অপসারণ করা বা পুনরায় সংযুক্ত করা কতটা সহজ তা নিয়ে ভাবুন৷ পাইপলাইনের একটি নতুন অনুলিপি তৈরি করা এবং এর সঠিকতা যাচাই করা কতটা সহজ তা নিয়ে ভাবুন। দুই বা তিনটি কপি সমান্তরালভাবে চালানো সম্ভব কিনা তা নিয়ে ভাবুন। অবশেষে, 35 এর মধ্যে 16 বৈশিষ্ট্যটি পাইপলাইনের এই সংস্করণে এটি তৈরি করে কিনা তা নিয়ে চিন্তা করবেন না। আপনি এটা পরের ত্রৈমাসিক পাবেন.

নিয়ম #17: শেখা বৈশিষ্ট্যগুলির বিপরীতে সরাসরি পর্যবেক্ষণ করা এবং রিপোর্ট করা বৈশিষ্ট্যগুলি দিয়ে শুরু করুন।

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

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

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

নিয়ম #18: বিষয়বস্তুর বৈশিষ্ট্যগুলির সাথে অন্বেষণ করুন যা প্রসঙ্গ জুড়ে সাধারণীকরণ করে৷

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

নিয়ম #19: আপনি যখন পারেন খুব নির্দিষ্ট বৈশিষ্ট্য ব্যবহার করুন।

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

নিয়ম #20: মানুষের বোধগম্য উপায়ে নতুন বৈশিষ্ট্য তৈরি করতে বিদ্যমান বৈশিষ্ট্যগুলিকে একত্রিত করুন এবং সংশোধন করুন৷

বৈশিষ্ট্য একত্রিত এবং সংশোধন করার বিভিন্ন উপায় আছে। মেশিন লার্নিং সিস্টেম যেমন টেনসরফ্লো আপনাকে ট্রান্সফর্মেশনের মাধ্যমে আপনার ডেটা প্রাক-প্রসেস করতে দেয়। দুটি সবচেয়ে আদর্শ পদ্ধতি হল "বিচক্ষণতা" এবং "ক্রস"।

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

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

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

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

নিয়ম #21: একটি রৈখিক মডেলে আপনি যে বৈশিষ্ট্যের ওজন শিখতে পারেন তার সংখ্যা আপনার কাছে থাকা ডেটার পরিমাণের মোটামুটি সমানুপাতিক।

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

  1. আপনি যদি একটি অনুসন্ধান র‌্যাঙ্কিং সিস্টেমে কাজ করেন, এবং নথি এবং ক্যোয়ারীতে লক্ষ লক্ষ বিভিন্ন শব্দ থাকে এবং আপনার কাছে 1000টি লেবেলযুক্ত উদাহরণ থাকে, তাহলে আপনার ডকুমেন্ট এবং ক্যোয়ারী বৈশিষ্ট্যগুলির মধ্যে একটি ডট পণ্য ব্যবহার করা উচিত, TF-IDF , এবং দেড় - ডজন ডজন অন্যান্য উচ্চ মানব-প্রকৌশলী বৈশিষ্ট্য। 1000টি উদাহরণ, এক ডজন বৈশিষ্ট্য।
  2. আপনার যদি এক মিলিয়ন উদাহরণ থাকে, তাহলে নিয়মিতকরণ এবং সম্ভবত বৈশিষ্ট্য নির্বাচন ব্যবহার করে নথি এবং ক্যোয়ারী বৈশিষ্ট্য কলামগুলিকে ছেদ করুন। এটি আপনাকে লক্ষ লক্ষ বৈশিষ্ট্য দেবে, তবে নিয়মিতকরণের সাথে আপনার কাছে কম থাকবে। দশ মিলিয়ন উদাহরণ, হয়তো এক লক্ষ বৈশিষ্ট্য।
  3. আপনার যদি বিলিয়ন বা শত বিলিয়ন উদাহরণ থাকে, আপনি বৈশিষ্ট্য নির্বাচন এবং নিয়মিতকরণ ব্যবহার করে নথি এবং ক্যোয়ারী টোকেন সহ বৈশিষ্ট্য কলামগুলি অতিক্রম করতে পারেন৷ আপনার কাছে এক বিলিয়ন উদাহরণ এবং 10 মিলিয়ন বৈশিষ্ট্য থাকবে। পরিসংখ্যানগত শিক্ষার তত্ত্ব খুব কমই শক্ত সীমানা দেয়, তবে একটি শুরুর বিন্দুর জন্য দুর্দান্ত দিকনির্দেশনা দেয়।

শেষ পর্যন্ত, কোন বৈশিষ্ট্যগুলি ব্যবহার করবেন তা নির্ধারণ করতে নিয়ম #28 ব্যবহার করুন৷

নিয়ম #22: আপনি আর ব্যবহার করছেন না এমন বৈশিষ্ট্যগুলি পরিষ্কার করুন৷

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

কোন বৈশিষ্ট্যগুলি যোগ করতে বা রাখতে হবে তা বিবেচনা করার সময় কভারেজটি মাথায় রাখুন। বৈশিষ্ট্য দ্বারা আচ্ছাদিত করা হয় কত উদাহরণ? উদাহরণস্বরূপ, যদি আপনার কিছু ব্যক্তিগতকরণ বৈশিষ্ট্য থাকে, কিন্তু আপনার ব্যবহারকারীদের মাত্র 8% এর কাছে কোনো ব্যক্তিগতকরণ বৈশিষ্ট্য থাকে, তবে এটি খুব কার্যকর হবে না।

একই সময়ে, কিছু বৈশিষ্ট্য তাদের ওজনের উপরে পাঞ্চ করতে পারে। উদাহরণস্বরূপ, যদি আপনার কাছে এমন একটি বৈশিষ্ট্য থাকে যা কেবলমাত্র 1% ডেটা কভার করে তবে বৈশিষ্ট্য রয়েছে এমন 90% উদাহরণ ইতিবাচক, তবে এটি যুক্ত করার জন্য একটি দুর্দান্ত বৈশিষ্ট্য হবে।

সিস্টেমের মানব বিশ্লেষণ

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

বিধি #23: আপনি কোনও সাধারণ শেষ ব্যবহারকারী নন।

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

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

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

বিধি #24: মডেলগুলির মধ্যে ডেল্টা পরিমাপ করুন।

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

বিধি #25: মডেলগুলি বেছে নেওয়ার সময়, ইউটিরিটিভ পারফরম্যান্স ভবিষ্যদ্বাণীমূলক শক্তি ট্রাম্প করে।

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

বিধি #26: পরিমাপ করা ত্রুটিগুলিতে নিদর্শনগুলি সন্ধান করুন এবং নতুন বৈশিষ্ট্য তৈরি করুন।

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

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

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

বিধি #27: পর্যবেক্ষণ করা অনাকাঙ্ক্ষিত আচরণের পরিমাণ নির্ধারণের চেষ্টা করুন।

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

বিধি #28: সচেতন থাকুন যে অভিন্ন স্বল্প-মেয়াদী আচরণ দীর্ঘমেয়াদী আচরণকে বোঝায় না।

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

এই জাতীয় সিস্টেম কীভাবে দীর্ঘমেয়াদী কাজ করবে তা বোঝার একমাত্র উপায় হ'ল মডেলটি লাইভ থাকাকালীন কেবল অর্জিত ডেটাগুলিতে এটি প্রশিক্ষণ দেওয়া। এটা খুবই কঠিন।

প্রশিক্ষণ-সরবরাহকারী স্কিউ

প্রশিক্ষণ-সরবরাহকারী স্কিউ হ'ল প্রশিক্ষণ চলাকালীন পারফরম্যান্স এবং পারফরম্যান্সের সময় পারফরম্যান্সের মধ্যে একটি পার্থক্য। এই স্কিউ এর ফলে হতে পারে:

  • আপনি কীভাবে প্রশিক্ষণ এবং পাইপলাইন পরিবেশন করতে ডেটা পরিচালনা করেন তার মধ্যে একটি তাত্পর্য।
  • আপনি যখন প্রশিক্ষণ এবং কখন পরিবেশন করবেন তখন এর মধ্যে ডেটা পরিবর্তন।
  • আপনার মডেল এবং আপনার অ্যালগরিদমের মধ্যে একটি প্রতিক্রিয়া লুপ।

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

বিধি #29: আপনি যে প্রশিক্ষণটি পরিবেশন করছেন তাতে আপনি প্রশিক্ষণ দেওয়ার সময় ব্যবহৃত বৈশিষ্ট্যগুলির সেটটি সংরক্ষণ করা এবং তারপরে প্রশিক্ষণের সময় সেগুলি ব্যবহার করার জন্য এই বৈশিষ্ট্যগুলি একটি লগের কাছে পাইপ করা উচিত তা নিশ্চিত করার সর্বোত্তম উপায়।

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

বিধি #30: গুরুত্ব-ওজনের নমুনাযুক্ত ডেটা, নির্বিচারে এটিকে ফেলে দেবেন না!

আপনার যখন খুব বেশি ডেটা থাকে, তখন ফাইলগুলি 1-12 নেওয়ার জন্য একটি প্রলোভন থাকে এবং ফাইলগুলি 13-99 উপেক্ষা করে। এটি একটি ভুল. যদিও ব্যবহারকারীকে কখনই দেখানো হয়নি এমন ডেটা বাদ দেওয়া যেতে পারে, তবে গুরুত্বের ওজন বাকিদের পক্ষে সবচেয়ে ভাল। গুরুত্ব ওজনের অর্থ হ'ল আপনি যদি সিদ্ধান্ত নেন যে আপনি 30% সম্ভাবনার সাথে উদাহরণ এক্স নমুনা করতে চলেছেন, তবে এটিকে 10/3 এর ওজন দিন। গুরুত্বের ওজন সহ, বিধি #14 এ আলোচিত সমস্ত ক্রমাঙ্কন বৈশিষ্ট্য এখনও রয়েছে।

বিধি #31: সাবধান থাকুন যে আপনি যদি প্রশিক্ষণ এবং পরিবেশনার সময় কোনও টেবিল থেকে ডেটা যোগদান করেন তবে টেবিলের ডেটা পরিবর্তন হতে পারে।

বলুন যে আপনি সেই ডকগুলির জন্য বৈশিষ্ট্যযুক্ত একটি টেবিল সহ ডক আইডিতে যোগদান করুন (যেমন মন্তব্য বা ক্লিকগুলির সংখ্যা)। প্রশিক্ষণ এবং পরিবেশন সময়ের মধ্যে, টেবিলের বৈশিষ্ট্যগুলি পরিবর্তন করা যেতে পারে। একই নথির জন্য আপনার মডেলের ভবিষ্যদ্বাণী প্রশিক্ষণ এবং পরিবেশনার মধ্যে পৃথক হতে পারে। এই ধরণের সমস্যা এড়ানোর সবচেয়ে সহজ উপায় হ'ল পরিবেশন সময়ে বৈশিষ্ট্যগুলি লগ করা ( বিধি #32 দেখুন)। যদি টেবিলটি কেবল ধীরে ধীরে পরিবর্তিত হয় তবে আপনি যুক্তিসঙ্গতভাবে বন্ধ ডেটা পেতে প্রতি ঘন্টা বা প্রতিদিন টেবিলটি স্ন্যাপশট করতে পারেন। নোট করুন যে এটি এখনও সমস্যাটি সম্পূর্ণরূপে সমাধান করে না।

বিধি #32: আপনার প্রশিক্ষণ পাইপলাইন এবং যখনই সম্ভব আপনার পরিবেশন পাইপলাইনের মধ্যে পুনরায় ব্যবহার কোড।

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

বিধি #33: আপনি যদি 5 ই জানুয়ারী পর্যন্ত ডেটার উপর ভিত্তি করে একটি মডেল উত্পাদন করেন তবে 6 ই জানুয়ারী এবং তার পরে ডেটাতে মডেলটি পরীক্ষা করুন।

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

বিধি #34: ফিল্টারিংয়ের জন্য বাইনারি শ্রেণিবিন্যাসে (যেমন স্প্যাম সনাক্তকরণ বা আকর্ষণীয় ইমেলগুলি নির্ধারণ করা), খুব পরিষ্কার ডেটার জন্য পারফরম্যান্সে স্বল্প-মেয়াদী ত্যাগ স্বীকার করুন।

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

তবে এই পদ্ধতির নমুনা পক্ষপাতিত্ব প্রবর্তন করে। আপনি যদি "আউট আউট" হিসাবে সমস্ত ট্র্যাফিকের 1% লেবেল পরিবেশন করার সময় আপনি ক্লিনার ডেটা সংগ্রহ করতে পারেন এবং ব্যবহারকারীর কাছে সমস্ত অনুষ্ঠিত উদাহরণ প্রেরণ করুন। এখন আপনার ফিল্টারটি নেতিবাচক উদাহরণগুলির কমপক্ষে 74% অবরুদ্ধ করছে। এই অনুষ্ঠিত উদাহরণগুলি আপনার প্রশিক্ষণের ডেটা হয়ে উঠতে পারে।

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

বিধি #35: র‌্যাঙ্কিং সমস্যাগুলিতে অন্তর্নিহিত স্কিউ থেকে সাবধান থাকুন।

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

  1. বৈশিষ্ট্যগুলিতে উচ্চতর নিয়মিতকরণ রয়েছে যা কেবলমাত্র একটি ক্যোয়ারির জন্য চলছে এমন বৈশিষ্ট্যগুলির বিপরীতে আরও বেশি প্রশ্নগুলি কভার করে। এইভাবে, মডেলটি এমন বৈশিষ্ট্যগুলির পক্ষে হবে যা এক বা কয়েকটি প্রশ্নের সাথে নির্দিষ্ট বৈশিষ্ট্যগুলির চেয়ে নির্দিষ্ট যা সমস্ত প্রশ্নের মধ্যে সাধারণীকরণ করে। এই পদ্ধতিটি খুব জনপ্রিয় ফলাফলগুলিকে অপ্রাসঙ্গিক প্রশ্নগুলিতে ফাঁস করা থেকে বিরত রাখতে সহায়তা করতে পারে। নোট করুন যে এটি আরও অনন্য মান সহ বৈশিষ্ট্য কলামগুলিতে আরও নিয়মিতকরণের আরও প্রচলিত পরামর্শের বিপরীতে।
  2. কেবলমাত্র বৈশিষ্ট্যগুলিকে ইতিবাচক ওজন থাকতে দেয়। সুতরাং, কোনও ভাল বৈশিষ্ট্য "অজানা" বৈশিষ্ট্যের চেয়ে ভাল হবে।
  3. কেবলমাত্র ডকুমেন্ট-বৈশিষ্ট্য নেই। এটি #1 এর একটি চরম সংস্করণ। উদাহরণস্বরূপ, এমনকি যদি কোনও প্রদত্ত অ্যাপ্লিকেশনটি ক্যোয়ারীটি নির্বিশেষে একটি জনপ্রিয় ডাউনলোড হয় তবে আপনি এটি সর্বত্র দেখাতে চান না। ডকুমেন্ট-কেবল বৈশিষ্ট্য না থাকা এটিকে সহজ রাখে। আপনি সর্বত্র কোনও নির্দিষ্ট জনপ্রিয় অ্যাপটি দেখাতে না চান তার সমস্ত পছন্দসই অ্যাপ্লিকেশনগুলিকে পৌঁছনীয় করার গুরুত্বের সাথে করতে হবে। উদাহরণস্বরূপ, যদি কেউ "পাখি দেখার অ্যাপ" অনুসন্ধান করে তবে তারা "অ্যাংরি পাখি" ডাউনলোড করতে পারে তবে এটি অবশ্যই তাদের উদ্দেশ্য ছিল না। এই জাতীয় অ্যাপ্লিকেশন দেখানো ডাউনলোডের হারকে উন্নত করতে পারে তবে ব্যবহারকারীর প্রয়োজনগুলি শেষ পর্যন্ত অসন্তুষ্ট রেখে দিন।

বিধি #36: অবস্থানগত বৈশিষ্ট্যগুলির সাথে প্রতিক্রিয়া লুপগুলি এড়িয়ে চলুন।

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

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

বিধি #37: প্রশিক্ষণ/পরিবেশন স্কিউ পরিমাপ করুন।

বেশ কয়েকটি জিনিস রয়েছে যা সর্বাধিক সাধারণ অর্থে স্কিউ তৈরি করতে পারে। তদুপরি, আপনি এটিকে বেশ কয়েকটি অংশে ভাগ করতে পারেন:

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

এমএল ফেজ তৃতীয়: ধীর গতিতে বৃদ্ধি, অপ্টিমাইজেশন পরিশোধন এবং জটিল মডেলগুলি

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

বিধি #38: স্বীকৃত উদ্দেশ্যগুলি যদি সমস্যা হয়ে থাকে তবে নতুন বৈশিষ্ট্যগুলিতে সময় নষ্ট করবেন না।

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

বিধি #39: লঞ্চের সিদ্ধান্তগুলি দীর্ঘমেয়াদী পণ্য লক্ষ্যগুলির জন্য একটি প্রক্সি।

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

সত্যটি হ'ল আসল বিশ্বটি অন্ধকূপ এবং ড্রাগন নয়: আপনার পণ্যের স্বাস্থ্য চিহ্নিত করে কোনও "হিট পয়েন্ট" নেই। ভবিষ্যতে সিস্টেমটি কতটা ভাল হবে তা কার্যকরভাবে ভবিষ্যদ্বাণী করার চেষ্টা করার জন্য দলটিকে যে পরিসংখ্যান সংগ্রহ করে তা ব্যবহার করতে হবে। তাদের ব্যস্ততা, 1 দিনের সক্রিয় ব্যবহারকারী (ডিএইউ), 30 ডিএইউ, উপার্জন এবং বিনিয়োগের বিজ্ঞাপনদাতার বিনিয়োগের বিষয়ে যত্ন নেওয়া দরকার। এই মেট্রিকগুলি যেগুলি এ/বি পরীক্ষায় পরিমাপযোগ্য সেগুলি নিজের মধ্যে কেবল আরও দীর্ঘমেয়াদী লক্ষ্যগুলির জন্য একটি প্রক্সি: ব্যবহারকারীকে সন্তুষ্ট করা, ব্যবহারকারী বৃদ্ধি, সন্তোষজনক অংশীদার এবং লাভ, যা আপনি তখনও আপনি একটি দরকারী, উচ্চমানের পণ্য এবং একটি থাকার জন্য প্রক্সিগুলি বিবেচনা করতে পারেন এখন থেকে পাঁচ বছর ধরে সমৃদ্ধ সংস্থা।

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

পরীক্ষা দৈনিক সক্রিয় ব্যবহারকারী উপার্জন/দিন
1 মিলিয়ন $4 মিলিয়ন
2 মিলিয়ন $2 মিলিয়ন

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

তদুপরি, কোনও মেট্রিক দলের চূড়ান্ত উদ্বেগকে কভার করে না, "আমার পণ্যটি এখন থেকে পাঁচ বছর হতে চলেছে"?

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

বিধি #40: এনসেম্বলগুলি সহজ রাখুন।

ইউনিফাইড মডেলগুলি যা কাঁচা বৈশিষ্ট্যগুলি গ্রহণ করে এবং সরাসরি র‌্যাঙ্ক করে থাকে তা হ'ল ডিবাগ এবং বোঝার জন্য সবচেয়ে সহজ মডেল। তবে, মডেলগুলির একটি অংশ (একটি "মডেল" যা অন্যান্য মডেলের স্কোরকে একত্রিত করে) আরও ভাল কাজ করতে পারে। বিষয়গুলিকে সহজ রাখতে, প্রতিটি মডেল হয় কেবল অন্য মডেলের ইনপুট গ্রহণ করা বা একটি বেস মডেল অনেকগুলি বৈশিষ্ট্য গ্রহণ করা উচিত, তবে উভয়ই নয়। আপনার যদি আলাদাভাবে প্রশিক্ষিত অন্যান্য মডেলের শীর্ষে মডেল থাকে তবে তাদের সংমিশ্রণের ফলে খারাপ আচরণ হতে পারে।

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

বিধি #41: যখন পারফরম্যান্স প্লেটাস, বিদ্যমান সংকেতগুলি পরিমার্জনের পরিবর্তে যোগ করার জন্য গুণগতভাবে নতুন উত্সগুলির সন্ধান করুন।

আপনি ব্যবহারকারী সম্পর্কে কিছু জনসংখ্যার তথ্য যুক্ত করেছেন। আপনি দস্তাবেজের শব্দগুলি সম্পর্কে কিছু তথ্য যুক্ত করেছেন। আপনি টেমপ্লেট অনুসন্ধানের মধ্য দিয়ে গেছেন এবং নিয়মিতকরণটি সুর করেছেন। আপনি কয়েক কোয়ার্টারে আপনার কী মেট্রিকগুলিতে 1% এর বেশি উন্নতি সহ কোনও লঞ্চ দেখেন নি। এখন কি?

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

বিধি #42: বৈচিত্র্য, ব্যক্তিগতকরণ বা প্রাসঙ্গিকতা জনপ্রিয়তার সাথে যেমন আপনি মনে করেন তেমন সম্পর্কযুক্ত হওয়ার আশা করবেন না।

সামগ্রীর একটি সেটে বৈচিত্র্য বোঝাতে অনেক কিছুই বোঝাতে পারে, সামগ্রীর উত্সের বৈচিত্র্য সহকারে অন্যতম সাধারণ। ব্যক্তিগতকরণ বোঝায় যে প্রতিটি ব্যবহারকারী তাদের নিজস্ব ফলাফল পান। প্রাসঙ্গিকতা বোঝায় যে কোনও নির্দিষ্ট প্রশ্নের জন্য ফলাফলগুলি সেই প্রশ্নের জন্য অন্য যে কোনও চেয়ে বেশি উপযুক্ত। সুতরাং এই তিনটি বৈশিষ্ট্যই সাধারণ থেকে পৃথক হিসাবে সংজ্ঞায়িত হয়।

সমস্যাটি হ'ল সাধারণটি বীট করা শক্ত হয়।

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

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

বিধি #43: আপনার বন্ধুরা বিভিন্ন পণ্য জুড়ে একই হতে থাকে। আপনার আগ্রহগুলি হতে থাকে না।

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

গুগলে পাশাপাশি বাহ্যিকভাবে মেশিন লার্নিংয়ের অনেকগুলি নথি রয়েছে।

স্বীকৃতি

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

পরিশিষ্ট

এই দস্তাবেজে গুগল পণ্যগুলির বিভিন্ন রেফারেন্স রয়েছে। আরও প্রসঙ্গ সরবরাহ করতে, আমি নীচের সর্বাধিক সাধারণ উদাহরণগুলির একটি সংক্ষিপ্ত বিবরণ দিই।

ইউটিউব ওভারভিউ

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

গুগল প্লে ওভারভিউ

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

গুগল প্লাস ওভারভিউ

গুগল প্লাস বিভিন্ন পরিস্থিতিতে ব্যবহৃত মেশিন লার্নিং: ব্যবহারকারী দ্বারা দেখা পোস্টগুলির "স্ট্রিম", র‌্যাঙ্কিং পোস্টগুলি, "হোয়াট হট" পোস্টগুলি (এখন খুব জনপ্রিয় পোস্ট), আপনার পরিচিত লোকদের র‌্যাঙ্কিং করা, ইত্যাদি। গুগল প্লাস 2019 সালে সমস্ত ব্যক্তিগত অ্যাকাউন্ট বন্ধ করে দিয়েছে এবং 2020 জুলাই, 2020 এ ব্যবসায়িক অ্যাকাউন্টগুলির জন্য গুগল স্রোত দ্বারা প্রতিস্থাপন করা হয়েছিল।