সংযোগ ফোর খেলতে মেশিন লার্নিং অ্যালগরিদম


14

আমি বর্তমানে মেশিন লার্নিং সম্পর্কে পড়ছি এবং ভাবছি কীভাবে এটি কানেক্ট চারটি খেলতে প্রয়োগ করা যায় ।

আমার বর্তমান প্রচেষ্টা হ'ল সিগময়েড ফাংশন মডেল এবং এক-বনাম-সমস্ত পদ্ধতি ব্যবহার করে একটি সাধারণ মাল্টিক্লাস শ্রেণিবদ্ধ ator

আমার মতে, ইনপুট বৈশিষ্ট্যগুলি 7x6 = 42 গ্রিড ক্ষেত্রগুলির রাজ্য (প্লেয়ার 1 এর ডিস্ক, প্লেয়ার 2 এর ডিস্ক, খালি) হতে হবে।

আউটপুটটি ডিস্কটি লাগানোর জন্য সারি সংখ্যা হবে। যেহেতু এটি 1 থেকে 7 এর মধ্যে একটি পৃথক সংখ্যা, আমার ধারণা এটি এটিকে একটি মাল্টিক্লাস শ্রেণিবদ্ধকরণ সমস্যা হিসাবে বিবেচনা করা যেতে পারে।

তবে তত্ত্বাবধানে শেখার ক্ষেত্রে আমি কীভাবে প্রশিক্ষণের উদাহরণ তৈরি করতে পারি?

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

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


2
গুগল "শক্তিবৃদ্ধি শিক্ষা"
জর্জ

ঠিক আছে, আমি অনুমান করি যে এই সমস্যাটির জন্য সত্যই প্রযোজ্য। মনে হচ্ছে সামনে অনেক পড়া আছে। আরও নির্দিষ্ট নির্দিষ্ট পয়েন্টার বা সুপারিশ?
টম

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

1
আধুনিক, আমি কেবল মেশিন শেখার বিষয়ে আগ্রহী এবং এটি জানার চেষ্টা করছি।
টম

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

উত্তর:


8

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

স্পষ্ট করার জন্য, মিনিম্যাক্স একটি গেম ট্রি তৈরি করে যেখানে প্রতিটি নোড পাতা থেকে ফলাফল সহ লেবেলযুক্ত থাকে (1 = প্লেয়ার এ জেতা, 0 = প্লেয়ার বি জিত হয়), ধরে নেওয়া হয় যে এ এই সংখ্যাটি সর্বাধিকীকরণকারী চালগুলি চয়ন করে এবং বি চলনগুলি বেছে নেয় যে এটি হ্রাস করুন।

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

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


2

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


গিথুব এ আমার কোড কাঁটাচামচ করুন github.com/lukasvermeer/minimax
লুকাস

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

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

"একটি সম্ভাব্য সমাধানের একটি লিঙ্ক সর্বদা স্বাগত, তবে দয়া করে লিঙ্কটির চারপাশে প্রসঙ্গটি যুক্ত করুন যাতে আপনার সহ ব্যবহারকারীদের এটি কী এবং কেন আছে তা কিছুটা ধারণা থাকতে পারে target টার্গেট সাইটের ক্ষেত্রে সর্বদা একটি গুরুত্বপূর্ণ লিঙ্কের সর্বাধিক প্রাসঙ্গিক অংশটি উদ্ধৃত করুন পৌঁছনীয় নয় বা স্থায়ীভাবে অফলাইনে যাবে। আমি মনে করি আমি প্রাক্তনটি করেছি। পরেরটি অপ্রাসঙ্গিক হবে। মূল প্রশ্নটি উদাহরণস্বরূপ গেমগুলির প্রয়োজন, কোনও সমাধান কীভাবে প্রয়োগ করা যায় তার ব্যাখ্যা নয়।
লুকাস ভার্মির
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.