না, এটি প্রয়োজন হয় না যে এটি এই ক্ষেত্রে, তবে এটি একটি বিভ্রান্ত উপায়ে টি-এসএনইর লক্ষ্য।
উত্তরের মাংসে Beforeোকার আগে, আসুন আমরা গণিত এবং স্বজ্ঞাতভাবে কিছু প্রাথমিক সংজ্ঞা দেখি at
নিকটতম প্রতিবেশীদের : বিবেচনা করুন একটি মেট্রিক স্থান এবং ভেক্টর একটি সেট , একটি নতুন ভেক্টর দেওয়া , আমরা যেমন পয়েন্টগুলি সন্ধান করতে চাই। স্বজ্ঞাতভাবে, এটি এর আদর্শের উপযুক্ত সংজ্ঞা ব্যবহার করে দূরত্বের সর্বনিম্নতম ।আরঘএক্স1, । । । ,এক্সএন∈আরঘx∈Rd||X1−x||≤...≤||Xn−x||Rd
মাত্রা হ্রাস প্রয়োগের সময় নিকটতম প্রতিবেশী প্রকৃতপক্ষে গুরুত্বপূর্ণ কিনা তা এখন আসছেন। সাধারণত আমার উত্তরে আমি গণিত, কোড এবং অন্তর্দৃষ্টি দিয়ে কিছু যুক্তিযুক্ত করার ইচ্ছা করি। আসুন প্রথমে বিষয়গুলির স্বজ্ঞাত দিকটি বিবেচনা করি। আপনি যদি একটি বিন্দু যে দূরত্বে থাকে তাহলে অন্য বিন্দু থেকে দূরে টি-Sne অ্যালগরিদম আমরা জানি যে এই দূরত্ব হিসাবে আমরা উচ্চতর মাত্রা মধ্যে রূপান্তর সংরক্ষিত আছে আমাদের বোঝার থেকে। আসুন আমরা আরও ধরে নিই যে একটি বিন্দু কিছু মাত্রার মধ্যে নিকটতম প্রতিবেশী । সংজ্ঞা অনুসারে, এবং দূরত্বের মধ্যে একটি সম্পর্ক রয়েছেdyxddd+k। সুতরাং, আমাদের আমাদের স্বজ্ঞাততা রয়েছে যা হ'ল দূরত্বটি বিভিন্ন মাত্রা ধরে রাখা হয় বা কমপক্ষে, আমরা লক্ষ্য করি এটিই। আসুন কিছু গণিত দিয়ে এটি ন্যায়সঙ্গত করার চেষ্টা করি।
এই উত্তরে আমি টি-স্নে জড়িত গণিত সম্পর্কে কথা বলি, তবুও বিশদভাবে নয় ( টি-এসএনই: সমান ডাটা মানগুলি কেন দৃশ্যত বন্ধ নয়? )। এখানে গণিতটি কী, মূলত সম্ভাবনা সর্বাধিকতর করে তুলছে যে দুটি বিন্দু একটি অনুমানিত স্থানে কাছাকাছি থাকবে কারণ তারা ধরে নিচ্ছে যে পয়েন্টগুলির বন্টনটি ব্যয় বহনযোগ্য। সুতরাং, এই সমীকরণটির দিকে তাকিয়ে। লক্ষ্য করুন যে সম্ভাবনা দুটি পয়েন্টের মধ্যকার দূরত্বের উপর নির্ভরশীল, সুতরাং তারা যত বেশি পৃথক হবে ততই তারা পৃথক পৃথক পৃথক স্থান পাবে কারণ তারা নিম্ন মাত্রার প্রবণতা পাবে। লক্ষ্য করুন যে তারা যদি farpj|i=exp(−||xj−xi||22σ2)∑k≠iexp(−||xj−xi||22σ2)Rk, সম্ভাব্য মাত্রায় তারা কাছাকাছি থাকবে না এমন একটি ভাল সুযোগ রয়েছে। সুতরাং, এখন আমাদের কাছে গাণিতিক যুক্তি রয়েছে যে পয়েন্টগুলি "কেন" কাছে থাকা উচিত। তবে আবার, যেহেতু এটি একটি তাত্পর্যপূর্ণ বিতরণ, যদি এই পয়েন্টগুলি উল্লেখযোগ্যভাবে দূরে থাকে তবে নিকটবর্তী প্রতিবেশীদের সম্পত্তি রক্ষণাবেক্ষণের কোনও গ্যারান্টি নেই, যদিও, এটিই লক্ষ্য।
এখন অবশেষে একটি ঝরঝরে কোডিং উদাহরণ যা এই ধারণাটিও প্রদর্শন করে।
from sklearn.manifold import TSNE
from sklearn.neighbors import KNeighborsClassifier
X = [[0],[1],[2],[3],[4],[5],[6],[7],[8],[9]]
y = [0,1,2,3,4,5,6,7,8,9]
neighs = KNeighborsClassifier(n_neighbors=3)
neighs.fit(X, y)
X_embedded = TSNE(n_components=1).fit_transform(X)
neighs_tsne = KNeighborsClassifier(n_neighbors=3)
neighs_tsne.fit(X_embedded, y)
print(neighs.predict([[1.1]]))
>>>[0]
print(neighs_tsne.predict([[1.1]]))
>>>[0]
যদিও এটি খুব নিষ্পাপ উদাহরণ এবং জটিলতার প্রতিফলন ঘটায় না, এটি কিছু সাধারণ উদাহরণের জন্য পরীক্ষামূলকভাবে কাজ করে।
সম্পাদনা: এছাড়াও, প্রশ্নটি নিজেই সম্মানের সাথে কিছু বিষয় যুক্ত করা প্রয়োজন, সুতরাং এটি প্রয়োজন হয় না যে এটি ক্ষেত্রে এটিই হতে পারে, তবে এটি গণিতের মাধ্যমে যুক্তিযুক্ত প্রমাণিত করবে যে আপনার কোনও ठोस ফলাফল নেই (কোনও নির্দিষ্ট হ্যাঁ বা না) ।
আমি আশা করি এটি টিএসএনই দিয়ে আপনার উদ্বেগের কিছুটা সমাধান করেছে।