Një qasje e formës së mbyllur në Numpy

Javën e kaluar ne hodhëm një vështrim se si të zgjidhim regresionin linear nga e para, duke përdorur ekuacionin normal. Nëse keni nevojë për një rifreskim të shpejtë, ju rekomandoj të filloni atje përpara se të ecni përpara. Nëse jo, le të zhytemi në regresionin e kreshtës!



Ridge Regression, si vëllai i tij, Lasso Regression, është një mënyrë për të "rregulluar" një model linear. Në këtë kontekst, rregullimi mund të merret si sinonim i preferimit të një modeli më të thjeshtë duke penalizuar koeficientët më të mëdhenj. Këtë mund ta arrijmë konkretisht duke shtuar një masë të madhësisë së koeficientëve tanë në funksionin tonë të kostos, në mënyrë që kur të minimizojmë funksionin e kostos gjatë trajnimit të modelit, të preferojmë koeficientët më të vegjël ndaj atyre më të mëdhenj.

Në rastin e Regresionit Ridge, kjo masë është ℓ₂-norma e koeficientëve tanë (peshave të veçorive). Ne kontrollojmë shkallën e rregullimit duke e shumëzuar këtë term me alfa skalar (e shkruar zakonisht si lambda, ne përdorim alfa për të ruajtur konsistencën me vlerësuesit e stilit të të mësuarit scikit). Funksioni i kostos që rezulton që do të dëshironim të optimizonim duket si ky:

Vini re, se në zgjidhjen tonë, termi ynë i normuar theta është modifikuar pak në atë që përjashton termin e parë të theta: koeficientin e termit tonë të ndërprerjes ose "paragjykimit". Ju mund të kujtoni nga postimi i mëparshëm mbi Regresionin e thjeshtë Linear se kjo formë i përshtatet mjeshtërisht paraqitjes në formën e matricës, të cilën ne do ta përdorim përsëri këtu me një modifikim të vogël:

Ku A është një matricë e modifikuar e identitetit për të mbajtur parametrat tanë të rregullimit. Meqenëse ka pak kuptim praktik për të rregulluar termin tonë të ndërprerjes, ne do të zëvendësojmë elementin e parë në matricën e identitetit me zero, dhe përndryshe do t'i lëmë ato përgjatë diagonales të paprekur. Një shembull duket diçka si ky, për një problem ku X përmban tre veçori dhe një kolonë kryesore të ndërprerjes:

Vini re se ne përfshijmë vetëm termin e rregullimit kur përshtatim modelin tonë. Pasi të kemi vektorin tonë të koeficientëve më të mirë për një alfa të caktuar, metoda e parashikimit është e njëjtë si në Regresionin Linear.

Këtu është kodi që zbaton qasjen e mësipërme të formës së mbyllur:

Ridge Regression është një temë mjaft e pasur për të garantuar artikullin e vet, dhe megjithëse qëllimi i këtij postimi është i kufizuar në një pjesë të vogël të një zbatimi të mundshëm, ia vlen të prekim shkurtimisht disa shënime praktike për përdorimin e suksesshëm të Ridge Regression.

Kompensimi paragjykim/variancë

Vlera e alfa që zgjidhet në akordimin e modelit ka një ndikim të madh në rezultatet. Vendosja e alfa në zero e bën Regresionin Ridge identik me Regresionin Linear. Vlerat e ulëta të alfa çojnë në paragjykim më të ulët dhe variancë më të lartë (të prirur për të mbivendosur të dhënat e trajnimit). Ndërsa alfa rritet më shumë, rezultatet do të duken gjithnjë e më shumë si një vijë e sheshtë përmes mesatares së të dhënave. Modelet më të larta alfa kanë paragjykim më të lartë dhe variancë më të ulët (nëse alfa është shumë e lartë, modeli do të nën-përshtatet me të dhënat e trajnimit). Një diskutim i plotë i këtij shkëmbimi është përtej qëllimit të kësaj pjese, por ne ofrojmë një pamje vizuale më poshtë, si dhe disa kode për të eksploruar këtë efekt.

Kodi për grafikun e mësipërm:

Ne ju lëmë me disa shënime përfundimtare për përdorimin praktik.

  1. Ridge Regression, dhe rregullimi në përgjithësi, është i ndjeshëm ndaj shkallës së veçorive të hyrjes, është praktikë e mirë të shkallëzoni të dhënat tuaja përpara se të vendosni një model Ridge.
  2. Alfa është ajo që njihet si "hiper-parametër". Për të rregulluar siç duhet këtë vlerë, është e rëndësishme të zbatohet jo vetëm një ndarje treni/testi, por edhe një strategji e shëndoshë e verifikimit të kryqëzuar. Scikit-learn ofron disa metoda për zbatimin e një qasjeje të tillë, si dhe shembuj të shumtë praktikë.
  3. Një rast i mirë përdorimi për Ridge Regression është kur ka një numër të madh karakteristikash dhe është e dobishme të sigurohet që modeli të mos bëhet tepër i ndjeshëm ndaj veçorive në të dhënat e trajnimit.