ক্রম ইভেন্ট পূর্বাভাসের মধ্যে এলএসটিএম এর সেরা ব্যবহার


9

নিম্নলিখিত 1 টি মাত্রিক ক্রম অনুমান করুন:

A, B, C, Z, B, B, #, C, C, C, V, $, W, A, % ...

বর্ণগুলি A, B, C, ..এখানে 'সাধারণ' ইভেন্টগুলি উপস্থাপন করে।

প্রতীকগুলি #, $, %, ...এখানে 'বিশেষ' ইভেন্টগুলির প্রতিনিধিত্ব করে

সমস্ত ইভেন্টের মধ্যে অস্থায়ী ব্যবধান অ-অভিন্ন (সেকেন্ড থেকে কয়েক দিন পর্যন্ত) যদিও অতীতের কোনও ঘটনা ভবিষ্যতের ঘটনাগুলিকে প্রভাবিত করার সম্ভাবনা কম থাকে। আদর্শভাবে আমি এই সময়গুলিতে স্পষ্টভাবে বিলম্ব বিবেচনা করতে পারি।

10000 সাধারণ ইভেন্ট প্রকারের ক্রম এবং 100 টি বিশেষ ইভেন্ট প্রকারের ক্রমে রয়েছে। একটি বিশেষ ইভেন্টের আগের সাধারণ ইভেন্টগুলির পরিমাণ পরিবর্তিত হয় তবে এটি 100-300 এর বেশি হওয়ার সম্ভাবনা কম।

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

এখন আপনি এটি বিভিন্ন উপায়ে যোগাযোগ করতে পারেন: বৈশিষ্ট্য ভেক্টর তৈরি করা + স্ট্যান্ডার্ড শ্রেণিবদ্ধকরণ, সমিতি নিয়ম শিখন, এইচএমএম ইত্যাদি feature

এই ক্ষেত্রে একটি এলএসটিএম ভিত্তিক নেটওয়ার্ক কীভাবে সেরা ফিটবে তা আমি আগ্রহী। সোজা কথা হ'ল কার্পার্থির চর-আরএনএন এর মতো কিছু করা এবং পরবর্তী ইতিহাসের পূর্বে একটি ইতিহাসের পূর্বাভাস দেওয়া। তারপরে একটি নতুন সিকোয়েন্সের জন্য

C, Z, Q, V, V, ... , V, W

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

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

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

সুতরাং আমার (সাব) প্রশ্নগুলি হ'ল:

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

যে কোনও নমুনা কোড (পাইথন পছন্দসই) সর্বদা সহায়ক।

সম্পাদনা: ক্রমটিতে কিছু শব্দ আছে তা যোগ করার জন্য noise কিছু ইভেন্ট নিরাপদে উপেক্ষা করা যেতে পারে তবে ঠিক কোনটি সামনে সবসময় বলা সম্ভব নয়। সুতরাং আদর্শভাবে মডেল (এবং এটি থেকে প্রাপ্ত মোটিফগুলি) এর বিরুদ্ধে দৃ rob়।


এটি কোন ধরণের ডেটা সেট?
পীর

@felbo: আমি নাকিসুরে কথা স্পষ্টভাবে দুর্ভাগ্যবশত বলে কিন্তু হার্ডওয়্যার থেকে তার ডেটা, না আর্থিক / বিক্রয় / বিজ্ঞাপন / ..
dgorissen

ঠিক আছে. প্রকৃতপক্ষে, আপনার কাছে 10 ডলার ইভেন্টের ধরণ থাকলে এক-হট এনকোডিং (আমার উত্তরে) সমস্যা হতে পারে। আপনি ওয়ার্ড 2vec এর লাইন ধরে সম্ভবত কিছু করতে পেরেছিলেন যাতে আপনার কেবল 300 ডলার ইনপুট মাত্রা থাকে। একইভাবে, 10 কে বিকল্পগুলির মধ্যে পরবর্তী ইভেন্টের ধরণের পূর্বাভাস দেওয়া সম্ভবত সমস্যাযুক্ত। পরিবর্তে, কেবলমাত্র 100 টি বিশেষ ধরণের ভবিষ্যদ্বাণী করা এবং 10 ক সমস্ত সাধারণ ইভেন্টের জন্য একটি 'সাধারণ ইভেন্ট' ক্লাসটি পুনরায় পূর্বাভাস দেওয়া সমস্যাটির বোধগম্য হবে।
পীর

কেবল পরিষ্কার করে বলা: আমি ধরে নিয়েছি যে এই ধরণের সমস্যার জন্য আপনার কাছে প্রচুর ডেটা রয়েছে।
পীর

@ ফেলবো: আসলেই। মাত্র একটি সূচক ব্যবহার করার কথা ভাবছিলাম, ওয়ার্ড টুভেকের মতো এম্বেড করা ভেক্টর শিখতে, বা মাত্রাগুলি হ্রাস করার জন্য ইভেন্টগুলিকে শ্রেণিতে ভাগ করে নেওয়া। পূর্বাভাস পক্ষের অনুরূপ, সম্মত।
dgorissen

উত্তর:


4

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

এই উপস্থাপনা আপনার উদ্দেশ্য হতে হবে।

সূত্র:

বাহাদানাউ, ডি, চ, কে।, এবং বেনজিও, ওয়াই (2014)। যৌথভাবে প্রান্তিককরণ এবং অনুবাদ শিখিয়ে নিউরাল মেশিন অনুবাদ। আরএক্সিভ প্রিপ্রিন্ট আরএক্সিভ: 1409.0473।

শ্রীবাস্তব, এন।, মনসিমভ, ই।, এবং সালখুদ্দিনভ, আর। (2015)। এলএসটিএম ব্যবহার করে ভিডিও উপস্থাপনাগুলি অসমাপ্ত শেখা। আরএক্সিভ প্রিপ্রিন্ট আরএক্সিভ: 1502.04681।


1

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

ইভেন্টের মধ্যে সময় সম্পর্কে। আপনি অতিরিক্ত এলিমেন্ট হিসাবে আপনার LSTM এ কেবল এটি যুক্ত করতে পারেন (উদাহরণস্বরূপ এটি কেরাসে এটি কীভাবে করা যায় তার উদাহরণের জন্য দেখুন )। এটি করা সহজ হবে এবং এলএসটিএমকে সাময়িক পার্থক্যটিকে বিবেচনায় আনতে দেয়।

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


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

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

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