2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Tukivektorikone (SVM) on tehokas valvottu oppimisalgoritmi, jota käytetään laajalti luokittelu- ja regressioongelmissa. Se erottaa eri tietopisteluokat etsimällä piirreavaruudesta optimaalisen hypertason. Tavoitteena on maksimoida kahden tyyppisten datapisteiden välinen aika, mikä parantaa mallin yleistyskykyä. SVM:n avainkäsitteitä ovat hypertasot, intervallit, tukivektorit ja ydinfunktiot. Ydinfunktio mahdollistaa SVM:n käsittelevän epälineaarisia ongelmia ja löytää lineaarisesti erotettavia hypertasoja yhdistämällä tiedot korkeamman ulottuvuuden tilaan. Lisäksi pehmeitä marginaali- ja regularisointitekniikoita käytetään käsittelemään datan epätäydellistä lineaarista erotettavuutta samalla kun ohjataan mallin monimutkaisuutta ja estetään ylisovitus. SVM:n toteutus sisältää sopivan ydinfunktion valinnan, konveksin kvadraattisen ohjelmointiongelman rakentamisen ja ratkaisemisen sekä opetetun mallin arvioinnin ja soveltamisen. Sen etuja ovat, että malli on yksinkertainen, helppo toteuttaa ja sillä on hyvä yleistyskyky, mutta siinä on korkea laskennallinen monimutkaisuus, se on herkkä ytimen toiminnoille ja parametrien valinnalle ja voi kohdata suorituskyvyn pullonkauloja suuria tietojoukkoja käsiteltäessä.
🏘️🏘️个人主页:Vuorten ja jokien käyttö lahjana。
🎖️🎖️:Rising Star Creator Python-kentällä, CSDN Rising Star -sertifiointi, CSDN-sisältökumppani, Alibaba Cloud Community Expert Blogger, Rising Star -ohjelman mentori ja on-the-job Data Analyst.
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。
tyyppi | Sarake |
---|---|
Pythonin perusteet | Johdatus Pythonin perusteisiin – yksityiskohtainen versio |
Python edistynyt | Johdatus Pythonin perusteisiin – Module Edition |
Python Advanced | Python网络爬虫从入门到精通🔥🔥🔥 |
Web-täyden pinon kehitys | Django Basicsin käytön aloittaminen |
Web-täyden pinon kehitys | Johdatus HTML:n ja CSS:n perusteisiin |
Web-täyden pinon kehitys | JavaScriptin perusteiden käytön aloittaminen |
Pythondata-analyysi | Python数据分析项目🔥🔥 |
koneoppimista | 机器学习算法🔥🔥 |
AI | AI |
Support Vector Machine (SVM) on tehokas koneoppimisalgoritmi, jota käytetään pääasiassa luokittelu- ja regressioongelmien ratkaisemiseen. Se perustuu tilastollisen oppimisteorian rakenteelliseen riskien minimoimisen periaatteeseen ja erottaa eri tietokategoriat etsimällä piirreavaruudesta optimaalisen päätösrajan eli hypertason. Tämän hypertason valinnalla pyritään maksimoimaan lyhin etäisyys datapisteistä hypertasoon, jota kutsutaan marginaaliksi. Mitä suurempi väli, sitä parempi mallin yleistyskyky yleensä on.
SVM:n ydin on tukivektori, joka on joukko datapisteitä, jotka ovat kriittisiä hypertason sijainnin ja suunnan määrittämisessä. Ne ovat hypertason lähimpiä pisteitä. Jos tiedot eivät ole lineaarisesti erotettavissa, SVM kartoittaa alkuperäisen datan korkeamman ulottuvuuden avaruuteen ottamalla käyttöön ydinfunktion ja löytää tästä uudesta avaruudesta lineaarisesti erotettavan hypertason. Yleisesti käytettyjä ydinfunktioita ovat lineaariset ytimet, polynomiytimet, radial Base Function (RBF) -ytimet jne.
Käsitelläkseen kohinaa ja poikkeavuuksia tiedoissa SVM ottaa käyttöön pehmeän marginaalin käsitteen, joka mahdollistaa joidenkin datapisteiden virheellisen luokittelun vastineeksi paremmasta yleistyssuorituskyvystä. Samalla mallin monimutkaisuutta hallitaan regularisointiehdoilla ylisovituksen välttämiseksi. SVM:n opetusprosessi sisältää yleensä kuperan neliöllisen ohjelmointiongelman ratkaisemisen optimaalisten hypertasoparametrien löytämiseksi.
Katso alla olevaa kuvaa Kaksiulotteisessa ympäristössä pisteet R, S, G ja muut pisteet, jotka ovat lähellä keskimusta viivaa, voivat olla tukivektoreita linja.
Tukivektorit ja hypertasot ovat tukivektorikoneen (SVM) -algoritmin ydinkäsitteitä. Seuraavassa selitän nämä kaksi käsitettä yksityiskohtaisesti:
Matematiikassa hypertaso on lineaarinen aliavaruus, jonka ulottuvuus on pienempi kuin avaruus, jossa se sijaitsee. Esimerkiksi kaksiulotteisessa avaruudessa hypertaso on suora viiva kolmiulotteisessa avaruudessa, se on taso korkeamman ulottuvuuden avaruudessa, se on silti lineaarinen raja, mutta sitä voi olla vaikea ymmärtää intuitiivisesti.
SVM:ssä hypertasoa käytetään tietojen luokittelemiseen eri luokkiin. Kaksiulotteisessa avaruudessa voit kuvitella hypertason suorana viivana, joka jakaa tilan kahteen osaan, joista jokainen sisältää yhden tietopisteluokan. Korkeamman ulottuvuuden avaruudessa hypertaso on korkeamman ulottuvuuden lineaarinen raja, joka myös erottaa datapisteet.
Tukivektorit ovat niitä datapisteitä, jotka sijaitsevat lähimpänä hypertasoa. Ne ovat tärkeimpiä tietopisteitä, joita SVM käyttää koulutuksen aikana hypertason sijainnin määrittämiseen. Jos poistat jonkin näistä pisteistä, se muuttaa hypertason sijaintia ja suuntaa.
Tukivektorit ovat tärkeitä, koska ne määrittelevät rajat (eli välit) datapisteiden välillä. SVM:n tavoitteena on löytää hypertaso, joka maksimoi etäisyyden (välin) lähimpien tukivektorien (eli hypertasoa lähimpänä olevien datapisteiden) ja hypertason välillä. Tämän intervallin koko on tärkeä indikaattori mallin yleistyskyvystä.
Todellisissa sovelluksissa tiedot eivät välttämättä ole lineaarisesti erotettavissa. Tällä hetkellä SVM voi käyttää ydintekniikoita epälineaaristen ongelmien ratkaisemiseen. Ydinfunktio voi kartoittaa alkuperäisen datan korkeamman ulottuvuuden avaruuteen ja löytää lineaarisesti erotettavan hypertason uudesta avaruudesta. Yleisesti käytettyjä ydinfunktioita ovat lineaariset ytimet, polynomiytimet, radial Base Function (RBF) -ytimet jne.
Kun käsitellään todellista dataa, ei ehkä ole mahdollista löytää täydellistä hypertasoa, joka erottaa täysin kaikki datapisteet. Tällä hetkellä SVM esitteli pehmeän marginaalin käsitteen, mikä mahdollisti joidenkin datapisteiden luokittelun väärin vastineeksi paremmista yleistysominaisuuksista. Samalla mallin monimutkaisuutta ohjataan regularisointitermillä (yleensä normaalivektorin normilla) ylisovituksen välttämiseksi.
Piste-hypertaso-etäisyyskaavaa käytetään laskemaan lyhin etäisyys pisteestä tiettyyn hypertasoon. Hypertaso voidaan ilmaista seuraavalla yhtälöllä n-ulotteisessa avaruudessa:
sisään:
w on n-ulotteinen normaalivektori, joka on kohtisuorassa hypertasoon nähden.
x on n-ulotteinen piste, joka sijaitsee avaruudessa.
b on hypertason bias-termi.
Pystyetäisyys d pisteestä x tähän hypertasoon voidaan laskea seuraavalla kaavalla:
这个公式的几何意义是:从点 𝑥 向超平面作垂线,垂足到点 𝑥的距离就是𝑑这个距离也代表了点 𝑥到超平面的“间隔”。在支持向量机中,间隔的大小是非常重要的,因为它与模型的泛化能力有关。SVM的目标是找到这样一个超平面,使得间隔最大化,即所有数据点到这个超平面的距离之和最大。
Optimointimalli lineaarisesti erotettavassa tapauksessa
Kun data on lineaarisesti erotettavissa, eli on olemassa hypertaso, joka pystyy täydellisesti erottamaan eri datapisteluokat, SVM:n tavoitteena on löytää hypertaso, jossa kaksi lähintä datapistettä (eli tukivektorit) ovat hypertasoa. Maksimoi etäisyys. Tätä etäisyyttä kutsutaan marginaaliksi.
Hypertaso voidaan ilmaista seuraavasti:
Maksimimarginaalin optimointiongelma
SVM:n tavoitefunktio on maksimoida intervalli, joka voidaan ilmaista seuraavasti:
Esittelyssä Lagrange-kertoimet
kaksoisongelma
Tukivektorikoneissa (SVM) slack-muuttujat (Slack Variables) ovat mekanismi, joka otetaan käyttöön käsittelemään epälineaarisia erotettavissa olevia tilanteita tietojoukoissa. Ihanteellisessa tilanteessa, jos data on lineaarisesti erotettavissa, SVM voi löytää hypertason, joka erottaa täysin eri tietopisteluokat ja maksimoi marginaalin. Todellisessa maailmassa monet tietojoukot eivät kuitenkaan ole täysin lineaarisesti erotettavissa, mikä edellyttää löysämuuttujien käyttöä, jotta jotkut datapisteet voidaan luokitella väärin, mikä parantaa mallin yleistyskykyä.
这里的 𝐶是一个正的调节参数,用于控制模型对误分类的惩罚程度。𝐶的值越大,模型对误分类的惩罚越重,越倾向于找到没有误分类的解;𝐶的值越小,模型对误分类的容忍度越高,越容易找到间隔更大的解,即使这意味着更多的误分类。
Jopa epälineaarisen erotettavuuden tapauksessa SVM voi silti löytää hypertason maksimimarginaalilla käyttämällä ytimen temppua datan kartoittamiseen korkeadimensionaaliseen tilaan yhdistettynä löysään muuttujiin.
Ydintoiminto on tärkeä työkalu tukivektorikoneessa (SVM), jonka avulla SVM voi käsitellä tehokkaasti epälineaarisia ongelmia korkean ulottuvuuden avaruudessa. Ydinfunktion perusideana on kartoittaa alkuperäinen data matalaulotteisesta avaruudesta korkeadimensionaaliseen avaruuteen kartoituksen avulla ja löytää datan lineaarinen erotettavuus tässä korkeadimensionaalisessa avaruudessa.