<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=Support_Vector_Machine_h%C3%A1zi_feladat</id>
	<title>Support Vector Machine házi feladat - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=Support_Vector_Machine_h%C3%A1zi_feladat"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Support_Vector_Machine_h%C3%A1zi_feladat&amp;action=history"/>
	<updated>2026-05-17T18:15:39Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=Support_Vector_Machine_h%C3%A1zi_feladat&amp;diff=137716&amp;oldid=prev</id>
		<title>Unknown user: Új oldal, tartalma: „{{GlobalTemplate|Infoalap|MiSupportVectorMachines}}   ==Forrás==  Én javarészt ebből dolgoztam: http://www.ecs.soton.ac.uk/~srg/publications/pdf/SVM.pdf  ==Classifi…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Support_Vector_Machine_h%C3%A1zi_feladat&amp;diff=137716&amp;oldid=prev"/>
		<updated>2012-10-21T20:05:57Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Infoalap|MiSupportVectorMachines}}   ==Forrás==  Én javarészt ebből dolgoztam: http://www.ecs.soton.ac.uk/~srg/publications/pdf/SVM.pdf  ==Classifi…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Infoalap|MiSupportVectorMachines}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Forrás==&lt;br /&gt;
&lt;br /&gt;
Én javarészt ebből dolgoztam: http://www.ecs.soton.ac.uk/~srg/publications/pdf/SVM.pdf&lt;br /&gt;
&lt;br /&gt;
==Classification (pontok csoportosítása)==&lt;br /&gt;
&lt;br /&gt;
Az alapprobléma, amivel bevezetik az egészet, az az, hogy van a síkon egy rakás pontunk, festve vannak pirosra és kékre, és keresünk egy olyan egyenest, amely úgy választja szét őket, hogy az egyik oldalon kék, a másik oldalon piros pontjaink legyenek, mindezt optimálisan úgy, hogy az egyeneshez legközelebb eső piros pont távolságának és a legközelebb eső kék pont távolságának összege maximális legyen. [http://hhc.intro.hu/svm/svc00.gif 00] Az ábra megjelöli a szeparáló egyenest ténylegesen meghatározó pontokat, a support-vektorkat, ebből jó, ha kevés van. A fenti leírásban a (2.1) képlet adja meg a bemeneti problémát, az eredmény alakja (2.2), a jól-szeparálási feltétel a (2.4) , az optimalitási feltétel végül pedig a (2.6)-(2.7). Általánosabban viszont természetesen nem síkról és szeparáló egyenesről van szó, hanem bemeneti vektorokról és ezek terében vett szeparáló hipersíkról, ez viszont a képleteket már nem zavarja.&lt;br /&gt;
&lt;br /&gt;
Egy egyszerű classification kód:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
X = [[0 1];[1 -1];[2 1]];&lt;br /&gt;
Y = [1; -1; 1];&lt;br /&gt;
[nsv alpha bias] = svc(X,Y,&amp;#039;linear&amp;#039;,10);&lt;br /&gt;
svcplot(X,Y,&amp;#039;linear&amp;#039;,alpha,bias,0,1);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Játszani egyébként sokat lehet az =uiclass= formon, pl: [http://hhc.intro.hu/svm/svc1.gif svc1.gif]&lt;br /&gt;
&lt;br /&gt;
Generalised problémán a fenti doksi azt érti, hogy nem ijedünk meg, ha nem sikerül szeparálnunk az osztályokat, akkor is megadunk egy elválasztóegyenest, de úgy számolunk, hogy a rossz oldalra eső tanítópontoknál egy &amp;quot;büntetőfüggvényt&amp;quot; ( &amp;#039;&amp;#039;&amp;#039;loss function&amp;#039;&amp;#039;&amp;#039; ) használunk. Ezt a (2.5) ábra és az alatta levő képletek mutatják, én jelenleg ezen a ponton vesztem el a képletek fonalát :) [http://hhc.intro.hu/svm/svc01.gif 01]&lt;br /&gt;
&lt;br /&gt;
Ezután (2.3 fejezet) arról van szó, hogy az egyenessel nem szeparálható ponthalmazt hogyan is kezeljük. [http://hhc.intro.hu/svm/svc02.gif 02] Ekkor egy transzformációval (ez lesz a &amp;#039;&amp;#039;&amp;#039;kernelfüggvény&amp;#039;&amp;#039;&amp;#039; ) magasabb dimenzióba transzformáljuk az egész problémát, utána ott keresünk elválasztó (hiper)síkot. A hipersík ezután az eredeti problémán (pl síkban) ábrázolva úgy néz ki, mint egy magasabbrendű polinom. [http://hhc.intro.hu/svm/svc03.gif 03]&lt;br /&gt;
&lt;br /&gt;
A 3-mas fejezet ezekután különféle kernelfüggvényeket mutat be, mindezek matematikája szerintem már nem érdekel minket, annyit kell majd tudni, hogy milyen jellegű ponthalmazok osztályozására mely függvények lesznek hatékonyabbak (adnak optimálisabb szeparálást).&lt;br /&gt;
&lt;br /&gt;
==Regression (függvény approximációja)==&lt;br /&gt;
&lt;br /&gt;
Célszerű hozzá minimum átfutni az osztályozással foglalkozó részt. &lt;br /&gt;
&lt;br /&gt;
Az 5-ös fejezet adja az osztályozási probléma átfogalmazását regressziós problémára. Regresszió esetén olyan egyenest keresünk, amelyhez a legközelebb esnek a tanítópontok (fent X). A közelség mértéke a doksiban négyféle lehet, mi majd az epszilon-intensive-el fogunk dolgozni, úgy néztem, amely epszilon-nál kisebb hibát tökéletességnek vesz. &lt;br /&gt;
&lt;br /&gt;
Ha elég jól rásimul a tanítópontokra az approximációs görbe, akkor jó néhány pont az epszilon sávon belül lesz, ilyenkor ezeknél már 0 a loss function, így nem befolyásolják az approximációt, vagyis nem számítanak support vectornak. Ha a tanító pontoknak csak mondjuk 70%-a vagy akár csak 20%-a lett SV, akkor jól illik a függvény (vagy túl nagy lett az epszilon).&lt;br /&gt;
&lt;br /&gt;
A nemlineáris probléma itt is ugyanúgy műküdik mind az osztályozásnál, tehát magasabb dimenzióban nézi az svm a problémát. Számunkra ez szemléletesen annyit jelent, hogy magasabbrendű függvényt adhatunk a pontok &amp;quot;fedésére&amp;quot;. Az =uiregress= -el sokat lehet játszani [http://hhc.intro.hu/svm/svr1.gif svr1.gif], és a fenti doksiban és sok screenshot van példaként felhozva. &lt;br /&gt;
* Valaki majd mondja el, mit kell csinálni, hogy az =uiregress= el is induljon! Nekem ([[BergmannGabor|Baba]]) nem fut.&lt;br /&gt;
&lt;br /&gt;
Mindkét problémához jól használható a konzulensüktől kapott =start.m=.&lt;br /&gt;
&lt;br /&gt;
Az =&amp;#039;rbf&amp;#039;= kernelfüggvény ajánlott, a globális =p1= (pé egy) változóba kell a szigma paramétert tenni, szigma = pi-nél kb. jó, ezt érdemes variálni, és az eredményeket nézegetni (buta vs. overfitting). Amit még variálni lehet, az a C (kb. mozgásszabadság a kernel megválasztásakor), epszilon (az epszilon-érzéketlenséghez) és a tanítópontok száma. &lt;br /&gt;
&lt;br /&gt;
A függvényekről röviden: &lt;br /&gt;
* Ha már kiválasztottuk kedvenc kernelünket, loss functionünket és paramétereinket, akkor az =svr= függvény tanítópontok X listájából és az ezen helyeken felvett Y függvényértékek listájából megépíti a support vector machinet.&lt;br /&gt;
* Az eredményt egész jól megjeleníti az =svrplot= . &lt;br /&gt;
* Az =svroutput= a már megépített svm-hez a tanítópontokon kívüli inputokra adott választ mondja meg.	&lt;br /&gt;
* Az =svrerror= pedig, ha a teljes inputlistára a valódi függvényértékeket is megmondjuk, kiszámolja, hogy mekkora egy adott loss function-nel az svm hibája.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- [[FarkasGabor]] - 2005.11.20.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>