একাধিক আউটপুট রিগ্রেশন জন্য নিউরাল নেটওয়ার্ক


21

আমার কাছে 34 টি ইনপুট কলাম এবং 8 আউটপুট কলামযুক্ত একটি ডেটাসেট রয়েছে।

সমস্যাটি সমাধান করার একটি উপায় হ'ল 34 আউটপুট নেওয়া এবং প্রতিটি আউটপুট কলামের জন্য স্বতন্ত্র রিগ্রেশন মডেল তৈরি করা।

আমি ভাবছি বিশেষত নিউরাল নেটওয়ার্ক ব্যবহার করে কেবলমাত্র একটি মডেল ব্যবহার করে এই সমস্যাটি সমাধান করা যেতে পারে।

আমি মাল্টিলেয়ার পারসেপ্ট্রন ব্যবহার করেছি তবে এর জন্য লিনিয়ার রিগ্রেশন এর মতো একাধিক মডেল দরকার needs সিকোয়েন্স টু সিকোয়েন্স কী কার্যকর বিকল্প হতে পারে?

আমি টেনসরফ্লো ব্যবহার করছি। আমার কোড রয়েছে তবে আমি মনে করি যে মাল্টিলেয়ার পারসেপ্ট্রন তত্ত্বের ক্ষেত্রে আমি কী মিস করছি তা বোঝা আরও গুরুত্বপূর্ণ more

আমি বুঝতে পারি যে এমএলপিতে আপনার যদি একটি আউটপুট নোড থাকে তবে এটি একটি আউটপুট সরবরাহ করবে। আপনার যদি 10 আউটপুট নোড থাকে তবে এটি একটি বহু শ্রেণীর সমস্যা। আপনি 10 আউটপুটগুলির মধ্যে সর্বোচ্চ সম্ভাব্যতা সহ ক্লাসটি বেছে নিন। তবে আমার ক্ষেত্রে এটি নিশ্চিত যে একই ইনপুটটির জন্য 8 টি আউটপুট থাকবে।

বলি, এক সেট ইনপুটগুলির জন্য আপনি কোনও কিছুর 3D স্থানাঙ্ক পাবেন (এক্স, ওয়াই, জেড)। পছন্দ করুন, ইনপুট = {1,10,5,7} আউটপুট = {1,2,1}} সুতরাং একই ইনপুটটির জন্য {1,10,5,7} আমাকে এক্স ভ্যালু ওয়াই মান এবং জেডের জন্য মডেল তৈরি করা দরকার One তবে আমি দেখতে চাই যে আমার একটি মডেল থাকতে পারে কিনা। সুতরাং আমি seq2seq ব্যবহার সম্পর্কে চিন্তা। কারণ এনকোডারটি একটি ইনপুট একটি সিরিজ নেয় এবং ডিকোডারটি আউটপুট সিরিজ সরবরাহ করে। তবে মনে হচ্ছে সেন্সরফ্লোতে সেক 2 সেক ফ্ল্যাট মানগুলি পরিচালনা করতে পারে না। যদিও আমি এই সম্পর্কে ভুল হতে পারে।


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

আপনার পক্ষে কি কোনও একক এনএন মডেল ব্যবহার করে 8 রিগ্রেশন আউটপুটগুলি পাওয়া যায় তার উত্তর সরবরাহ করা সম্ভব হবে? ধন্যবাদ।
sjishan

সম্ভবত, আপনি যদি আপনার প্রশ্ন সম্পাদনা করে কয়েকটি বিষয় ব্যাখ্যা করেন: 1) কোন কাঠামোয়? ২) এতক্ষণ আপনার কোড (বা ডিজাইন, যদি আপনার কোনও কোড না থাকে) কী? 3) নিজেকে এই কাজটি করতে বাধা দিচ্ছে কী? আপনি ব্যবহার করতে পারেন এমন কোনও কিছুর জবাব দিতে আমার 1 এবং 2 প্রয়োজন। আপনার সমস্যাটি কী তা বোঝার জন্য এবং সমাধানটি ব্যাখ্যা করার জন্য আমার 3 টি দরকার।
নীল স্লেটার

1. টেনসরফ্লো। ২. আমার কোড আছে তবে আমি মনে করি যে মাল্টিলেয়ার পারসেপ্ট্রন তত্ত্বের ক্ষেত্রে আমি কী মিস করছি তা বোঝা আরও গুরুত্বপূর্ণ is আমি বুঝতে পারি যে এমএলপিতে আপনার যদি একটি আউটপুট নোড থাকে তবে এটি একটি আউটপুট সরবরাহ করবে। আপনার যদি 10 আউটপুট নোড থাকে তবে এটি একটি বহু শ্রেণীর সমস্যা। আপনি 10 আউটপুটগুলির মধ্যে সর্বোচ্চ সম্ভাব্যতা সহ ক্লাসটি বেছে নিন। তবে আমার ক্ষেত্রে এটি নিশ্চিত যে একই ইনপুটটির জন্য 8 টি আউটপুট থাকবে। আমাকে অন্য একটি উদাহরণ দেখান, আসুন বলতে দিন, ইনপুটগুলির একটি সেটের জন্য আপনি কোনও কিছুর (ডি, এক্স, ওয়াই, জেড) থ্রিডি সমন্বয় পাবেন। পছন্দ করুন, ইনপুটগুলি = {1,10,5,7} আউটপুট = {1,2,1}
সজিশন

সুতরাং একই ইনপুটটির জন্য {1,10,5,7} আমাকে এক্স ভ্যালু ওয়াই মান এবং জেডের জন্য মডেল তৈরি করা দরকার One তবে আমি দেখতে চাই যে আমার একটি মডেল থাকতে পারে কিনা। সুতরাং আমি seq2seq ব্যবহার সম্পর্কে চিন্তা। কারণ এনকোডারটি একটি ইনপুট একটি সিরিজ নেয় এবং ডিকোডারটি আউটপুট সিরিজ সরবরাহ করে। তবে মনে হচ্ছে সেন্সরফ্লোতে সেক 2 সেক ফ্ল্যাট মানগুলি পরিচালনা করতে পারে না। আমি যদিও এই সম্পর্কে ভুল হতে পারে।
sjishan

উত্তর:


14

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

কোনও নিউরাল নেটওয়ার্ক ফ্রেমওয়ার্ক এর মতো কিছু করতে সক্ষম।

এটি করার মূল চাবিকাঠিটি মনে রাখতে হবে যে শেষ স্তরের লিনিয়ার অ্যাক্টিভেশন থাকা উচিত (অর্থাত্ কোনও অ্যাক্টিভেশন নয়)।

আপনার প্রয়োজনীয়তা অনুসারে, ইনপুট স্তরের আকারটি একটি ভেক্টর (34,) এবং আউটপুট (8,) হবে।

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


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

4

আপনি পাইথন এ খুব সহজভাবে এটি বাস্তবায়ন করতে পারেন।
আপনার এক্সটি প্রশিক্ষণ এক্স, ওয়াই, জেড স্থানাঙ্কের সংগ্রহ হবে।
আপনার ওয়াই এক্স, ওয়াই, জেড স্থানাঙ্কের পরীক্ষার সংগ্রহ হবে।

from sklearn import cross_validation                     
from sklearn.neural_network import MLPRegressor   

model = MLPRegressor(solver='lbfgs',alpha=0.001,hidden_layer_sizes=(150,))
cross_validation.cross_val_score(model, X, Y,scoring='mean_squared_error')

0

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

যদি আপনি কেরাস ব্যবহার করেন তবে এটি করার উপায় হ'ল চূড়ান্ত আউটপুট স্তর হিসাবে একটি ঘন স্তর যুক্ত করা: model.add(Dense(8, activation='linear'))

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.