Cuprins:
Video: Jumătatea mea Femeia (cu subtitrare) 2024
Uneori, datele brute pe care le obțineți din diferite surse nu vor avea caracteristicile necesare pentru a efectua sarcini de învățare a mașinilor. Când se întâmplă acest lucru, trebuie să creați propriile caracteristici pentru a obține rezultatul dorit. Crearea unei caracteristici nu înseamnă crearea de date din aer subțire. Creați noi caracteristici din datele existente.
Înțelegerea necesității de a crea funcții
O limitare importantă a algoritmilor de învățare a mașinilor este aceea că este imposibil să ghiciți o formulă care ar putea să vă conecteze răspunsul la caracteristicile pe care le utilizați. Uneori, această incapacitate de a ghici se întâmplă deoarece nu puteți mapa răspunsul utilizând informațiile pe care le aveți la dispoziție (ceea ce înseamnă că nu aveți informațiile corecte). În alte cazuri, informațiile pe care le-ați furnizat nu ajută algoritmul să învețe corect.
De exemplu, dacă modelați prețul proprietăților imobiliare, suprafața terenului este destul de predictivă, deoarece proprietățile mai mari au tendința de a costa mai mult. Dar dacă în locul suprafeței oferiți algoritmul dvs. de învățare a mașinii cu lungimea laturilor terenului (coordonatele latitudinii și longitudinii colțurilor sale), algoritmul dvs. poate să nu știe ce să facă cu informațiile pe care le-ați furnizat. Unii algoritmi vor reuși să găsească relația dintre caracteristici, dar majoritatea algoritmilor nu vor.
Răspunsul la această problemă este crearea de caracteristici. Crearea de elemente este acea parte a învățării mașinilor care este considerată mai mult o artă decât o știință, deoarece implică intervenția umană în amestecarea creativă a caracteristicilor existente. Realizați această sarcină prin adăugare, scădere, multiplicare și raport pentru a genera noi caracteristici derivate cu o putere predictivă mai mare decât originalele.
Cunoașterea bine a problemei și înțelegerea modului în care o ființă umană ar rezolva aceasta este o parte a creației caracteristicilor. Prin urmare, conectarea la exemplul anterior, faptul că suprafața terenului se conectează la prețul proprietății este o cunoaștere obișnuită. Dacă lipsește suprafața de la caracteristicile dvs. atunci când încercați să ghiciți valoarea unei proprietăți, puteți recupera aceste informații din datele existente - și astfel creșteți performanța predicțiilor.
Indiferent dacă vă bazați pe bunul simț, cunoștințele comune sau expertiza specializată, puteți face multe pentru algoritmul mașinii dvs. dacă vă dați seama mai întâi ce informații ar trebui să funcționeze cel mai bine pentru problemă și apoi încercați să îl aveți la dispoziție sau să-l descoperiți printre caracteristicile dvs.
Crearea automată a caracteristicilor
Puteți crea automat unele funcții noi.O modalitate de a realiza crearea automată a caracteristicilor este utilizarea expansiunii polinomiale. Sunt disponibile moduri specifice pentru a realiza extinderea polinomului, astfel încât să creați funcții în mod automat atât în R, cât și în Python. Pentru moment, trebuie să înțelegeți conceptele din spatele expansiunii polinomiale.
În expansiunea polinomială, creați automat interacțiuni între caracteristici și creați puteri (de exemplu, calculând pătratul unei caracteristici). Interacțiunile se bazează pe multiplicarea caracteristicilor. Crearea unei noi funcții prin înmulțire vă ajută să urmăriți modul în care caracteristicile tind să se comporte ca un întreg. Prin urmare, vă ajută să cartografiați relații complexe între caracteristicile dvs. care pot sugera situații speciale.
Un exemplu excelent de interacțiune este zgomotul emis de o mașină și prețul mașinii. Consumatorii nu apreciază mașinile zgomotoase dacă nu cumpără o mașină sport, caz în care zgomotul motorului este un plus care îi reamintește proprietarului puterea mașinii. Ea face, de asemenea, observatorii trecute cu vederea masina rece, astfel încât zgomotul joacă un rol important în manifestare, deoarece zgomotul va atrage cu siguranță atenția celorlalți. Pe de altă parte, zgomotul la conducerea unei mașini de familie nu este atât de răcoros.
Într-o aplicație de învățare automată, în încercarea de a anticipa rata de preferință pentru o anumită mașină, caracteristici cum ar fi zgomotul și prețul mașinii sunt predictive de la sine. Totuși, multiplicarea celor două valori și adăugarea lor la setul de caracteristici poate sugera fără echivoc unui algoritm de învățare că țintă este o mașină sport (atunci când multiplicați nivelurile ridicate de zgomot cu un preț ridicat).
Puterile ajută prin crearea de relații neliniare între răspuns și caracteristici, sugerând situații specifice.
Ca un alt exemplu, imaginați-vă că trebuie să anticipați cheltuielile anuale ale unei persoane. Vârsta este un predictor bun, deoarece, pe măsură ce oamenii devin bătrâni și maturi, viața și situația familială se schimbă. Elevii încep săracilor, dar apoi își găsesc locul de muncă și pot construi o familie. Din punct de vedere general, cheltuielile tind să crească la fel ca vârsta până la un anumit punct. De obicei, pensionarea marchează un punct la care cheltuielile tind să scadă. Vârsta conține astfel de informații, dar este o caracteristică care tinde să crească, iar cheltuielile aferente creșterii sale nu contribuie la descrierea inversiunii care are loc la o anumită vârstă.
Adăugarea caracteristicilor pătrată ajută la crearea unui efect contrar vârstei, care este mic la început, dar crește rapid odată cu vârsta. Efectul final este o parabolă, cu o creștere inițială caracterizată de un vârf al cheltuielilor la o anumită vârstă și apoi o scădere.
După cum sa menționat inițial, cunoașterea în avans a unor astfel de dinamici (zgomot și masina sport, consum și vârstă în vârstă) vă poate ajuta să creați caracteristicile corecte. Dar dacă nu cunoașteți dinamica în avans, expansiunea polinomială vă va crea automat pentru voi, deoarece, dat fiind o anumită ordine, va crea interacțiuni și puteri ale acelei ordini. Ordinea va indica numărul de multiplicări și puterea maximă care se aplică pentru caracteristicile existente.
Deci o expansiune polinomală a ordinii 2 ridică toate caracteristicile celei de a doua puteri și înmulțește fiecare caracteristică cu toate celelalte. (Înmulțiți toate combinațiile a două caracteristici.) În mod evident, cu cât este mai mare numărul, cu atât vor fi create mai multe funcții noi, dar multe dintre ele vor fi redundante și vor contribui doar la transformarea algoritmului dvs. de învățare în mașină.
Atunci când utilizați expansiunea polinomială, trebuie să fiți atenți la explozia caracteristicilor pe care le creați. Puterile cresc liniar, deci dacă aveți cinci caracteristici și aveți nevoie de o extindere a ordinii 2, fiecare caracteristică este ridicată până la a doua putere. Creșterea ordinii unui singur adaugă o nouă caracteristică de alimentare pentru fiecare caracteristică originală. În schimb, interacțiunile cresc pe baza combinațiilor dintre caracteristici până la acea comandă.
De fapt, cu cinci caracteristici și o expansiune polinomală a ordinii 2, toate cele zece combinații unice ale cuplării caracteristicilor sunt create. Creșterea ordinii la 3 va necesita crearea tuturor combinațiilor unice ale două variabile, plus combinațiile unice de trei variabile, adică 20 de caracteristici.