2023-05-02 Līga Ramana

 

IZV pētījuma tēma

Sķirošanas algoritmu salīdzināšana, izmantojot X datu kopu (izvēlēties datu kopu, atrast metriku)

Jaunākie algoritmi:

 

Datu kopas:

 

Paraugs ZPD līmeņa darbam: http://share.yellowrobot.xyz/quick/2023-5-2-E456F276-4A9A-4A25-AA27-66F4E74981B2.zip

 


Dziļās mašīnmācīšanās materiāli

Pamēģināt izpildīt uzdevumus un dot man ziņu 2 nedēļu laikā

 

 

1.1. Video / Materiali

Video: https://youtube.com/live/HtMV4LAujZE?feature=share

Jamboard: https://jamboard.google.com/d/1tKWa9a_Zu7UrGMAShRCUNNht6XetLnCB6fDCTgtKESU/edit?usp=sharing

 

1.2 Sagatavot vidi darbam

Pirms kursa uzsākšanas nepieciešams:

  1. Uzinstalēt pycharm izstrādes vidi: https://www.jetbrains.com/pycharm/

  2. Uzinstalēt Anaconda 3.9 Python package vidi: https://www.anaconda.com/products/individual

  3. Uzinstalēt pytorch bibliotēku, izmantojot conda packager (mājaslapā tiek ģenerēta attiecīgā komanda katrai OS: https://pytorch.org). Komanda bez CUDA compatible GPU būs: conda install pytorch torchvision -c pytorch

  4. Uzinstalēt SkLearn ar komandu: conda install scikit-learn un matplotlib ar: conda install matplotlib

  5. Palaist hello_world.py piemēru (pielikumā), izmantojot PyCharm programmu (veiksmīgas palaišanas gadījumā varēsiet pārliecināties, ka bibliotēkas strādā)

Vairāk par Anaconda environments / vidēm:

  1. Izveido vidi: conda create --name tavs_vards

  2. Aktivizē vidi: conda activate tavs_vards

  3. Tad instalē bibliotēkas. PyCharm arī tev kā python interpreter ir jāizvēlas vide tavs_vards Vairāk par conda envs var palasīt: https://towardsdatascience.com/getting-started-with-python-environments-using-conda-32e9f2779307

Papildus ļoti ieteicams:

  1. Iziet python tutorial šeit: https://www.w3schools.com/python/

  2. Implementēt python un izlasīt uzmanīgi šo tutorial: http://karpathy.github.io/neuralnets/

  3. Noskatīties video kursu no Stenfordas par dziļo mašīnapmācību: https://www.youtube.com/watch?v=NfnWJUyUJYU&list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC

  4. Sākt lasīt online grāmatu par dziļo mašīnapmācību: http://neuralnetworksanddeeplearning.com

  5. Atkārtot augstāko matemātiku, atvasinājumus, diferenciālvienādojumus un lineāro algebru

Sagataves: http://share.yellowrobot.xyz/quick/2023-1-12-DCFFD523-CB00-4082-8CBA-7867E7325C85.zip

 

1.3 Implementēt funkciju un iesniegt kodu kā failu

Implementēt funkciju f(x,b) Nedrīkst izmantot, jau gatavu funkciju (onliner). Nedrīkst izmantot numpy vai citas bibliotēkas, tikai tīru python kodu.

Iesniegt pirmkodu un screenshot, papildus bonus, ja izmanto rekursiju

Izveidotot kodu sekojošam vienādojumam: http://share.yellowrobot.xyz/upic/df7e6c9b6b8f880de6ee2d3e5b740e75_1673883820.png

(1)f(x,b)=(xb+b)(xb1+b1)(xb2+b2)(x0+0)

 

1.4. Implementēt funkciju un attēlot grafiski, izmantojot matplotlib

Iesniegt pirmkodu un screenshot, papildus bonus, ja izmanto rekursiju. Papildus punkti, ja izmanto numpy.

Vienādojums: http://share.yellowrobot.xyz/quick/2023-1-16-E7F9E2D0-82B4-4C10-8DB5-5EC0CEF84784.png

Rezultāts: http://share.yellowrobot.xyz/upic/596fdf6bed2c4bc1c1ef6476ec72500c_1673884738.png

(2)f(x)=sin(2x)+2e3x

plot f(x) = \sin(2x) + 2e^{3x}

 

 

 

1.5. Implementēt python objekt-orientētu kodu, izmantojot UML klašu shēmas

Implementēt python objekt-orientētu kodu, izmantojot UML klašu shēmas

vec_pos un citi tiek inicializēti kā 2D numpy vektori np.array([0., 0.])

Visas funkcijas sākotnēji neko nedara scope kods satur tikai pass.

Nepieciešams izveidot tikai klašu struktūru, iesniegt Python failu.

 

Opcionāli: Bonus punkti, ja implementē Singleton pattern iekš Game.get_instance() un Player.get_instance() statiskas funkcijas (Info par programmēšanas šabloniem https://refactoring.guru/design-patterns)

 

http://share.yellowrobot.xyz/quick/2023-1-16-E06CA8D8-A955-4248-BE8A-2410B04A7654.zip

http://share.yellowrobot.xyz/quick/2023-1-16-BBCEFB14-D351-423E-8C20-19DD5A888995.jpg