Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java

Licență
8/10 (1 vot)
Conține 1 fișier: pdf
Pagini : 61 în total
Cuvinte : 10858
Mărime: 2.30MB (arhivat)
Cost: 11 puncte
Profesor îndrumător / Prezentat Profesorului: Lect. Dr. Tiberiu Vasilache
Facultatea de Stiinte Aplicate
Universitatea Politehnica Bucuresti, Bucuresti

Cuprins

Introducere ...2

Capitolul 1 Machine Learning . 4

1.1 Scurt istoric .. 4

1.2 Tehnici de învă.are ... 4

1.2.1 Învă.are nesupravegheată .. 5

1.2.2 Învă.are supravegheată .. 5

1.2.3 Consolidarea învă.ării ... 6

1.2.4 Re.elele neurale .i învă.area profundă .. 7

Capitolul 2 Programare orientată obiect. Java Eclipse 8

2.1 Java Eclipse scurtă prezentare .. 8

2.2 Structura programului .. 8

2.2.1 Compilator 9

2.2.2 Editarea surselor 9

2.2.3 Refactoring .. 10

2.2.4 Căutare 11

2.2.5 Execuția programelor .. 12

2.2.6 Depanare . 12

2.2.7 Informa.ii suplimentare .i ajutor . 13

2.3 Programare orientată pe obiect ... 14

2.3.1 Clase 14

2.3.2 Obiecte 15

2.3.3 Pachete standard în Java . 16

2.3.4 Pachetul ACM Graphics . 18

2.3.5 Gestionarea și generarea interfeței grafice cu utilizatorul .. 21

Capitolul 3 Algoritmi utiliza.i 26

3.1 Algoritmul de grupare K-means . 26

3.2 Regresia liniară ... 28

3.2.1 Metoda celor mai mici pătrate 28

3.2.2 Metoda gradientului 29

Capitolul 4 Ilustrarea algoritmilor de inteligență artificială .. 32

1

4.1 Algoritmul K-means ... 32

4.2 Algoritmul de regresie liniară 41

Concluzii .,, 51

Bibliografie ...52

Anexe .53

Extras din document

Introducere

Am ales lucrarea intitulată „Ilustrarea și simularea unor algoritmi de inteligență artificială folosind programarea orientată pe obiect în limbajul Java” pentru că îmi place matematica și programarea, iar algoritmii de inteligență artificială sunt la ordinea zilei. Am observat că de cele mai multe ori sunt dificili de înțeles și mi s-a părut bună ideea de a ilustra acești algoritmi printr-o aplicație ce folosește elemente grafice și limbajul Java.

Lucrarea este structurată într-un număr de patru capitole: capitolul 1 Machine learning, capitolul 2 Programare orientată obiect. Java Eclipse, capitolul 3 Algoritmi utilizați, respectiv capitolul 4 Ilustrarea algoritmilor de inteligență artificială.

În primul capitol am vorbit despre „Machine lerning” deoarece aceasta în ultimul deceniu a devenit un stâlp important al tehnologiei informației. Învățarea mașinilor este o aplicație a inteligenței artificiale (AI) care oferă sistemelor capacitatea de a învăța și de a îmbunătăți în mod automat experiența fără a fi programată în mod explicit. Procesul de învățare începe cu observații sau date, cum ar fi exemple, experiență directă sau instruire, pentru a căuta modele în date și pentru a lua decizii mai bune în viitor pe baza exemplelor pe care le oferim. Scopul principal este de a permite calculatoarelor să învețe în mod automat fără intervenția și asistența umană și să ajusteze acțiunile în consecință.

Există mai multe tipuri de învățare automată, printre care învățarea supravegheată și nesupravegheată. Cea supravegheata prezintă date de intrare cu ieșiri puse la dispoziție, învățarea modulului de asociere intrare-ieșire și predicția asupra ieșirii a unor date noi, iar cea nesupravegheata prezintă date de intrare fără ieșiri și învățarea structurii de date.

În al doilea capitol am prezentat elementele de bază ale limbajului de programare Java Eclipse. Elementele fundamentale pe care le-am folosit în aplicațiile lucrate sunt moștenirea care se referă la aranjamentul ierarhic al fragmentelor implementate, polimorfismul care ne indică că entitățile abstracte sunt implementate în mai multe moduri, clasa care definește rolurile comune ale diferitelor obiecte care îi aparțin și obiectul.

Am putut să folosesc pachetul ACM Graphics și clase precum GObject, GImage, GLabel, GRect, GLine, GOval, GPolygon, GCompound care sunt deja dezvoltate și testate.

În cel de-al treilea capitol am descris algoritmul K-means și algoritmul de regresie liniară. Algoritmul K-means este un algoritm de grupare nesupravegheat care alege k clustere și repartizează punctele la acestea alegând centroid-ul cel mai apropiat de punctul respectiv. Pe măsură ce punctele sunt poziționate la un cluster, centroid-ul poate migra.

Regresia liniară se poate rezolva prin metoda celor mai mici pătrate ceea ce presupune rezolvarea unui sistem de k ecuații și cu k necunoscute, unde k este numărul de variabile de

intrare. Această metodă are o soluție bine definită, dar care în practică, în momentul în care avem foarte multe date de intrare și foarte mulți parametri, cum ar fi de exemplu în genetică sau în meteorologie, presupune un volum foarte mare de calcul pentru a rezolva acel sistem de sute de mii de ecuații cu sute de mii de necunoscute, iar atunci modele iterative sunt preferate în învățarea automată.

Metoda pe care am ilustrat-o în lucrare este metoda gradientului cu două variante: varianta folosind setul complet de date și varianta cu iterație folosind punctele pe rând.

Iar în ultimul capitol am programat cei doi algoritmi de învățare nesupravegheată în limbajul de programare Java unde am ilustrat prin enunț pașii prin care am trecut, ce reprezintă fiecare parte de cod și am exemplificat prin poze procesul fiecărui program.

Bibliografie

[1] E. S. Roberts, The Art and Science of Java, Stanford University, January 2006

[2] R. Wiener, L.Pinson, Fundamentals of OOP and Data Structures in Java

[3] S. Shalev-Shwartz, S. Ben-David, Understanding Machine Learning from Theory to Algoritms, Cambridge University Press

[4] T. Vasilache, Curs Programare orientată obiect, Facultatea de Științe Aplicate, 2014

[5] V. Neagoe, Rețele neuronale pentru explorarea datelor, Matrix Rom, 2018

Surse online [6] https://cs.stanford.edu/people/eroberts/jtf/documents/License.pdf

[7] https://cs.stanford.edu/people/eroberts/jtf/javadoc/student/acm/graphics/GObject.html

[8] https://docs.oracle.com/javase/7/docs/api/javax/swing/package-use.html [9] https://web.stanford.edu/class/archive/cs/cs106a/cs106a.1178/eclipse/

[10] https://www.geeksforgeeks.org/classes-objects-java/

Preview document

Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 1
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 2
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 3
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 4
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 5
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 6
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 7
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 8
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 9
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 10
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 11
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 12
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 13
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 14
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 15
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 16
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 17
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 18
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 19
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 20
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 21
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 22
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 23
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 24
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 25
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 26
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 27
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 28
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 29
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 30
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 31
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 32
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 33
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 34
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 35
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 36
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 37
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 38
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 39
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 40
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 41
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 42
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 43
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 44
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 45
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 46
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 47
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 48
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 49
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 50
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 51
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 52
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 53
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 54
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 55
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 56
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 57
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 58
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 59
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 60
Ilustrarea și simularea unor algoritmi legați de inteligența artificială folosind programarea orientată pe obiect în limbajul java - Pagina 61

Conținut arhivă zip

  • Ilustrarea si simularea unor algoritmi legati de inteligenta artificiala folosind programarea orientata pe obiect in limbajul java.pdf

Alții au mai descărcat și

Baze de Date Multimedia

Baze de date multimedia Definirea conceptelor. Aplicatii. Data base - baza de date - este un grup de fisiere în care este înregistrata o multime...

Aplicații Client Server

Aplicatii client server Studiu de caz- Solutie de gestiune a Resurselor Umane si Salarizarii Solutiile de gestiune economica Mobius, sunt...

Evenimente Naturale care se Autoconsolideaza prin Circuite de Feedback

“Feedback-ul este ceea ce lipsea din stiinta, in afara lui Newton”, spunea omul de stiinta britanic Steve Grand. “Noi credeam ca este un fenomen...

Sisteme bazate pe cunoștințe în conducerea proceselor

Programul realizeaza determinarea procesului de incalzire ,respectiv racire intr-o camera si a timpului (maxim respectiv minim) in functie de trei...

Documentul de specificație a cerințelor - Instant Messenger

1. Introducere: 1.1. Scurta descriere a produsului: Produsul va reprezenta un canal de comunicatie care va permite utilizatorilor sa...

Obiective și Aplicații ale Nanotehnologiei

I. INTRODUCERE Dezvoltarea ştiinţei a demonstrat că cele mai spectaculoase progrese se obţin prin cercetare pluridisciplinară, situată la graniţa...

Aparatură hidraulică

Scheme Hidraulice Prima schema Hidraulica este in figura 1: Figura 1 A doua schema hidraulica este in figura 2 : Figura 2 A treia schema...

Ai nevoie de altceva?