د ملاتړ ویکتور ماشینونه (SVMs) یو پیاوړی څارل شوي زده کړې الګوریتم دی چې د طبقه بندي او راجستر کولو کارونو لپاره کارول کیږي. د SVM لومړنی هدف د مطلوب هایپرپلین موندل دي چې په لوړ ابعادي ځای کې د مختلف ټولګیو ډیټا ټکي په غوره توګه جلا کوي. په SVM کې د ټاکل شوي ځانګړتیاو طبقه بندي په ژوره توګه د پریکړې فعالیت سره تړلې ده، په ځانګړې توګه د هغې نښه، کوم چې په ټاکلو کې مهم رول لوبوي د هایپرپلین په کوم اړخ کې د ورکړل شوي ډیټا نقطه راځي.
په SVM کې د پریکړې فعالیت
د SVM لپاره د پریکړې فعالیت په لاندې ډول څرګند کیدی شي:
چیرته چې:
- د وزن ویکتور دی چې د هایپرپلین سمت تعریفوي.
- د ډیټا پوائنټ ځانګړتیا ویکتور دی چې طبقه بندي کیږي.
- د تعصب اصطلاح ده چې هایپرپلین بدلوي.
د معلوماتو نقطه طبقه بندي کول د پریکړې د فعالیت نښه کارول کیږي:
دا نښه د هایپرپلین اړخ ټاکي په کوم کې چې د معلوماتو نقطه موقعیت لري.
په طبقه بندي کې د لاسلیک رول
د پریکړې د فعالیت نښه () مستقیم د ټولګي لیبل ټاکي چې د ډیټا نقطې ته ټاکل شوي
. دلته دا څنګه کار کوي:
1. مثبت نښه: که د پریکړې د فعالیت نښه مثبته ده. دا پدې مانا ده چې د معلوماتو نقطه
د هایپرپلین په اړخ کې موقعیت لري چیرې چې مثبت طبقه موقعیت لري. له همدې امله،
د مثبت طبقې پورې اړوند طبقه بندي کیږي (معمولا د +1 په توګه پیژندل کیږي).
2. منفي نښه: که د پریکړې د فعالیت نښه منفي ده. دا په ګوته کوي چې د معلوماتو نقطه
د هایپرپلین په اړخ کې موقعیت لري چیرې چې منفي طبقه موقعیت لري. له همدې امله،
د منفي طبقې پورې اړوند طبقه بندي کیږي (معمولا د -1 په توګه پیژندل کیږي).
3. صفر: په نادره حالت کې چیرته د معلوماتو نقطه
دقیقا په هایپرپلین کې پروت دی. دا سناریو په تیوریکي لحاظ ممکنه ده مګر په عملي توګه د ریښتیني ارزښت لرونکي معلوماتو دوامداره طبیعت له امله نادره ده.
جیومیټریک تشریح
د پریکړې فنکشن جیومیټریک تشریح د دې لپاره اړین دی چې پوه شي چې څنګه SVMs د ډیټا ټکي طبقه بندي کوي. د هایپرپلین لخوا تعریف شوی د دوو طبقو تر منځ د پریکړي د سرحد په توګه کار کوي. د دې هایپرپلین موقعیت او موقعیت د وزن ویکتور لخوا ټاکل کیږي
او د تعصب اصطلاح
.
1. څنډی: حاشیه د هر ټولګي څخه د هایپرپلین او نږدې ډیټا پوائنټونو ترمینځ فاصله ده. SVM موخه دا ده چې دا حاشیه اعظمي کړي ترڅو ډاډ ترلاسه شي چې هایپرپلین نه یوازې ټولګي جلا کوي بلکه دا د نږدې ډیټا پوائنټونو څخه ترټولو لوی احتمالي فاصلې سره کوي. دا نږدې ډیټا ټکي د ملاتړ ویکتورونو په نوم پیژندل کیږي.
2. د ویکتورونو ملاتړ کول: سپورټ ویکتورونه د معلوماتو ټکي دي چې هایپرپلین ته نږدې دي. دوی د هایپرپلین موقعیت او سمت تعریف کولو کې مهم دي. د دې ملاتړ ویکتورونو موقعیت کې هرډول بدلون به هایپرپلین بدل کړي.
بېلګه
یو ساده مثال په پام کې ونیسئ چیرې چې موږ د دوه ټولګیو څخه د ډیټا پوائنټونو سره دوه اړخیزه ځانګړتیا ځای لرو. راځئ چې مثبت طبقه په +1 او منفي طبقه په -1 سره وټاکو. د وزن ویکتور فرض کړئ او د تعصب اصطلاح
.
د معلوماتو ټکي لپاره ، موږ کولی شو د پریکړې فعالیت په لاندې ډول محاسبه کړو:
څرنګه چې ، د پریکړې فعالیت نښه مثبته ده ، او پدې توګه د معلوماتو نقطه
د مثبت طبقې (+1) پورې اړوند طبقه بندي کیږي.
د بل ډیټا ټکي لپاره ، موږ د پریکړې فعالیت په لاندې ډول محاسبه کوو:
بیا بیا، نو نښه مثبته ده، او
د مثبت طبقې (+1) پورې اړوند طبقه بندي کیږي.
اوس، د معلوماتو نقطه په پام کې ونیسئ :
په دې صورت کې، نو نښه منفي ده، او
د منفي طبقې (-1) پورې اړوند طبقه بندي کیږي.
د ریاضیاتو فورمول
د SVM ریاضیاتی جوړښت د مطلوب موندلو لپاره د اصلاح کولو ستونزې حل کول شامل دي او
چې د روزنې ډاټا په سمه توګه طبقه بندي کولو په وخت کې حاشیه اعظمي کوي. د اصلاح کولو ستونزه په لاندې ډول بیان کیدی شي:
هلته د ډیټا پوائنټ ټولګي لیبل دی
، او خنډ دا یقیني کوي چې ټول ډیټا ټکي په سمه توګه د لږترلږه 1 حاشیې سره طبقه بندي شوي.
د کرنل چال
په ډیری عملي غوښتنلیکونو کې، ډاټا ممکن د اصلي ځانګړتیا په ځای کې په قطعي ډول د جلا کیدو وړ نه وي. د دې په نښه کولو لپاره، SVMs د کرنل چال په کارولو سره غیر خطي طبقه بندي ته غزول کیدی شي. د کرنل فعالیت په ښکاره ډول ډیټا په لوړ ابعادي ځای کې نقشه کوي چیرې چې خطي جلا کول ممکن وي. په عام ډول کارول شوي کرنل افعال کې پولینومیل کرنل، د ریډیل اساس فنکشن (RBF) دانه، او سیګمایډ کرنل شامل دي.
په کرنل شوي SVM کې د پریکړې فعالیت کیږي:
هلته د Lagrange ضرب کونکي دي چې د اصلاح کولو ستونزې دوه اړخیزه بڼه څخه ترلاسه شوي.
د Python تطبیق
په Python کې، د 'scikit-learn' کتابتون د SVC ټولګي له لارې د SVM مستقیم تطبیق چمتو کوي. لاندې د ډیټا سیټ طبقه بندي کولو لپاره د `SVC` کارولو څرنګوالي یوه بیلګه ده:
python from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.svm import SVC from sklearn.metrics import accuracy_score # Load the dataset iris = datasets.load_iris() X = iris.data y = iris.target # Select only two classes for binary classification X = X[y != 2] y = y[y != 2] # Split the dataset into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # Create an SVM classifier with a linear kernel clf = SVC(kernel='linear') # Train the classifier clf.fit(X_train, y_train) # Predict the class labels for the test set y_pred = clf.predict(X_test) # Calculate the accuracy of the classifier accuracy = accuracy_score(y_test, y_pred) print(f'Accuracy: {accuracy * 100:.2f}%')
په دې مثال کې، د 'SVC' ټولګي د خطي کرنل سره د SVM طبقه بندي کولو لپاره کارول کیږي. طبقه بندي کوونکی د روزنې په سیټ کې روزل کیږي، او دقت د ازموینې په سیټ کې ارزول کیږي. په SVM کې د ټاکل شوي ځانګړتیا طبقه بندي په بنسټیز ډول د پریکړې فعالیت نښه پورې اړه لري. . نښه ټاکي چې د هایپرپلین په کوم اړخ کې د ډیټا ټکی پروت دی، په دې توګه دا اړوند ټولګي ته ګمارل کیږي. د پریکړې فعالیت ، د مطلوب هایپرپلین موندلو لپاره د اصلاح کولو پروسه ، او د غیر خطي جلا کیدو اداره کولو لپاره د کرنل افعال احتمالي کارول د SVMs ټولې مهمې برخې دي. د دې اړخونو پوهیدل یو جامع لید وړاندې کوي چې څنګه SVMs کار کوي او د ماشین زده کړې مختلف دندو کې د دوی غوښتنلیک.
په اړه نورې وروستۍ پوښتنې او ځوابونه د پیتان سره د EITC/AI/MLP ماشین زده کړه:
- په خطي ریګریشن کې د b پیرامیټر څنګه محاسبه کیږي (د غوره مناسب لاین y-مداخله)؟
- مالتړ ویکتورونه د SVM د پریکړې حد په ټاکلو کې څه رول لوبوي، او د روزنې پروسې په جریان کې دوی څنګه پیژندل کیږي؟
- د SVM اصلاح کولو په شرایطو کې، د وزن ویکتور 'w' او تعصب 'b' اهمیت څه دی، او دوی څنګه ټاکل کیږي؟
- د SVM پلي کولو کې د `visualize` میتود هدف څه دی، او دا څنګه د ماډل فعالیت په پوهیدو کې مرسته کوي؟
- د SVM پلي کولو کې د وړاندوینې میتود څنګه د نوي ډیټا نقطې طبقه بندي ټاکي؟
- د ماشین زده کړې په شرایطو کې د ملاتړ ویکتور ماشین (SVM) لومړنۍ موخه څه ده؟
- څنګه کولی شي کتابتونونه لکه scikit-learn په Python کې د SVM طبقه بندي پلي کولو لپاره وکارول شي، او کلیدي دندې څه دي؟
- د محدودیت اهمیت تشریح کړئ (y_i (mathbf{x}_i cdot mathbf{w} + b) geq 1) په SVM اصلاح کې.
- د SVM اصلاح کولو ستونزې هدف څه دی او دا څنګه په ریاضي ډول جوړ شوی؟
- د سپورټ ویکتور ماشینونو (SVM) په شرایطو کې د هایپرپلین مساوات (mathbf{x} cdot mathbf{w} + b = 0) رول څه دی؟
نورې پوښتنې او ځوابونه په EITC/AI/MLP ماشین زده کړه کې د Python سره وګورئ