Regresszióveszteség a Gauss-rendszermag regressziós modelljéhez - MATLAB veszteség

Regresszióvesztés a Gauss-kern regressziós modelljéhez

matlab

Szintaxis

Leírás

L = veszteség (Mdl, X, Y) az Mdl Gauss-féle kernel regressziós modell átlagos négyzethibáját (MSE) adja eredményül, az X előrejelző adatait és az Y megfelelő válaszait felhasználva. .

L = veszteség (Mdl, Tbl, ResponseVarName) az Mdl modell MSE-jét adja vissza, a Tbl előrejelző adatait és a Tbl valós válaszait felhasználva. .

L = veszteség (Mdl, Tbl, Y) az Mdl modell MSE-jét adja vissza, a Tbl táblázat prediktor adatait és az Y Y valós válaszait felhasználva. .

L = veszteség (___, Név, Érték) olyan opciókat határoz meg, amelyek egy vagy több név-érték pár argumentumot használnak a korábbi szintaxisok bármelyik bemeneti argumentum kombinációján kívül. Megadhatja például a regresszióveszteség függvényét és a megfigyelési súlyokat. Ezután a veszteség a súlyozott regressziós veszteséget adja vissza a megadott veszteségfüggvény segítségével.

Példák

Számítsa ki a minta veszteségét a Gauss-kernel regressziós modelljéhez

Gauss-rendszermag regressziós modell képzése egy magas tömbre, majd számítsa ki a szubsztitúció átlagos négyzet hibáját és az epsilon-érzéketlen hibát.

Ha magas tömbökön végez számításokat, a MATLAB® vagy párhuzamos készletet használ (alapértelmezett, ha Párhuzamos számítástechnikai eszközkészlet van), vagy a helyi MATLAB munkamenetet használja. A példa futtatásához a helyi MATLAB munkamenet használatával, ha rendelkezik Párhuzamos számítástechnikai eszközkészlettel, módosítsa a globális végrehajtási környezetet a mapreducer függvény használatával.

Hozzon létre egy olyan adattárolót, amely hivatkozik a mappa helyére az adatokkal. Az adatok egyetlen fájlban, fájlgyűjteményben vagy egy teljes mappában lehetnek. Az „NA” értékeket hiányzó adatokként kezelje, hogy az adattár helyettesítse azokat NaN értékekkel. Válassza ki a használni kívánt változók egy részhalmazát. Hozzon létre egy magas táblázatot az adattár tetején.

Adja meg a DepTime és az ArrTime értékeket előrejelző változóként (X) és az ActualElapsedTime értéket válaszváltozóként (Y). Válassza ki azokat a megfigyeléseket, amelyeknél az ArrTime későbbi, mint a DepTime .

A prediktor változók szabványosítása.

Képezzen egy alapértelmezett Gauss-kernel regressziós modellt a szabványosított prediktorokkal. Állítsa a 'Verbose', 0 értéket a diagnosztikai üzenetek elnyomásához.

Az Mdl egy képzett RegressionKernel modell, és a FitInfo szerkezeti tömb optimalizálási részleteket tartalmaz.

Határozza meg, hogy a képzett modell mennyire általánosít új prediktor értékekre azáltal, hogy megbecsüli a szubsztitúciós átlagos négyzet hibát és az epsilon-érzéketlen hibát.

Értékelje a magas tömböket, és vegye az eredményeket a memóriába a gyűjtés használatával .

Adja meg az egyéni regresszióveszteséget

Adjon meg egy egyedi regresszióvesztést (Huber veszteség) egy Gauss-rendszermag regressziós modellhez.

Töltse be a carbig adatsort.

Adja meg a prediktor (X) és a válaszváltozót (Y).

Törölje az X és Y sorokat, ahol bármelyik tömbnek van NaN értéke. NaN értékű sorok eltávolítása, mielőtt az adatokat továbbítaná a fitrkernelnek, felgyorsíthatja az edzést és csökkentheti a memóriahasználatot.

Tartsa fenn a megfigyelések 10% -át visszatartó mintaként. Vegye ki a képzési és tesztindexeket a partíció meghatározásából.

Szabványosítsa az edzésadatokat és képezze a regressziós kernelmodellt.

Az Mdl egy RegressionKernel modell.

Hozzon létre egy névtelen függvényt, amely méri a Huber veszteséget (δ = 1), vagyis,

L = 1 ∑ w j ∑ j = 1 n w j ℓ j,

e j ˆ a j megfigyelés maradványa. Az egyedi veszteségfüggvényeket meghatározott formában kell megírni. Az egyéni veszteségfüggvény írásának szabályait lásd a 'LossFun' név-érték pár argumentumban.

Becsülje meg az edzéskészlet regresszióvesztését a Huber veszteségfüggvény használatával.

Szabványosítsa a tesztadatokat az edzésadatok oszlopainak azonos átlagának és szórásának felhasználásával. Becsülje meg a tesztkészlet regresszióvesztését a Huber veszteségfüggvény segítségével.

Beviteli érvek

Mdl - Kernel regressziós modell
RegressionKernel modell objektum

Kernel regressziós modell, RegressionKernel modell objektumként megadva. A fitrkernel segítségével létrehozhat egy RegressionKernel modellobjektumot .

X - Jósló adatok
n-pp numerikus mátrix

Prediktor adatok, n-pp numerikus mátrixként megadva, ahol n a megfigyelések száma és p a prediktorok száma. p-nek meg kell egyeznie az Mdl edzéséhez használt prediktorok számával .

Adattípusok: egyetlen | kettős

Y - Válaszadatok
numerikus vektor

Válaszadatok, n-dimenziós numerikus vektorként megadva. Az Y hosszának meg kell egyeznie az X-ben vagy a Tbl-ben észlelt megfigyelések számával .

Adattípusok: egyetlen | kettős

Tbl - Mintaadatok
asztal

A modell kiképzéséhez használt mintadatok, táblázatként megadva. A Tbl minden sora egy megfigyelésnek felel meg, és minden oszlop egy prediktor változónak felel meg. Opcionálisan a Tbl tartalmazhat további oszlopokat a válaszváltozóhoz és a megfigyelési súlyokhoz. A Tbl-nek tartalmaznia kell az Mdl képzéséhez használt összes prediktort. A többoszlopos változók és a karaktervektorok sejttömbjeitől eltérő sejttömbök nem megengedettek.

Ha a Tbl tartalmazza az Mdl képzéséhez használt válaszváltozót, akkor nem kell megadnia a ResponseVarName vagy Y .

Ha az Mdl-t egy táblázatban található mintaadatok felhasználásával edzi, akkor a veszteségre vonatkozó bemeneti adatoknak is táblázatban kell lenniük.

ResponseVarName - Válaszváltozó neve
változó neve a Tbl-ben

Válaszváltozó neve, a Tbl változó neveként megadva. A válaszváltozónak numerikus vektornak kell lennie. Ha a Tbl tartalmazza az Mdl képzéséhez használt válaszváltozót, akkor nem kell megadnia a ResponseVarName nevet .

Ha megadja a ResponseVarName nevet, akkor karaktervektorként vagy karakterlánc skalárként kell megadnia. Például, ha a válaszváltozó Tbl.Y néven van tárolva, akkor adja meg a ResponseVarName nevet „Y” -ként. Egyébként a szoftver a Tbl összes oszlopát, beleértve a Tbl.Y-t is, prediktorként kezeli.

Adattípusok: char | húr

Név-érték pár érvek

Adjon meg opcionálisan vesszővel elválasztott Név, Érték argumentumokat. A név az argumentum neve, az Érték pedig a megfelelő érték. A névnek idézőjelek között kell szerepelnie. Több név- és értékpár argumentumot megadhat bármilyen sorrendben: Név1, Érték1. Név, ÉrtékN .

Példa: L = veszteség (Mdl, X, Y, "LossFun", "epsiloninsensitive", "Súlyok", súlyok) a súlyozott regressziós veszteséget adja vissza az epsilon-érzéketlen veszteségfüggvény segítségével.

'LossFun' - Veszteség funkció
'mse' (alapértelmezett) | „epszilon-érzéketlen” funkció fogantyú

Veszteségfüggvény, vesszővel elválasztott párként megadva, amely a „LossFun” és a beépített veszteségfüggvény nevéből vagy függvényfogantyúból áll.

Az alábbi táblázat az elérhető veszteségfüggvényeket sorolja fel. Adjon meg egyet a megfelelő karaktervektorral vagy karakterlánc skalárral. Ezenkívül a táblázatban f (x) = T (x) β + b .

x megfigyelés (sorvektor) p prediktív változókból.

T (·) egy megfigyelés (sorvektor) transzformációja a jellemzők bővítéséhez. T (x) x-et ℝ p-ben leképezi egy nagy dimenziós térre (maps m).

β az m együtthatók vektora.

b a skaláris torzítás.

ValueDescription
„epsiloninsensitive” Epsilon-érzéketlen veszteség: ℓ [y, f (x)] = max [0, | y - f (x) | - ε]
„mse” MSE: ℓ [y, f (x)] = [y - f (x)] 2

Az „epsiloninsensitive” csak az SVM tanulóinak megfelelő.

Adja meg saját függvényét a függvény fogantyújának jelölésével.

Legyen n a megfigyelések száma X-ben. A funkciójának a következő aláírással kell rendelkeznie:

A kimeneti argumentum veszteségértéke skalár.

Kiválasztja a függvény nevét (lossfun).

Y a megfigyelt válaszok n-dimenziós vektora. veszteség átadja az Y bemeneti argumentumot Y-nek .

A Yhat a megjósolt válaszok n-dimenziós vektora, amely hasonló a megjóslás kimenetéhez .

W a megfigyelési súlyok n-by-1 numerikus vektora.

Adja meg a funkcióját a 'LossFun', @ lossfun gombbal .

Adattípusok: char | húr | function_handle

„Súlyok” - Megfigyelési súlyok
egyesek (méret (X, 1), 1) (alapértelmezett) | numerikus vektor | változó neve a Tbl-ben

Megfigyelési súlyok, vesszővel elválasztott párként megadva, amely „Súlyok” -ból és egy numerikus vektorból vagy egy változó nevéből áll a Tbl-ben .

Ha a Súlyok numerikus vektor, akkor a Súlyok méretének meg kell egyeznie az X vagy Tbl sorok számával .

Ha a Súly a változó neve a Tbl-ben, meg kell adnia a súlyokat karaktervektorként vagy karakterlánc skalárként. Például, ha a súlyokat Tbl.W néven tároljuk, akkor a Súlyokat adja meg „W” néven. Egyébként a szoftver a Tbl összes oszlopát, beleértve a Tbl.W-t is, prediktorként kezeli.

Ha megadja a megfigyelési súlyokat, akkor a veszteség kiszámítja a súlyozott regressziós veszteséget, vagyis a súlyozott átlag négyzet hibát vagy az epsilon-érzéketlen veszteség funkciót.

a veszteség normalizálja a súlyokat, hogy összeadódjanak 1-re.

Adattípusok: kettős | egyetlen | char | húr