মিথস্ক্রিয়া মডেলগুলিতে সেরা বৈশিষ্ট্য সন্ধান করা


13

আমি তাদের বৈশিষ্ট্য মান সহ প্রোটিনের তালিকা আছে। একটি নমুনা সারণী দেখতে দেখতে:

...............Feature1...Feature2...Feature3...Feature4  
Protein1  
Protein2  
Protein3  
Protein4  

সারিগুলি হ'ল প্রোটিন এবং কলামগুলি বৈশিষ্ট্য।

আমার পাশাপাশি প্রোটিনগুলির একটি তালিকা রয়েছে যা ইন্টারঅ্যাক্ট করে; উদাহরণ স্বরূপ

Protein3, Protein4  
Protein1, Protein2  
Protein4, Protein1  

সমস্যা : প্রাথমিক বিশ্লেষণের জন্য আমি জানতে চাই কোন বৈশিষ্ট্যগুলি প্রোটিনের মিথস্ক্রিয়ায় সবচেয়ে বেশি অবদান রাখে।

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


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

উত্তর:


25

উপস্থাপিত সমস্যা সমাধানের আসল রেসিপি (একটি সম্ভাব্য সমাধান)

এটা তোলে সোজা সম্মুখগামী আমার প্রিয় মেশিন-লার্নিং টুল ব্যবহার করে এই সমস্যার সমাধান হয় vowpal wabbit যা সমর্থন দ্বিঘাত (ক্রশ) তার মাধ্যমে অতিরিক্ত বৈশিষ্ট্যগুলিও উপস্থিত রয়েছে -q বিকল্প।

vowpal wabbit পটভূমি

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

ভাষ্য দিয়ে সমস্যাটি সমাধান করার জন্য এখানে 3 টি পদক্ষেপ রয়েছে:

পদক্ষেপ 0: গিথুব থেকে স্বর ওয়াববিট ডাউনলোড করুন এবং তৈরি করুন (সমর্থিত পরিবেশের নীচে নোট দেখুন)

পদক্ষেপ 1: প্রতিটি লাইনের মতো দেখতে এমন একটি প্রশিক্ষণ-সেট প্রস্তুত করুন:

1.0 protein1/protein2|A p1_feature1 p1_feature2 ... |B p2_feature1 ...
...

প্রশিক্ষণ-সেট বিন্যাসের ব্যাখ্যা:

বামতমতম সংখ্যা, 1.0 , হ'ল লেবেল (মিথস্ক্রিয়া শক্তি, যা কোনও সংখ্যার মান হতে পারে), দ্বিতীয় স্ট্রিং ' প্রোটিন 1 / প্রোটিন 2 ' লাইনটিকে একটি পরিচয় দেওয়ার জন্য একটি ট্যাগ, আইডাব্লু : "এই লাইনটি প্রোটিন 1 এবং এর মধ্যে মিথস্ক্রিয়াটিকে উপস্থাপন করে protein2 "; এটি alচ্ছিক এবং আপনি এটি একটি মন্তব্য হিসাবে ভাবতে পারেন। কোন ভবিষ্যদ্বাণী কোন উদাহরণের সাথে সম্পর্কিত তা সনাক্ত করার জন্য এই ট্যাগ-স্ট্রিংটি মডেলগুলির পূর্বাভাসগুলিতেও প্রতিধ্বনিত হয়েছে, তবে আমরা এখানে ভবিষ্যদ্বাণী করছি না, আমরা কেবল আমাদের মডেলকে মডেলিং করছি এবং অধ্যয়ন করছি। এরপরে প্রোটিন 1 এর জন্য ইনপুট বৈশিষ্ট্যটির নামের স্থানটি আসবে |A(আমাদের একটি নাম-স্থান নির্ধারণ করতে হবে যাতে আমরা বিভিন্ন নাম-স্পেসের মধ্যে পার হতে পারি, এটির দরকার নেইA, আসলে কোনও শব্দ হতে পারে, তবে প্রথম অক্ষরটির নাম জায়গার মধ্যে পার্থক্য থাকতে হবে যাতে আমরা কমান্ড কলটিতে সেগুলি পার করতে পারি) তারপরে প্রোটিন 1 এর ইনপুট বৈশিষ্ট্যগুলির তালিকা p1_...। প্রোটিন 2-এর নাম-স্থানটি সর্বশেষে আসে: |Bতারপরে প্রোটিন 2-এর বৈশিষ্ট্য-নামগুলি রয়েছে p2_...

স্বরযুক্ত ওয়াবিটের অন্যতম সুন্দরতা আপনি বৈশিষ্ট্যের নামের জন্য স্বেচ্ছাসেবী স্ট্রিং ব্যবহার করতে পারেন (এটি অভ্যন্তরীণভাবে এটি হ্যাশ করবে, তবে আপনার যত্ন নেই)। প্রশিক্ষণ সংস্থার একমাত্র বিশেষ অক্ষর:

  • স্পেসস (স্পষ্টতই)
  • |, ইনপুট বৈশিষ্ট্য এবং নাম-স্থানগুলি উপসর্গ করতে এবং
  • : বৈশিষ্ট্য-নামগুলি তাদের মান থেকে আলাদা করতে

:এখানে ব্যবহার করা হয় না, কারণ আমরা তাই তাদের মান ডিফল্ট প্রত্যেক প্রোটিন বৈশিষ্ট্য নাম একটি বুলিয়ান (অস্তিত্ব) প্রতিনিধিত্ব করে অনুমান 1এবং তারা স্পষ্ট মান প্রয়োজন হবে না।

প্রোটিন 1 (নাম দিয়ে শুরু হওয়া স্থান ) এবং অন্যটি প্রোটিন 2 থেকে নির্বাচিত হওয়া সমস্ত সম্ভাব্য সংখ্যার বৈশিষ্ট্যগুলির মধ্যে স্বয়ংক্রিয়ভাবে ক্রস-বৈশিষ্ট্যগুলি (ওরফে ইন্টারঅ্যাকশন শর্তাদি) তৈরি করতে আপনি এখন ভোপাল_ওয়াব্বিট (এক্সিকিউটেবল নাম হ'ল vw) চালাতে পারেন ( নাম-স্পেস দিয়ে শুরু )। vowpal_wabbit ডেটা পড়বে, শিখবে এবং প্রতিটি বৈশিষ্ট্যের সংমিশ্রণের জন্য ওজন সহ একটি মডেল তৈরি করবে যার ফলস্বরূপ প্রোটিনের জুটির মধ্যে কিছুটা ইন্টারঅ্যাকশন হয়। এখানে, সরাসরি চলার পরিবর্তে , আমরা এটি আমাদের শেষ পদক্ষেপ হিসাবে স্বরযুক্ত ওয়াব্বিটের সাথে আসা র‍্যাপার ইউটিলিটিটির মাধ্যমে চালাব। রান মডেল তৈরি করতে, এবং পাঠযোগ্য আকারে মডেল ডাম্প।-q ABABvwvw-varinfovw-varinfovw

পদক্ষেপ 3: vw-varinfo কে এভাবে কল করুন :

vw-varinfo -q AB -c --passes 20 your_data_set_file

vw-varinfo -q ... -c --passes ...যেমন হয় তেমন সমস্ত অপশন ( ) পাস করবে vw-q ABদুটি বৈশিষ্ট্য নাম শূন্যস্থান পার করার জন্য কেবলমাত্র প্রয়োজনীয়। আমি উপরে আরও একটি বিকল্প যুক্ত করেছি (একাধিক পাস চালান), যা আমার বিশ্বাস ভাল ফলাফল দেয়।

এই কমান্ডটি vwডেটা সেটটিতে প্রশিক্ষণের জন্য স্বর ওয়াবিট ( ) কে কল করবে এবং আমি বিশ্বাস করি যে আউটপুটটি আপনি সন্ধান করছেন: সমস্ত বৈশিষ্ট্য ইন্টারঅ্যাকশন এবং শক্তি সম্পর্কিত এবং তাদের আপেক্ষিক ওজন অনুসারে।

উদাহরণ ইনপুট এবং আউটপুট

মনে করুন আপনার ইনপুটটিতে, prot.dat3 টি প্রোটিনের মধ্যে 3-উপায় ইন্টারঅ্যাকশন অন্তর্ভুক্ত রয়েছে:

1.0 protein1/protein2|A a b |B k m
0.6 protein2/protein3|A k m |B b c d
2.2 protein1/protein3|A a b |B b c d

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

চলমান:

vw-varinfo -q AB -c --passes 20 prot.dat

সমস্ত সম্ভাব্য মিথস্ক্রিয়া (নাম-স্থান Aএবং Bআউটপুটে নামগুলি উপেক্ষা করুন ) এবং তাদের ওজন প্রদান করবে:

FeatureName        HashVal   MinVal   MaxVal    Weight   RelScore
A^k                 220268     0.00     1.00   +0.3804    100.00%
A^k^B^k             254241     0.00     0.00   +0.3804    100.00%
A^k^B^m              93047     0.00     0.00   +0.3804    100.00%
B^k                 178789     0.00     1.00   +0.1011     26.58%
B^m                  17595     0.00     1.00   +0.1011     26.58%
[... trimmed for brevity ...]
A^m^B^m             141879     0.00     0.00   +0.0000      0.00%
Constant            116060     0.00     0.00   +0.1515      0.00%
A^b                 139167     0.00     1.00   -0.0641    -16.86%
A^b^B^k             204424     0.00     0.00   -0.1233    -32.43%
A^b^B^m              43230     0.00     0.00   -0.1233    -32.43%

এই ডেটাতে দেখা যাচ্ছে যে সাধারণভাবে কোনও ইন্টারঅ্যাকশনের সবচেয়ে শক্তিশালী অবদানকারীরা হলেন 1) kবৈশিষ্ট্যের নিছক উপস্থিতি , 2) kবৈশিষ্ট্যটি নিজের সাথে ইন্টারঅ্যাক্ট করে (উভয় প্রোটিনই ধরে নিয়েছে) এবং 3) kইন্টারেক্ট করে m। দুর্বলতম (প্রোটিন মিথস্ক্রিয়াতে নেতিবাচক অবদান) bবৈশিষ্ট্যটির সাথে যুক্ত হওয়া mবৈশিষ্ট্য।

এখানে vw-varinfo এর একটি হাটো পৃষ্ঠা রয়েছে

ভোপাল ওয়াবিট উত্স থেকে তৈরি করে (উপরের লিঙ্কটি দেখুন) এবং লিনাক্স (এবং সম্ভবত অন্যান্য ইউনিক্স), ম্যাক ওএস-এক্স এবং উইন্ডোজে চলে।

আছে HTH


এটি কি সরাসরি বোঝায় যে দুর্বল মিথস্ক্রিয়াগুলি ছাঁটাই করা মডেলের যথার্থতার উন্নতি করবে?
ম্যাট

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

1

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


গ্রাফটি বাইনারি নাও হতে পারে .. যেহেতু প্রোটিন একাধিক প্রোটিনের সাথে যোগাযোগ করতে পারে। একাধিক প্রান্তের জন্য কি কোনও এক্সটেনশন রয়েছে?
আনিস

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

হুম .. আমি ধরে নিচ্ছি যে আপনি যখন আমাকে প্রোটিনের মিথস্ক্রিয়াগুলির জন্য একটি বর্গ ম্যাট্রিক্স তৈরি করতে বলবেন, ম্যাট্রিক্সের মানগুলি প্রোটিনের মধ্যে ইন্টারঅ্যাকশন সংখ্যার প্রতিনিধিত্ব করে। তবে, আমরা এখানে বৈশিষ্ট্যগুলি কোথায় ব্যবহার করছি তা দেখছি না। আপনি কি এ সম্পর্কে বিস্তারিত বলতে পারেন?
আনিস

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