Mašīnmācīšanās

**Mašīnmācīšanās** ir mākslīgā intelekta apakšnozare, kas izmanto datorsistēmas, lai efektīvi veiktu konkrētus uzdevumus, neizmantojot skaidri programmētas instrukcijas, tā vietā paļaujoties uz paraugiem un secinājumiem. Mašīnmācīšanās algoritmi vai algoritmu ietvari izveido iztvēruma datu matemātisku modeli, kas pazīstams kā "apmācības dati", lai veiktu prognozēšanu vai pieņemtu lēmumus. Mašīnmācīšanās tiek izmantota situācijās, kur nav iespējams izstrādāt īpašu instrukciju algoritmus uzdevuma veikšanai, piemēram,
e-pasta filtrēšanas, tīkla iebrucēju atklāšana, mašīntulkošana un datorredze. 

Mašīnmācīšanās ir cieši saistīta ar skaitļošanas statistiku, kas ir vērsta uz prognozēšanu, izmantojot datorus. Matemātiskā optimizācija nodrošina metodes un teoriju. Datizrace ir vērsta uz pētniecisko datu analīzi, izmantojot neuzraudzītu mācīšanos. Mašīnmācīšanās pielietojumā uzņēmējdarbības problēmās arī tiek saukta par prognozējošo analīzi.

Vispārēji datorsistēmu mācīšanos iedala divos veidos:
* **induktīvā mācīšanās** jeb mācīšanās no precedentiem, kam pamatā ir empīrisko sakarību atrašana datos;
* **deduktīvā mācīšanās**, kur tiek formalizētas ekspertu zināšanas, un tās datorā tiek pārnestas kā datubāze.
Par mašīnmācīšanos parasti tiek uzskatīta tieši induktīvā mācīšanās, jo deduktīvā mācīšanās tiek saistīta ar ekspertsistēmām.

## Definīcija
ASV datorzinātnieks Toms Mičels ir piedāvājis šādu plaši citētu, vairāk formālu definīciju: Tiek uzskatīts, ka datorprogramma mācās no pieredzes E attiecībā uz kādu uzdevumu klasi T ar sniegumu P, ja tās sniegums darbā ar uzdevumiem T, ko mēra ar P, uzlabojas ar pieredzi E.

## Vēsture
Terminu "mašīnmācīšanās" pirmoreiz piedāvāja amerikāņu pionieris datorspēļu un mākslīgā intelekta jomā Arturs Semuels (*Arthur Samuel*) 1959. gadā, kad viņš strādāja *[[IBM]]*.
Zinātnisko centienu rezultātā mašīnmācīšanās kļuva par meklējumiem mākslīgā intelekta jomā. Jau mākslīgā intelekta pirmsākumos, kad tā vēl bija akadēmiska disciplīna, daži pētnieki bija ieinteresēti, lai mašīnas mācītos no datiem. Viņi mēģināja risināt problēmu, izmantojot dažādas simboliskas metodes, kā arī tās, kas tika sauktas par neironu tīkliem; galvenokārt tie bija perceptroni un citi modeļi, kas vēlāk tika no jauna atklāti no vispārinātajiem lineārajiem statistikas modeļiem.

Pieaugošs uzsvars uz loģisko, uz zināšanām balstīto pieeju radīja plaisu starp mākslīgo intelektu un mašīnmācīšanos. Varbūtību sistēmas bija saistītas ar teorētiskām un praktiskām datu iegūšanas un attēlošanas problēmām. 1980. gados mākslīgajā intelektā dominēja ekspertsistēmas, bet statistikas pieejas netika daudz atbalstītas. Darbs ar simboliskām, uz zināšanām balstītām mācīšanām tika turpināts mākslīgā intelekta ietvaros, kas noveda pie induktīvi loģiskās programmēšanas, bet vairāk statistiskā pētniecības līnija atvirzījās ārpus īstā mākslīgā intelekta, rodot pielietojumu paraugu atpazīšanā un informācijas izgūšanā. Neironu tīklu izpēti ap to pašu laiku bija pametusi mākslīgā intelekta un datoru zinātne, un šo līniju kā konekcionismu turpināja pētnieki no citām disciplīnām, ieskaitot Hopfīldu, Rumelhartu un Hintonu. Viņu galvenie panākumi bija 1980. gadu vidū, kad tika pārizgudrota atpakaļejošas izplatības metode.

Mašīnmācīšanās, kas tika reorganizēta kā atsevišķa joma, sāka uzplaukt 1990. gados. Joma mainīja savu mērķi no mākslīgā intelekta sasniegšanas uz praktiska rakstura problēmu risināšanu. Tas mainīja koncentrēšanos no simboliskajām pieejām, ko tas bija mantojis no mākslīgā intelekta, uz metodēm un modeļiem, kas bija aizgūti no statistikas un varbūtības teorijas. Tas guva atpazīstamību arī no pieaugošās digitalizētās informācijas pieejamības un spējas to izplatīt internetā.

## Metodes
[thumb|220px|[Mākslīgais neironu tīkls ir savstarpēji saistītu mezglu grupa, kas līdzinās plašam neironu tīklam smadzenēs. Šeit katrs apļveida mezgls apzīmē mākslīgo neironu, un bulta apzīmē savienojumu no viena mākslīgā neirona izejas uz cita ieeju]]

### Veidi
Mašīnmācīšanās veidi atšķiras pēc to pieejas, ievadīto un izvadīto datu veida, kā arī uzdevuma vai problēmas veida, ko tie ir paredzēti atrisināt.

#### Uzraudzīta mācīšanās
Uzraudzītas mācīšanās algoritms veido matemātisku modeli no datu kopas, kas satur gan ievades datus, gan vēlamos rezultātus. Piemēram, ja uzdevums ir noteikt, vai attēls satur noteiktu objektu, apmācības datos tiktu iekļauti attēli ar šo objektu un bez tā (ievade), un katram attēlam (izvade) būtu iezīme, kas norādītu, vai tas satur objektu.
Paraugu sagatavo, izmantojot apmācības procesu, kurā jāveic prognozes, un to koriģē, ja šīs prognozes ir nepareizas. Apmācības process turpinās, līdz modelis sasniedz vēlamo apmācības datu precizitātes līmeni.

Uzraudzītas mācīšanās pazīstamākie veidi ir klasifikācijas algoritmi un regresijas algoritmi. Klasifikācijas algoritmi tiek izmantoti, ja izvades ir ierobežotas līdz galīgai vērtību kopai. Savukārt regresijas algoritmus pielieto, ja izvadēm var būt jebkura skaitliska vērtība diapazonā (piemēram, objekta temperatūra, garums vai cena).

Līdzības mācīšanās arī ir uzraudzīta mašīnmācīšanās joma, kas cieši saistīta ar regresiju un klasifikāciju, bet mērķis ir mācīties no piemēriem, izmantojot līdzības funkciju, kas mēra, cik līdzīgi vai saistīti ir divi objekti. To izmanto, piemēram, ranžēšanā, ieteikumu sistēmās, vizuālās identitātes izsekošanā, sejas pārbaudē un skaļruņu pārbaudē.

#### Mācīšanās bez uzraudzības
Mācīšanās bez uzraudzības algoritms veido matemātisku modeli no datu kopas, kas satur tikai ievades datus, bez izvades vēlamo rezultātu iezīmēm. Šīs metodes tiek izmantotas, lai atrastu datu struktūru, piemēram, datu punktu grupēšanu vai klasterēšanā. Mācīšanās bez uzraudzības var datos atklāt struktūras un var ievades datus grupēt kategorijās, kā tas ir pazīmju mācīšanās. Dimensijas samazinājums ir process, kurā tiek samazināts "pazīmju" skaits datu kopā.

Viens no galvenajiem neuzraudzītas mācīšanās pielietojumiem ir blīvuma novērtējums statistikā.

#### Daļēji uzraudzīta mācīšanās
Daļēji uzraudzīta mācīšanās algoritmi izstrādā matemātiskus modeļus no nepilnīgiem mācību datiem, kur daļai no ievades datiem nav pazīmju.

#### Stimulētā mācīšanās
Stimulētās mācīšanās algoritmiem ir atgriezeniskā saite pozitīva vai negatīva stimula veidā dinamiskā vidē. Programmatūras aģenti mācās, mijiedarbojoties ar vidi. Stimulēto mācīšanos izmanto, piemēram, autonomos transportlīdzekļos vai apmācot spēlēt spēles pret pretinieku cilvēku.

### Procesi un tehnikas
Mašīnmācīšanās sistēmu realizācijai tiek pielietoti dažādi procesi un tehnikas:
* pazīmju mācīšanās jeb attēlojumu mācīšanās
* retinātas vārdnīcas mācīšanās
* anomaliju atklāšana
* lēmumu koka mācīšanās
* asociatīvo noteikumu mācīšanās

### Modeļi
Mašīnmācīšanās modeļi:
* mākslīgais neironu tīkls
* atbalsta vektoru mašīna
* Baiesa tīkls
* ģenētiskais algoritms

## Skatīt arī
* Mašīntulkošana

## Atsauces

## Ārējās saites

* International Machine Learning Society
* Mašīnmācīšanās videolekcijas
* INTRODUCTION TO MACHINE LEARNING Nils J. Nilsson, Robotics Laboratory, Department of Computer Science, Stanford University, 1998