Inteligență artificială Laboratorul 5 Normalizarea datelor. Mașini cu vectori suport (SVM) 1. Normalizarea datelor Metode obișnuite de preprocesare a

Documente similare
Microsoft Word - F.Paladi_TD_manual.doc

ALGORITHMICS

Microsoft PowerPoint - 3.ppt [Compatibility Mode]

Microsoft Word - N_ND.02_Capitol.doc

Microsoft Word _ISABEL_GA

METODE NUMERICE PENTRU ECUAŢII DIFERENŢIALE

Inteligență artificială Laboratorul 8 Perceptronul și rețele de perceptroni în Scikit-learn Stanga :multimea de antrenare a punctelor 3d; Dreapta : mu

NU ESTE TERMINATĂ

Microsoft Word - acasa_Reteua de difractie.doc

Microsoft Word - L07_TEFO_FILTRUL_KALMAN.doc

Microsoft Word - F.Paladi_TD_manual.doc

Microsoft PowerPoint - p1_PowerVLSI.ppt

Microsoft Word CursAppAnNum08

CELULA DE ELECTROLIZĂ: este formată prin asocierea a doi electrozi, iar trecerea curentului electric se datorează aplicării unei tensiuni electrice ex

PowerPoint-Präsentation

Microsoft PowerPoint - 5_.ppt

Evaluarea şi sumarizarea automată a conversaţiilor chat

Prelucrarea Datelor cu Caracter Personal de către OSIM Toate datele cu caracter personal colectate de Oficiul de Stat pentru Invenții și Mărci (OSIM)

Transformata Laplace

Microsoft Word - Laboratorul 2.docx

INFLPR

Microsoft Word - L8

I. Proiectii financiare si indicatori financiari (Anexele B pentru persoanele juridice si Anexele C pentrupersoanele fizice autorizate, intreprinderi

Învățare automată Laborator 9 Rețele neuronale în TensorFlow TensorFlow (abreviat TF) este o bibliotecă open source ce permite efectuarea de calcule ș

MINISTERUL NVźÅMÂNTULUI Program TEMPUS JEP 3801 SCIENCES DE L'EAU ET ENVIRONNEMENT METODE NUMERICE N HIDROGEOLOGIE Serie coordonatå de: Jean Pierre C

Microsoft Word - Anexa 5A Precizarea ipotezelor care au stat la baza proiectiilor finaciare

Microsoft Word - declatie avere 2013.doc

Microsoft Word - declaraţii de avere 2015.doc

UNIVERSITATEA "POLITEHNICA" DIN BUCUREŞTI

I

Limbaje de Programare Curs 6 – Functii de intrare-iesire

MATEMATICĂ... 2 FIZICĂ ŞI FUNDAMENTE DE INGINERIE ELECTRICĂ... 6 UNITĂŢI DE MĂSURĂ ÎN S.I CHIMIE ANORGANICĂ CHIMIE FIZICA CHIMIE OR

Un model dinamic de dezvoltare a firmei

Laborator 3 - Simulare. Metode de tip Monte Carlo. I. Estimarea ariilor şi a volumelor RStudio. Nu uitaţi să va setaţi directorul de lucru: Session Se

fu vu ^ p DECLARAŢIE DE AVERE dg pe TlMiŞ N r. j f - S u b s e m n a t a N Ă S T U R A Ş A L I N A, a v â n d f u n c ţ i a d e g r e f i

Managementul Resurselor Umane

Slide 1

Noțiuni matematice de bază

PHP (II)

DECLARAŢIE DE AVERE S pitalul Judeţean de IJrgentâ (Vlavt o rnaţi" 8otosani I N.m A R E ~ ie S ip E HR.tfQ/.CkJ...Zl &K2 una..clan Subsemnatul/Subsemn

Diapositive 1

DECLARAŢIE DE AVERE A e i f ia de jf r â r â m m Subsemnata GALAN C ELENA având funcţia de Director general la... Agenţia Naţionala de Integritate, Bu

TEST DE PROMOVARE ÎN CLASELE DE EXCELENȚĂ Clasa a V-a BAREM SUBIECTUL I a) Determinați numărul natural a din egalitatea: 315 :

Microsoft Word - DIN-Cap.5.3.doc

Paradigme de programare

Pattern Recognition Systems

C++ Probleme

Laborator 1-Teoria probabilitatilor si statistica matematica Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 1 P

Laborator 8: PROIECTAREA BAZELOR DE DATE SUBPROGRAME in PL/SQL (partea II - functii) Un subprogram este un bloc PL/SQL cu nume (spre deosebire de bloc

PowerPoint Presentation

Microsoft Word - Articol_Cretu Ion [RO].docx

Laborator 3

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

Programarea şi utilizarea calculatoarelor

DECLARAŢIE DE AVERE Subsemnata Ganea C. Mioara Daniela având funcţia de Referent Agenţia Naţionala de Integritate, Bucureşti, SECTOR 1 la... CNP, domi

proiectarea bazelor de date

Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu

Slide 1

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

Calcul Numeric

Microsoft PowerPoint - Proiectare generala

2

CERCURI REMARCABILE ASOCIATE UNUI TRIUNGHI CERCURI EXÎNSCRISE Natura vorbeşte în limbajul matematicii: literele acestei limbi sunt cercuri, tri

Paradigme de Programare

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

C(2019)1900/F1 - RO (annex)

Curs 10 Aplicaţii ale calculului diferenţial. Puncte de extrem 10.1 Diferenţiale de ordin superior S¼a trecem acum la de nirea diferenţialelor de ordi

Microsoft PowerPoint - INDEXWATCH

PowerPoint Presentation

Analiz¼a Matematic¼a - Curs 6 M¼ad¼alina Roxana Buneci

UNIVERSITATEA TEHNICA GHEORGHE ASACHI DIN IASI EDU TEHNIC FORMA PLUS Proiect cofinanţat de Fondul Social European prin PROGRAMUL OERAŢIONAL SECTORIAL

Opel Zaf i r al i f e P r eţ u r i, opţ i u n i ș i dat et eh n i c e, 1I u l i e

Slide 1

Информационная система персонализации, печати и учета документов об образовании

DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂT

SUBPROGRAME

Nr 33, Q Cuprinsul editiei: I. Rolul zambetului de volatilitate al aurului in determinarea pozitiei pietei II. Evolutii ale pretului aurului in

PowerPoint Presentation

Microsoft Word - Sinteza Generala ID 786.doc

(UNIVERSITATEA TEHNICA \223GH)

Microsoft PowerPoint - ImplementareLimbaj [Read-Only] [Compatibility Mode]

* Categoriile indicate sunt: (1) apartament; (2) casa de locuit; (3) casa de vacanta; (4) spatii comerciale/de prnductie. *2) La "Titular" se mentione

Cuantizare Vectoriala.doc

Deep learning

Limbaje de Programare Curs 8 – Fisiere

5

20 SUBIECTE DE EXAMEN - De fapt, în pofida acestor probleme, până la urmă tot vom logaritma, căci aceasta este tehnica naturală în context. Trebuie do

DECLARATIE DE AVERE Subsemnatul Vasile Nicusor Adrian, avand functia de sef serviciu, la INSPECTORATUL TERITORIAL DE MUNCA PRAHOVA, declar pe propria

Declaraţii. Instrucţiuni 19 octombrie 2005 Programarea calculatoarelor 2. Curs 3b Marius Minea

Matematici aplicate științelor biologie Lab06 MV

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Inspiron Specificaţii (Battery)

CARACTERISTICA DE AMORTIZARE A GRUPULUI DE REZEMARE ŞI IZOLARE ANTISEISMICĂ, ÎN CONCEPŢIE MODULARĂ, PENTRU PODURI ŞI VIADUCTE DAMPING CHARACTERISTICS

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

Microsoft Word - D_ MT1_II_001.doc

ENVI_2019_matematica_si_stiinte_Test_2_Caietul_elevului_Limba_romana

Microsoft Word - CarteC.doc

A.E.F. - suport laborator nr.10 sem.ii Analiza stării de contact între elemente 3D În acest laborator sunt atinse următoarele aspecte: analiza contact

i Fisa de date Tip anunţ: Anunţ de participare simplificat Tip legislaţie: Legea nr. 98/ Nu a existat o consultare de piaţa prealabila SECŢI

Transcriere:

Normalzarea datelor. Mașn cu vector suport (SVM) 1. Normalzarea datelor Metode obșnute de preprocesare a datelor. În partea stângă sunt reprezentate datele D orgnale. În mjloc acestea sunt centrate în 0, prn scăderea mede pe fecare dmensune. În partea dreaptă fecare dmensune este scalată folosnd devața standard corespunzătoare Spre deosebre de magnea dn centru, unde datele au lungm dferte pe cele două axe, ac ele sunt egale.. 1.1. Standardzarea - transformă vector de caracterstc astfel încât fecare să abă mede 0 ș devațe standard 1 x_scaled = x mean(x) σ, unde x_mean- meda valorlor lu x σ - devața standard from sklearn mport preprocessng mport numpy as np x_tran = np.array([[1, -1, ], [, 0, 0], [0, 1, -1]], dtype=np.float64) x_test = np.array([[-1, 1, 0]], dtype=np.float64) # facem statstcle pe datele de antrenare scaler = preprocessng.standardscaler() scaler.ft(x_tran) # afsam meda prnt(scaler.mean_) # => [1. 0. 0.33333333] # afsam devata standard prnt(scaler.scale_) # => [0.81649658 0.81649658 1.471913] # scalam datele de antrenare scaled_x_tran = scaler.transform(x_tran) prnt(scaled_x_tran) # => [[0. -1.474487 1.3363061] # [1.474487 0. -0.67614] # [-1.474487 1.474487-1.06904497]] # scalam datele de test scaled_x_test = scaler.transform(x_test) prnt(scaled_x_test) # => [[-.44948974 1.474487-0.67614]]

1.. Scalarea într-un anumt nterval - transformă datele astfel încât valorle fecăre caracterstc să se încadreze într-un anumt nterval, de obce [0, 1], sau astfel încât valoarea maxmă să devnă 1 - formula generală pentru ntervalul dat [mn_val, max_val]: x mn(x) x_std = max(x) mn(x) x_scaled = x_std (max_val mn_val) + mn_val from sklearn mport preprocessng mport numpy as np x_tran = np.array([[1, -1, ], [, 0, 0], [0, 1, -1]], dtype=np.float64) x_test = np.array([[-1, 1, 0]], dtype=np.float64) # facem statstcle pe datele de antrenare mn_max_scaler = preprocessng.mnmaxscaler(feature_range=(0, 1)) # (0, 1) default mn_max_scaler.ft(x_tran) # scalam datele de antrenare scaled_x_tran = mn_max_scaler.transform(x_tran) prnt(scaled_x_tran) # => [[0.5 0. 1. ] # [1. 0.5 0.33333333] # [0. 1. 0. ]] # scalam datele de test scaled_x_test = mn_max_scaler.transform(x_test) prnt(scaled_x_test) # => [[-0.5 1. 0.33333333]] 1.3. Normalzarea L1. Normalzarea L - scalarea ndvduală a vectorlor de caracterstc corespunzător fecăru exemplu astfel încât norma lor să devnă 1 Folosnd norma L1: x_scaled = X Folosnd norma L: x_scaled = X X 1, X 1 = X, X = n =1 x n =1 x

. Mașn cu vector suport În partea stângă sunt prezentate drepte de decze posble pentru clasfcarea celor două tpur de obecte. SVM-ul, exemplfcat în partea dreaptă, alege hperplanul care maxmzează margnea dntre cele doua clase. Hard Margn Funcța de decze prmală < x, w > + b 0 duală α y < x, x > + b 0 Problema de optmzare mn w cu constr.y (< x, w > + b) 1 0 α 1 j cu constr. α 0 α α j y y j K(x, x j ) Soft Margn prmală < x, w > + b 0 mn w + C cu constr. y (< x, w > + b) 1 ξ ξ duală α y < x, x > + b 0 α 1 α α j y y j K(x, x j ) j cu constr.0 α C Funcțle de decze ș problemele de optmzare asocate pentru formele SVM: prmală, respectv duală ș folosnd soft, respectv hard margn. Pentru mplementarea acestu algortm vom folos bbloteca ScktLearn. Aceasta este dezvoltată în Python, fnd ntegrată cu NumPy ș pune la dspozțe o sere de algortm optmzaț pentru probleme de clasfcare, regrese ș clusterzare. Instalarea bblotec se face prn comanda sstem: pp nstall -U sckt-learn

Importarea modelulu: from sklearn mport svm Detal de mplementare: Exstă două abordăr pentru a clasfca datele aparțnând ma multor clase: 1. ONE VS ALL: Sunt antrenaț num_classes clasfcator, câte unul corespunzător fecăre clase, care să o dferențeze pe aceasta de toate celelalte (toate celelalte exemple sunt prvte ca aparțnând aceleaș clase). Etcheta fnală pentru un exemplu nou va f dată de clasfcatorul care a obțnut scorul maxm. num_classes (num_classes 1). ONE VS ONE: Sunt antrenaț clasfcator, câte unul corespunzător fecare perech de câte două clase. Etcheta fnală pentru un exemplu nou va f cea care obțne cele ma multe votur pe baza acestor clasfcator. Implementarea dn ScktLearn are o abordare one-vs-one, adcă pentru fecare clase este antrenat un clasfcator bnar care să dferențeze între acestea. Astfel, dacă avem un număr de clase egal cu num_classes, vor f num_classes (num_classes 1) antrenaț clasfcator. La testare, clasa asgnată fecăru exemplu este cea care obțne cele ma multe votur pe baza acestor clasfcator. 1. Defnrea modelulu: class sklearn.svm.svc(c, kernel, gamma)

Parametr: C (float, default = 1.0) Influența parametrulu C în alegerea margn optme: în partea stângă este folostă abordarea hard margn, în care clasfcatorul nu este dspus să clasfce greșt date de antrenare, ar în partea dreaptă este folostă abordarea soft margn. Varabla ξ sugerează cât de mult exemplul x are voe să depășească margnea. ξ = max(0, 1 y (< x, w > + b)) - parametru de penaltate pentru eroare, sugerează cât de mult este dspus modelul să evte clasfcarea greștă a exemplelor dn setul de antrenare: C mare - va f ales un hperplan cu o margne ma mcă, dacă acesta are rezultate ma bune pe setul de antrenare (ma mulț vector suport). Dacă C va f ales prea mare, se poate ajunge la supraînvățare. C mc - va f ales un hperplan cu o margne ma mare, char dacă acesta duce la clasfcarea greștă a unor puncte dn setul de antrenare (ma puțn vector suport). Dacă C va f ales prea mc, modelul nu va f capabl să învețe, ajungându-se la subînvățare. kernel (strng, default = lnear )

Funcțle kernel sunt foloste atunc când datele nu sunt lnar separable. Acestea funcțonează prn următor do paș: 1. Datele sunt scufundate într-un spațu (Hlbert) cu ma multe dmensun. Relațle lnare sunt căutate în acest spațu - tpul de kernel folost: în cadrul laboratorulu vom lucra cu lnear ș rbf Kernel lnear: K(u, v) = u T v Kernel RBF: K(u, v) = exp( gamma u v ) 1 gamma (float, default = auto, având valoarea num_features ) - coefcent pentru kernelul rbf 1 - dacă gamma = scale va f folostă valoarea num_features X.std() - în versunea 0. valoarea default auto va f schmbată cu scale. Antrenarea: svm_model.ft(tran_data, tran_labels) Parametr: tran_data - setul de antrenare având exemplele stocate pe ln => dmensune (num_samples x num_features) tran_labels - etchetele corespunzătoare fecăru exemplu de antrenare 3. Predcța: svm_model.predct(test_data) Parametr: test_data - setul de test având exemplele stocate pe ln => dmensune (num_test_samples x num_features) Funcța întoarce un vector cu num_test_sampleselemente, fecare reprezentând d-ul clase prezse.

Exercț În contnuare vom lucra pe subsetul MNIST prmt în laboratorul 3. 1. Defnț funcța normalze_data(tran_data, test_data, type=none) care prmește ca parametr datele de antrenare, respectv de testare ș tpul de normalzare ({None, standard, mn_max, l1, l }) ș întoarce aceste date normalzate.. Defnț funcța svm_classfer(tran_data, tran_labels, test_data, C) care prmește ca parametr datele de antrenare, respectv de testare ș parametrul C. Aceasta antrenează un SVM lnar ș returnează predcțle obțnute de model pe setul de antrenare, respectv de testare. 3. Folosnd funcța defntă anteror calculaț acuratețea pe mulțmle de antrenare ș de testare. Utlzaț normalzarea L ș următoarele valor pentru parametrul C: [1e-, 1, 100]. Plotaț rezultatele folosnd pe axa OX log10(c), ar pe OY acuratețea. 4. Calculaț matrcea de confuze pentru cel ma bun model obțnut la exercțul anteror. 5. Pe baza matrce de confuze calculaț precza ș recall-ul corespunzătoare fecăre clase. 6. Antrenaț un model SVM folosnd kernelul rbf ș parametrul gamma = auto. Încercaț atât cu datele normalzate, cât ș cu ele neprocesate. Pentru prma varantă cel ma bun C este 1e-8, ar pentru cea de-a doua 1000. Comparaț rezultatele.