নিউরাল নেটওয়ার্ক এবং ডিসিশন ফরেস্টের জন্য ডেটা কীভাবে সাধারণ করা যায়


10

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

আমি হোঁচট খেয়ে প্রথম জিনিসটি হ'ল ডেটার যথাযথ স্বাভাবিককরণ। একটি বৈশিষ্ট্য , অন্য একটি এবং এর মধ্যে একটি বৈশিষ্ট্য রয়েছে যা বেশিরভাগ মান 8 এবং কখনও কখনও takes গ্রহণ করে So সুতরাং আমি বিভিন্ন উত্সে পড়তে যথাযথ স্বাভাবিককরণ করব So নিউরাল নেটওয়ার্কগুলির জন্য ডেটা গুরুত্বপূর্ণ। আমি যেমন জানতে পেরেছি, ডেটা স্বাভাবিক করার জন্য অনেকগুলি সম্ভাব্য উপায় রয়েছে, উদাহরণস্বরূপ:[0,106][30,40]

  1. ন্যূনতম-সর্বাধিক নরমালাইজেশন : ইনপুট পরিসরটি রৈখিকভাবে ব্যবধানে রূপান্তরিত হয় (বা বিকল্পভাবে , ব্যাপারটি কি?)[0,1][1,1]
  2. জেড-স্কোর নরমালাইজেশন : ডেটা শূন্য গড় এবং একক বৈকল্পিকতে রূপান্তরিত হয়েছে:
    yএনW=Y-গড়var

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

এমন কোনও সংমিশ্রণ রয়েছে যেখানে ডেটা ম্যাপ করা হয়েছে এবং এর শূন্য অর্থও রয়েছে (যা একটি অ-রৈখিক রূপান্তর এবং তাই ইনপুট ডেটার বৈকল্পিক এবং অন্যান্য বৈশিষ্ট্যগুলিতে পরিবর্তন বোঝায়)।[-1,1]

আমি কিছুটা হারাতে পেরেছি কারণ এই প্রশ্নের উত্তরগুলির জন্য উল্লেখগুলি খুঁজে পাচ্ছি না।

উত্তর:


21

আমি অন্যান্য মন্তব্যের সাথে একমত নই।

প্রথমত, আমি সিদ্ধান্ত গাছগুলির জন্য ডেটা স্বাভাবিক করার প্রয়োজন দেখছি না । সিদ্ধান্তের গাছগুলি ডেটার প্রতিটি পৃথক বিভাগের জন্য একটি স্কোর (সাধারণত এনট্রপি) গণনা করে কাজ করে । ডেটার ক্রম পরিবর্তন করে না এমন ডেটাতে রূপান্তর প্রয়োগ করা কোনও তাত্পর্যপূর্ণ করে না।(এক্সএক্সআমি,এক্স>এক্সআমি)

এলোমেলো বন কেবল সিদ্ধান্ত গাছের একগুচ্ছ, সুতরাং এটি এই যুক্তিটি পরিবর্তন করে না।

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

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

এটি কখন পার্থক্য করে? আপনি যখন সিগময়েড অ্যাক্টিভেশন ফাংশনগুলির সাথে traditionalতিহ্যবাহী ব্যাকপ্রসারণ ব্যবহার করছেন, এটি সিগময়েড ডেরাইভেটিভকে পরিপূর্ণ করতে পারে ।

সিগময়েড ফাংশন (সবুজ) এবং এর ডেরাইভেটিভ (নীল) বিবেচনা করুন:

সিগমা

আপনি যদি আপনার ডেটা স্বাভাবিক না করেন তবে যা ঘটে তা হ'ল আপনার ডেটা এলোমেলো ওজন দ্বারা গুণিত হয় এবং আপনি মতো জিনিস পান । সিগময়েডের ডেরাইভেটিভ (প্রায়) শূন্য এবং প্রশিক্ষণ প্রক্রিয়াটি পাশাপাশি অগ্রসর হয় না। আপনি যে নিউরাল নেটওয়ার্কটি শেষ করেছেন সেটি হ'ল এলোমেলো ওজনযুক্ত একটি নিউরাল নেটওয়ার্ক (কোনও প্রশিক্ষণ নেই)।গুলি'(9999)=0

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

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

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


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

আশা করি এটি সাহায্য করবে।


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

@ এএন 6 ইউ 5 - খুব ভাল পয়েন্ট। বিভিন্ন অন্তর্নিহিত ডিস্ট্রিবিউশন / আউটলিয়ারগুলিতে স্কেলিংয়ের প্রভাব সম্পর্কে আমি সত্যিই খুব বেশি ভাবি নি। আজ সকালে এটি পড়তে পারে!
plumbus_bouquet
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.