• A One-Stop Shop for Principal Component Analysis(PCA) প্রধান উপাদান বিশ্লেষণ

    What is PCA?


    আসুন আমরা বলি যে আপনি ভবিষ্যদ্বাণী করতে চান যে আমেরিকার gross domestic product (GDP) 2017 সালের জন্য কী হবে। আপনার কাছে প্রচুর তথ্য আছে  :  2017 সালের প্রথম প্রান্তিকে মার্কিন জিডিপি, 2016,2016 সালের সম্পূর্ণতার জন্য মার্কিন জিডিপি। আপনার কাছে বেকারত্বের হার, মূল্যস্ফীতির হার ইত্যাদির মতো সর্বজনীনভাবে উপলভ্য অর্থনৈতিক সূচক রয়েছে। ২০১০ সাল থেকে আপনার কাছে মার্কিন আদমশুমারীর তথ্য আছে, প্রতিটি শিল্পে কতজন আমেরিকান কাজ করেন এবং আমেরিকান সম্প্রদায় জরিপ ডেটা প্রতিটি শুমারির মধ্যে সেই অনুমানগুলি আপডেট করে। আপনি জানেন যে হাউস এবং সিনেটের কতজন সদস্য প্রতিটি রাজনৈতিক দলের অন্তর্ভুক্ত। আপনি স্টক প্রাইসের ডেটা, এক বছরে সংঘটিত আইপিও এবং  how many CEOs seem to be mounting a bid for public office। বিবেচনার জন্য অবিচ্ছিন্ন পরিমাণে ভেরিয়েবল থাকা সত্ত্বেও, এটি কেবল পৃষ্ঠকে স্ক্র্যাচ করে ।

    n.t:eigenvalue =প্রতিটি প্যারামিটারের মানগুলির একটি সেট, যার জন্য একটি ডিফারেনশিয়াল সমীকরণের দেওয়া conditions/শর্তে একটি non-zero solution (একটি আইজেনফংশন) থাকে

    টি এল; ডিআর - আপনি অনেক ভেরিয়েবল বিবেচনা করতে হবে।
    আপনি যদি এর আগে অনেকগুলি ভেরিয়েবলের সাথে কাজ করে থাকেন তবে আপনি জানেন যে এটি সমস্যাগুলি উপস্থিত করতে পারে। আপনি প্রতিটি পরিবর্তনশীল মধ্যে সম্পর্ক বুঝতে পারি? আপনার কি এতগুলি ভেরিয়েবল রয়েছে যে আপনি আপনার ডেটাতে আপনার মডেলকে ফিট করার ঝুঁকিতে আছেন বা আপনি যে মডেলিং কৌশলটি ব্যবহার করছেন তা অনুমানের লঙ্ঘন করছেন?

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

    কিছুটা আশ্চর্যজনকভাবে, বৈশিষ্ট্যটির জায়গার reducing the dimension/মাত্রা হ্রাস করার নামটিকে "dimensionality reduction মাত্রিকতা হ্রাস " বলা হয় dimen মাত্রিকতা হ্রাস অর্জনের অনেকগুলি উপায় রয়েছে তবে এই কৌশলগুলির বেশিরভাগই দুটি শ্রেণির একটিতে পড়ে:



    • Feature Eliminationবৈশিষ্ট্য নির্মূল


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

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

    আপনি হয়ত বলতে পারেন, " dimensionality reductionমাত্রিকতা হ্রাস কোথা থেকে আসে?" ভাল, আমরা যতগুলি নতুন independent variables চাই তা রাখি, তবে আমরা " least important onesগুলি" ফেলে রাখি কারণ আমরা নতুন ভেরিয়েবলগুলিকে কতটা ভালভাবে আদেশ দিয়েছিলাম , আমাদের dependent variable টির পূর্বাভাস দিন, আমরা জানি কোন পরিবর্তনশীল most important and least important তবে - এবং এখানে here’s the kicker - কারণ এই নতুন স্বতন্ত্র ভেরিয়েবলগুলি আমাদের পুরানোগুলির সংমিশ্রণ, আমরা এখনও আমাদের পুরানো ভেরিয়েবলগুলির সর্বাধিক মূল্যবান অংশ রাখছি, এমনকি যখন আমরা এই "নতুন" ভেরিয়েবলগুলির এক বা একাধিক ড্রপ করি তখনও!

    Principal component বিশ্লেষণ বৈশিষ্ট্য আহরণের জন্য একটি কৌশল - সুতরাং এটি আমাদের ইনপুট ভেরিয়েবলগুলিকে একটি নির্দিষ্ট উপায়ে একত্রিত করে, তারপরেও আমরা সমস্ত ভেরিয়েবলের সর্বাধিক মূল্যবান অংশগুলি বজায় রেখে "সর্বনিম্ন গুরুত্বপূর্ণ" ভেরিয়েবলগুলি ফেলে দিতে পারি! একটি অতিরিক্ত সুবিধা হিসাবে, পিসিএর পরে প্রতিটি "নতুন" ভেরিয়েবলগুলি একে অপরের থেকে পৃথক। এটি একটি সুবিধা কারণ লিনিয়ার মডেলের অনুমানগুলির জন্য আমাদের স্বতন্ত্র ভেরিয়েবলগুলি একে অপরের থেকে স্বতন্ত্র হওয়া প্রয়োজন। যদি আমরা এই "নতুন" ভেরিয়েবলগুলির সাথে লিনিয়ার রিগ্রেশন মডেলটি ফিট করার সিদ্ধান্ত নিই (see “principal component regression” below), এই অনুমানটি অগত্যা সন্তুষ্ট হবে।

    When should I use PCA?


    1. আপনি কি ভেরিয়েবলের সংখ্যা হ্রাস করতে চান, তবে বিবেচনা থেকে সম্পূর্ণ অপসারণ করতে ভেরিয়েবলগুলি সনাক্ত করতে সক্ষম নন?
    আপনি যদি তিনটি প্রশ্নের উত্তর "হ্যাঁ" দিয়ে থাকেন তবে PCA ব্যবহারের জন্য একটি ভাল পদ্ধতি। যদি আপনি 3 নম্বর প্রশ্নের উত্তর "না" দিয়ে থাকেন তবে আপনার PCA ব্যবহার করা উচিত নয় ।
    How does PCA work?


    এর পরে বিভাগটি পিসিএ কেন কাজ করে তা আলোচনা করা হবে, তবে অ্যালগোরিদমে ঝাঁপ দেওয়ার আগে একটি সংক্ষিপ্তসার সরবরাহ করা প্রসঙ্গে সহায়ক হতে পারে:
    • আমরা একটি ম্যাট্রিক্স গণনা করতে যাচ্ছি যাতে আমাদের ভ্যারিয়েবলগুলি কীভাবে একে অপরের সাথে সম্পর্কিত হয় তা সংক্ষিপ্ত করে দেয়।


    আমরা আমাদের মূল ডেটাগুলিকে এই গুরুত্বপূর্ণ দিকগুলি (যা আমাদের মূল ভেরিয়েবলগুলির সংমিশ্রণ) সাথে একত্রিত করতে রূপান্তর করব। নীচের স্ক্রিনশটটি ( আবার সেটোসা.আইও থেকে ) উপরের মতো একই তথ্য, তবে রূপান্তরিত হয়েছে যাতে x এবং y- x গুলি এখন "লাল দিক" এবং "সবুজ দিক"  এখানে সেরা ফিটের লাইনটি দেখতে কেমন হবে?

    • যদিও এখানে visual example টি two-dimensional (এবং এইভাবে আমাদের two “directions" রয়েছে), এমন একটি ক্ষেত্রে চিন্তা করুন যেখানে আমাদের ডেটাটির আরও dimensions রয়েছে। চিহ্নিত করণের যেটি "dimensions গুলি" হয় সবচেয়ে কসম "important," আমরা কম্প্রেস বা একটি smaller space "দিকনির্দেশগুলিতে" যে ড্রপ দ্বারা আমাদের তথ্য প্রকল্প করতে পারি "least important।" , আমরা হ্রাস করছি একটি smaller space আমাদের তথ্য জরিপ অনুযায়ী আমাদের feature space র dimensionality… তবে, কারণ আমরা এই বিভিন্ন "directions" আমাদের ডেটা পরিবর্তন করেছি, আমরা আমাদের মডেলটিতে সমস্ত আসল ভেরিয়েবলগুলি নিশ্চিত করে রেখেছি!
    এখানে, আমি PCA পরিচালনার জন্য একটি অ্যালগরিদম দিয়ে চলেছি। আমি খুব প্রযুক্তিগত না হওয়ার চেষ্টা করি, তবে এখানে বিশদটি উপেক্ষা করা অসম্ভব, তাই আমার লক্ষ্যটি যতটা সম্ভব স্পষ্টভাবে জিনিসগুলির মধ্যে দিয়ে চলা। অ্যালগরিদম কেন কাজ করে তার একটি গভীর স্বীকৃতি পরবর্তী বিভাগে উপস্থাপন করা হয়েছে।
    শুরু করার আগে, আপনার n টি সারি এবং সম্ভবত p+ 1 কলামের সাথে tabular data সাজানো উচিত , যেখানে একটি কলাম আপনার নির্ভরশীল ভেরিয়েবলের সাথে মিলিত হয় (সাধারণত ডায়াটড y ) এবং কলাম যেখানে প্রতিটি স্বindependent variable র সাথে মিলে যায় (যার ম্যাট্রিক্স সাধারণত চিহ্নিত করা হয়) x )


    1. যদি কোনও Y ভেরিয়েবল উপস্থিত থাকে এবং এটি আপনার ডেটার অংশ হয়, তবে উপরের সংজ্ঞায়িত হিসাবে আপনার ডেটা Y এবং X এ আলাদা করুন - আমরা বেশিরভাগ x এর  সাথে কাজ করব । (দ্রষ্টব্য: যদি y র জন্য কোনও কলাম না থাকে তবে তা ঠিক আছে - পরবর্তী পয়েন্টে যান!)

    An example from setosa.io where we transform five data points using PCA. The left graph is our original data X; the right graph would be our transformed data Z*.


    এই গ্রাফিকের দুটি জিনিস নোট করুন:
    • দুটি চার্ট হুবহু একই ডেটা দেখায়, তবে ডান গ্রাফটি মূল ডেটাটি রূপান্তরিত করে যাতে আমাদের অক্ষগুলি এখন মূল উপাদান।
    যেহেতু আমাদের প্রধান উপাদানগুলি একে অপরের কাছে অর্থেগোনাল, তারা পরিসংখ্যানগতভাবে একে অপরের থেকে রৈখিকভাবে স্বাধীন ... যার কারণে আমাদের z* এর কলামগুলি একে অপরের থেকে রৈখিকভাবে স্বাধীন!
    ৮. অবশেষে, আমাদের নির্ধারণ করতে হবে যে কতগুলি বৈশিষ্ট্য বর্জন করতে হবে তার বিপরীতে রাখতে হবে। এটি নির্ধারণের জন্য তিনটি সাধারণ পদ্ধতি রয়েছে, নীচে আলোচনা করা হয়েছে এবং এর পরে একটি স্পষ্ট উদাহরণ রয়েছে:
    • পদ্ধতি 1 : আমরা কয়টি মাত্রা রাখতে চাই তা নির্বিচারে নির্বাচন করি  সম্ভবত আমি জিনিসগুলিকে দুটি মাত্রায় দৃশ্যত উপস্থাপন করতে চাই, তাই আমি কেবল দুটি বৈশিষ্ট্য রাখতে পারি। এটি ব্যবহারের ক্ষেত্রে নির্ভরশীল এবং আমার কতগুলি বৈশিষ্ট্য বাছাই করা উচিত তার পক্ষে কোনও hard-and-fast rule নিয়ম নেই।

    যেহেতু প্রতিটি ইগেনভ্যালু মোটামুটি তার সম্পর্কিত eigenvalue টির গুরুত্ব, তাই পরিবর্তিততার অনুপাতের বিবরণ হ'ল সমস্ত বৈশিষ্ট্যের ইগনাল্যুজের যোগফল দ্বারা আপনি যে বৈশিষ্ট্যগুলিকে বিভক্ত রেখেছেন সেগুলির ইউজভ্যালুগুলির যোগফল।

    জেনেটিক ডেটার জন্য এই স্ক্রি প্লটটি বিবেচনা করুন। (উত্স: এখানে ।) লাল রেখাটি প্রতিটি বৈশিষ্ট্য দ্বারা ব্যাখ্যা করা বৈকল্পিকের অনুপাত নির্দেশ করে, যা মূল উপাদানটির eigenvalue গুলি সমস্ত eigenvalue র সমষ্টি দ্বারা বিভক্ত করে গণনা করা হয়। কেবলমাত্র মূল উপাদান 1 যুক্ত করে ব্যাখ্যা করা proportion of variance হ'ল λ₁ / (λ₁ + λ₂ +… + λ পি ), যা প্রায় 23%। কেবলমাত্র প্রধান উপাদান 2 অন্তর্ভুক্ত করে ব্যাখ্যা করা proportion of variance  হ'ল λ₂ / (λ₁ + λ₂ +… + λ পি ), বা প্রায় 19%।

    মূল উপাদান 1 এবং 2 উভয়কে ব্যাখ্যা করে find the elbow হ'ল (λ₁ + λ₂) / (λ₁ + λ₂ +… + λ পি ), যা প্রায় ৪২%। এখানেই হলুদ রেখা আসে; হলুদ রেখাটি ব্যাখ্যা করে যে সংখ্যার বিস্তৃত পরিমাণের সংক্ষিপ্ত পরিমাণটি আপনি যদি সেই বিন্দু পর্যন্ত সমস্ত মূল উপাদান অন্তর্ভুক্ত করেন explained উদাহরণস্বরূপ, পিসি 2 এর ওপরে হলুদ বিন্দুটি নির্দেশ করে যে প্রধান 1 এবং 2 টি সহ মডেলটির মোট proportion র প্রায় 42% ব্যাখ্যা করবে।
    এখন কয়েকটি উদাহরণ দেওয়া যাক:

    • পদ্ধতি 1: আমরা সম্মিলিতভাবে অন্তর্ভুক্ত করার জন্য অনেকগুলি মূল উপাদান নির্বাচন করি। ধরুন আমি আমার মডেলটিতে পাঁচটি মূল উপাদান রাখতে চেয়েছিলাম। উপরের জেনেটিক ডেটা ক্ষেত্রে, এই পাঁচটি মূল উপাদানগুলি মোট 13 টি মূল উপাদানকে অন্তর্ভুক্ত করে মোট চলকের প্রায় 66% ব্যাখ্যা করবে।
    (দ্রষ্টব্য: কিছু স্ক্রি প্লটের মধ্যে বৈকল্পিকের অনুপাতের চেয়ে Y অক্ষের উপরে ইগেনভেক্টরগুলির আকার থাকবে , এটি সমপরিমাণ ফলাফলের দিকে পরিচালিত করে, তবে ব্যবহারকারীকে ম্যানুয়ালি তারতম্যের অনুপাত গণনা করতে হবে ,এর উদাহরণ এখানে দেখা যায় । )
    একবার আমরা যে রূপান্তরিত ভেরিয়েবলগুলি বাদ দিতে চাইছি তা বাদ দিলে আমরা শেষ হয়ে গেলাম! এটি PCA
    Once we’ve dropped the transformed variables we want to drop, we’re done! That’s PCA.
     PCA কেন কাজ করে?
    যদিও PCA একটি গভীর প্রযুক্তিগত পদ্ধতিতে, লিনিয়ার বীজগণিত অ্যালগোরিদমগুলির উপর নির্ভর করে, আপনি যখন এটি সম্পর্কে চিন্তা করেন এটি তুলনামূলক intuitive method/স্বজ্ঞাত পদ্ধতি।
    • প্রথমত, সহভেদাংক ম্যাট্রিক্স z ᵀ একটি ম্যাট্রিক্স যে কিভাবে প্রতিটি পরিবর্তনশীল আনুমানিক পরিসংখ্যান রয়েছে z প্রতিটি অন্যান্য পরিবর্তনশীল সম্পর্কিত z । কীভাবে একটি ভেরিয়েবল অন্যটির সাথে যুক্ত তা বোঝা বেশ শক্তিশালী।
    সুতরাং, পিসিএ একটি পদ্ধতি যা একত্রিত করে:
    1. প্রতিটি পরিবর্তনশীল একে অপরের সাথে কীভাবে যুক্ত তার একটি পরিমাপ। (Covariance matrix/সহভেদাংক ম্যাট্রিক্স)
    PCA আমাদের predictor র একত্রিত করে এবং আমাদের তুলনামূলকভাবে গুরুত্বহীন ইগেনভেক্টরগুলি ফেলে দেওয়ার অনুমতি দেয়।

    PCA র কি এক্সটেনশন আছে?

    হ্যাঁ, আমি এখানে যুক্তিসঙ্গত পরিমাণে ঠিকানার চেয়ে আরও বেশি কিছু করতে পারি। যা আমি প্রায়শই দেখেছি তা হ'ল মূল উপাদানগুলির রিগ্রেশন , যেখানে আমরা আমাদের অপরিকল্পিত yনিয়ে থাকি এবং z * এর সাবসেটে এটি ফেলে রাখি যা আমরা ছাড়িনি। (এইখানেই z * এর কলামগুলির স্বতন্ত্রতা আসে; z * -এ ওয়াইকে পুনরায় চাপিয়ে দিয়ে আমরা জানি যে স্বাধীন ভেরিয়েবলগুলির প্রয়োজনীয় স্বাধীনতা প্রয়োজনীয়ভাবে সন্তুষ্ট হবে However আমাদের অন্যান্য অনুমানগুলি এখনও আমাদের পরীক্ষা করা দরকার)
    অন্যান্য যে সমস্ত সাধারণ দেখা যায় সেগুলি হ'ল কার্নেল পিসিএ kernel PCA.

    উপসংহার

    আমি আশা করি আপনি এই নিবন্ধটি সহায়ক খুঁজে পেয়েছি! PCA আরও গভীর-আলোচনার জন্য নীচের কিছু সংস্থানগুলি দেখুন। আপনি কী ভাবেন তা আমাকে জানান, বিশেষত উন্নতির জন্য যদি কোনও পরামর্শ থাকে।
    আমাকে বলা হয়েছে যে এই নিবন্ধটির একটি চীনা অনুবাদ এখানে উপলব্ধ করা হয়েছে । (ধন্যবাদ, জাকুকিও ফ্রিল !)
    আমি PCA র চাক্ষুষ ও স্বজ্ঞাত প্রদর্শনের জন্য সেটোসা.আইপি অ্যাপলেটকে একটি বিশাল এইচটি / টি দিতে চাই 
    সম্পাদনা করুন: উপরের Step ধাপে Z * এর  সূত্রে টাইপো লক্ষ্য করার জন্য মাইকেল ম্যাথিউজকে ধন্যবাদ । তিনি সঠিকভাবে নির্দেশ করেছেন যে Z * = ZP * , Z ᵀ P * নয় । উপরের আট ধাপে অন্য টাইপো লক্ষ্য করার জন্য চিয়েনলুং চেউংকেও ধন্যবাদ জানানো হয়েছে, এবং আমি উল্লেখ করেছি যে আমি "ইগেনভেক্টর" কে একটি লাইনে "ইগেনভ্যালু" দিয়ে সংযুক্ত করেছি।

    Resources You Should Check Out:

    এটি এই PCA  নিবন্ধটি সংকলন করতে ব্যবহৃত সম্পদের একটি তালিকা এবং সেইসাথে PCA বোঝার জন্য আমি সাধারণত সহায়ক বলে মনে করেছি এমন অন্যান্য সংস্থানগুলি। যদি আপনি এই তালিকায় ভাল অন্তর্ভুক্ত হতে পারে এমন কোনও সংস্থান সম্পর্কে জানেন তবে দয়া করে একটি মন্তব্য দিন এবং আমি সেগুলি যুক্ত করব।

    Non-Academic Articles and Resources

    Coding Resources

    একাডেমিক পাঠ্যপুস্তক এবং নিবন্ধ

    স্পর্শকাতর সম্পদ
















  • 0 comments:

    Post a Comment

    New Research

    Attention Mechanism Based Multi Feature Fusion Forest for Hyperspectral Image Classification.

    CBS-GAN: A Band Selection Based Generative Adversarial Net for Hyperspectral Sample Generation.

    Multi-feature Fusion based Deep Forest for Hyperspectral Image Classification.

    ADDRESS

    388 Lumo Rd, Hongshan, Wuhan, Hubei, China

    EMAIL

    contact-m.zamanb@yahoo.com
    mostofa.zaman@cug.edu.cn

    TELEPHONE

    #
    #

    MOBILE

    +8615527370302,
    +8807171546477