নিউরাল নেটওয়ার্কগুলিতে বাইনারি এবং অবিচ্ছিন্ন ইনপুটগুলির মিশ্রণটি কীভাবে মোকাবেলা করবেন?


14

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

আমার ইনপুট ভেরিয়েবলগুলি বাইনারি এবং অবিচ্ছিন্ন উভয়ই রয়েছে। উদাহরণস্বরূপ কিছু বাইনারি ভেরিয়েবল যা মূলত হ্যাঁ / না ছিল তা নিউরাল নেটের জন্য 1/0 তে রূপান্তরিত হয়েছিল। অন্যান্য ভেরিয়েবলগুলি একটানা হয় Sqft

ইনপুট ডেটার নমুনা

আমি 0-1 স্কেলের সমস্ত মানকে স্বাভাবিক করে তুলেছি। হতে পারে BedroomsএবংBathroomsতাদের পরিসীমাটি কেবল 0-4 হয় বলে স্বাভাবিক করা উচিত নয়?

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

ANN <- nnet(Price ~ Sqft + Bedrooms + Bathrooms + Parking2 + Elevator + 
            Central.AC + Terrace + Washer.Dryer + Doorman + Exercise.Room + 
            New.York.View,data[1:700,], size=3, maxit=5000, linout=TRUE, decay=.0001)

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

ANN <- nnet(Price ~ Sqft + Studio + X1BR + X2BR + X3BR + X4BR + X1Bath
        + X2Bath + X3Bath + X4bath + Parking.Yes + Parking.No + Elevator.Yes + Elevator.No 
        + Central.AC.Yes + Central.AC.No + Terrace.Yes + Terrace.No + Washer.Dryer.Yes 
        + Washer.Dryer.No + Doorman.Yes + Doorman.No + Exercise.Room.Yes + Exercise.Room.No 
        + New.York.View.Yes + New.York.View.No + Healtch.Club.Yes + Health.Club.No,
    data[1:700,], size=12, maxit=50000, decay=.0001)

উপরের কোডটিতে লুকানো নোডগুলি 12, তবে আমি 3 থেকে 25 অবধি অনেক গোপন নোড চেষ্টা করেছি এবং সমস্ত পোস্ট করা মূল কোডটিতে আমার উপরে থাকা মূল পরামিতিগুলির চেয়ে খারাপ ফলাফল দেয়। আমি লিনিয়ার আউটপুট = সত্য / মিথ্যা দিয়েও চেষ্টা করেছি।

আমার ধারণাটি হ'ল আমাকে ডেটাটি অন্যভাবে এনটাইট ফিড করা দরকার কারণ এটি বাইনারি ইনপুটটি সঠিকভাবে ব্যাখ্যা করছে না। হয় যেটি হয়, বা আমার এটির জন্য বিভিন্ন পরামিতি দেওয়া দরকার।

কোন ধারনা?


1
নিউরাল নেটওয়ার্ক ইনপুট হিসাবে বাইনারি বা শ্রেণিবদ্ধ তথ্য ব্যবহারের স্ট্যান্ডার্ড উপায় হ'ল ক্ষেত্রটি সূচক ভেক্টরগুলিতে প্রসারিত করা। উদাহরণস্বরূপ, যদি আপনার এমন একটি ক্ষেত্র থাকে যা 1,2 বা 3 মান নিতে পারে, তবে 1 টি [1,0,0], 2 -> [0,1,0] এবং 3 -> এ প্রসারিত হবে [ 0,0,1]। বাস্তব মূল্যবান ইনপুটটি সাধারণত হয় হিসাবে রাখা হয়।
ব্যবহারকারী 1149913

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

উত্তর:


8

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

নিউরাল নেটওয়ার্কগুলির জন্য আরও একটি সুনির্দিষ্ট সুপারিশ হ'ল "ডামি কোডিং" (0 এবং 1) এর পরিবর্তে বাইনারি ইনপুটগুলির জন্য (যা -1 এবং 1) "এফেক্ট কোডিং" ব্যবহার করা এবং ক্রমাগত ভেরিয়েবলগুলি কেন্দ্রে অতিরিক্ত পদক্ষেপ নেওয়া। এই সুপারিশগুলি ওয়ারেন সারেলের বিস্তৃত FAQ থেকে এসেছে , বিশেষত বিভাগগুলি "বাইনারি ইনপুটগুলিকে 0 এবং 1 হিসাবে কেন কোড দেয় না?" এবং "আমার কি ইনপুট ভেরিয়েবলগুলি মানক করা উচিত?" টুকরোটি যদিও একই:

একটি ইনপুট এর অবদান অন্যান্য ইনপুটগুলির তুলনায় এর পরিবর্তনশীলতার উপর নির্ভর করবে।

আনর্ডার্ডযুক্ত শ্রেণীবদ্ধ ভেরিয়েবলগুলি হিসাবে - আপনাকে অবশ্যই তাদের বাইনারি সূচকগুলিতে ছড়িয়ে দিতে হবে। এগুলি কেবল অন্যথায় অর্থবহ নয়।


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