Makîneyên Vektora Piştgiriyê (SVM) algorîtmayek fêrbûna çavdêriya hêzdar in ku ji bo karên dabeşkirin û paşveçûnê têne bikar anîn. Armanca bingehîn a SVM ev e ku meriv hîperplana çêtirîn bibîne ku herî baş nuqteyên daneyê yên çînên cihêreng di cîhek mezin-dimensî de ji hev vediqetîne. Dabeşkirina taybetmendiyek di SVM-ê de bi fonksiyona biryarê ve, nemaze nîşana wê, ku di destnîşankirina kîjan aliyê hîperplanê de xalek daneya diyar dikeve de rolek girîng dilîze bi kûr ve girêdayî ye.
Fonksiyona Biryarê di SVM de
Fonksiyona biryarê ji bo SVM dikare wiha were diyar kirin:
ko:
- vektora giraniyê ye ku arasteya hîperplanê diyar dike.
- vektora taybetmendiya xala daneyê ye ku tê dabeşkirin.
- têgîna bias e ku hîperplanê diguhezîne.
Dabeşkirina xalek daneyê , nîşaneya fonksiyona biryarê tê bikar anîn:
Ev nîşana aliyê hîperplana ku xala daneyê lê ye diyar dike.
Rola Sign Di Classification
Nîşana fonksiyona biryarê () rasterast etîketa pola ku ji xala daneyê re hatî veqetandin destnîşan dike
. Çawa dixebite ev e:
1. Nîşana Erênî: Heke , nîşaneya fonksiyona biryarê erênî ye. Ev tê wê wateyê ku xala daneyê
li aliyê hîperplana ku çîna erênî lê ye, derewan dike. Ji ber vê yekê,
ji çîna erênî (bi gelemperî wekî +1 tê destnîşan kirin) tê dabeş kirin.
2. Nîşana Neyînî: Heke , nîşaneya fonksiyona biryarê neyînî ye. Ev nîşan dide ku xala daneyê
li kêleka hîperplana ku çîna neyînî lê ye, derewan dike. Ji ber vê yekê,
ji çîna neyînî (bi gelemperî wekî -1 tê destnîşan kirin) tê dabeş kirin.
3. Sifir: Di rewşa kêm de ku , xala daneyê
tam li ser hîperplane derewan dike. Ev senaryo ji hêla teorîkî ve gengaz e lê bi pratîkî kêm e ji ber xwezaya domdar a daneyên rastîn-nirxdar.
Şîrovekirina Geometrîk
Şirovekirina geometrîkî ya fonksiyona biryarê ji bo têgihiştina ka SVM çawa xalên daneyê dabeş dike pêdivî ye. Hîperplane ku ji hêla di navbera her du çînan de wek sînorê biryarê tevdigere. Oryantasyon û pozîsyona vê hîperplaneyê ji hêla vektora giraniyê ve tê destnîşankirin
û termê bias
.
1. margin: Dûr dûrahiya di navbera hîperplane û xalên daneyê yên herî nêz de ji her çînekê ye. SVM armanc dike ku vê marjînalê herî zêde bike da ku pê ewle bibe ku hîperplane ne tenê çînan ji hev vediqetîne lê wiya bi dûrahiya herî gengaz a ji nuqteyên daneyê yên herî nêzîk re dike. Van xalên daneya herî nêzîk wekî vektorên piştgirî têne zanîn.
2. Vektorên Piştgiriyê: Vektorên piştgirî ew xalên daneyê ne ku herî nêzî hîperplane ne. Ew di diyarkirina pozîsyon û arastekirina hîperplanê de krîtîk in. Her guhertinek di pozîsyona van vektorên piştgiriyê de dê hîperplanê biguhezîne.
Mînak
Nimûneyek hêsan bihesibînin ku cîhê me yê taybetmendiyek du-dimensî heye bi xalên daneyê ji du çînan. Ka em çîna erênî bi +1 û çîna neyînî bi -1 destnîşan bikin. Bifikirin ku vektora giraniyê û termê bias
.
Ji bo xala daneyê , em dikarin fonksiyona biryarê wekî jêrîn hesab bikin:
Ji ber ku , nîşana fonksiyona biryarê erênî ye, û bi vî rengî, xala daneyê
ji çîna erênî (+1) tê dabeş kirin.
Ji bo xala daneya din , em fonksiyona biryarê wekî hesab dikin:
Dîsa, , da ku nîşanek erênî ye, û
ji çîna erênî (+1) tê dabeş kirin.
Naha, xalek daneyê bifikirin :
Di vê rewşê de, , ji ber vê yekê nîşana neyînî ye, û
ji çîna neyînî (-1) tê dabeşkirin.
Formulasyona Mathematical
Formulasyona matematîkî ya SVM çareserkirina pirsgirêkek xweşbîniyê vedihewîne da ku çêtirîn bibîne û
ku dema ku daneyên perwerdehiyê rast dabeş dikin marjînalê herî zêde dikin. Pirsgirêka optimîzasyonê dikare wiha were diyar kirin:
ko etîketa çîna xala daneyê ye
, û asteng piştrast dike ku hemî nuqteyên daneyê bi rêkûpêk bi kêmanî 1 ve têne dabeş kirin.
Kernel Trick
Di gelek sepanên pratîkî de, dibe ku dane di cîhê taybetmendiya orîjînal de bi rengek rêzî venebe. Ji bo çareserkirina vê yekê, SVM dikarin bi karanîna xapandina kernelê berbi dabeşkirina ne-xêzik ve werin dirêj kirin. Fonksiyona kernelê bi awayekî nepenî daneyan di nav cîhek mezin-dimensî de ku veqetandinek xêzikî gengaz e, nexşe dike. Fonksiyonên kernelê yên ku bi gelemperî têne bikar anîn kernelê pirnomîal, kernelê fonksiyona bingeha radial (RBF) û kernelê sigmoîd hene.
Fonksiyona biryarê di SVM-ya kernelîzekirî de dibe:
ko pirjimarên Lagrange ne ku ji forma dualî ya pirsgirêka xweşbîniyê têne wergirtin.
Pêkanîna Python
Di Python de, pirtûkxaneya `scikit-learn` bi navgîniya çîna `SVC` pêkanîna rasterast a SVM peyda dike. Li jêr mînakek e ku meriv çawa "SVC" bikar tîne da ku danûstendinek dabeş bike:
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}%')
Di vê nimûneyê de, çîna `SVC` tê bikar anîn da ku dabeşkerek SVM bi kernelek xêzek çêbike. Dabeşker li ser koma perwerdehiyê tê perwerde kirin, û rastbûn li ser koma testê tê nirxandin. Tesnîfkirina komek taybetmendiyek di SVM de bi bingehîn bi nîşana fonksiyona biryarê ve girêdayî ye. . Nîşan destnîşan dike ku xalek daneyê li kîjan aliyê hîperplanê ye, bi vî rengî wê ji çîna têkildar re destnîşan dike. Fonksiyona biryarê, pêvajoya optimîzasyonê ji bo dîtina hîperplana çêtirîn, û karanîna potansiyel a fonksiyonên kernelê ji bo birêvebirina veqetandina ne-xêzik hemî pêkhateyên girîng ên SVM-ê ne. Fêmkirina van aliyan nêrînek berfireh peyda dike ka SVM çawa dixebitin û serîlêdana wan di karên cihêreng ên fêrbûna makîneyê de.
Pirs û bersivên din ên vê dawiyê di derbarê Eytc/AI/MLP Fêrbûna Makîneyê bi Python:
- Parametreya b di regresîyona xêzikî de (Y-navbera rêza herî baş) çawa tê hesibandin?
- Vektorên piştgirî di diyarkirina sînorê biryarê ya SVM de çi rola dilîze, û ew di pêvajoya perwerdehiyê de çawa têne nas kirin?
- Di çarçoveya xweşbîniya SVM de, girîngiya vektora giraniya `w` û bias `b` çi ye, û ew çawa têne destnîşankirin?
- Armanca rêbaza `visualize` di pêkanîna SVM de çi ye, û ew çawa di têgihîştina performansa modelê de dibe alîkar?
- Di pêkanîna SVM de rêbaza `pêşbînîkirin` çawa dabeşkirina xalek daneya nû diyar dike?
- Armanca bingehîn a Makîneyek Vektora Piştgiriyê (SVM) di çarçoveya fêrbûna makîneyê de çi ye?
- Çawa dikarin pirtûkxaneyên wekî scikit-learn bikar bînin da ku dabeşkirina SVM-ê li Python bicîh bikin, û fonksiyonên sereke yên têkildar çi ne?
- Girîngiya astengiyê (y_i (mathbf{x}_i cdot mathbf{w} + b) geq 1) di xweşbîniya SVM de rave bike.
- Armanca pirsgirêka xweşbîniya SVM çi ye û ew bi matematîkî çawa tête formule kirin?
- Rola hevkêşeya hîperplane (mathbf{x} cdot mathbf{w} + b = 0) di çarçoveya Makîneyên Vektora Piştgiriyê (SVM) de çi ye?
Pir pirs û bersivan di Fêrbûna Makîneya EITC/AI/MLP de bi Python re bibînin