Python Math & ML Course

Author
Published

2025

Note

📺 Վիդեոներ՝ Metric YouTube Channel   🔗 Դասընթացին միանալու հղում

Կարգավիճակ (21.08.25) - Python-ը վերջացրեցինք, ամսի 26-ին դաս կունենաք մաքուր կոդ/արխիտեկտուրա թեմայով ու անցնենք մաթեմի։

Լեգենդ։

  • 🟡 Տեսագրությունը ու նյութը կա, բայց մշակման կարիք ունեն (հիմնականում ուղղակի կարճ նկարագիրն ա պակասում)
  • 🔴 Դեռ չենք արել դասը
  • ոչմի բան - Ամենինչ վերջնական ա (կամ համարյա վերջնական ա)

Նշում։ Կայքը ու նյութը պատրաստման փուլում են, հնարավոր է որոշ տեղերում լինեն սխալներ կամ ժամանակավոր նշումներ։

📚 Ամբողջական նյութը

Առաջին ծանոթություն Python-ի հետ։

  1. Ինչպես արժեքներ տպել - print, sep, end,
  2. մեկնաբանութուններ (comments) ավելացնել,
  3. փոփոխականներ ստեղծել,
  4. թվեր և թվաբանական գործողություններ կատարել,
  5. մուտք (input) ստանալ։

Նաև ծանոթանում ենք տնային անելու հարթակի՝ Profound հետ:

Գործնական դասի ժամանակ էլ արել ենք հետևյալ խնդիրները՝

  1. Կիսամյակային գնահատականի հաշվիչ
  2. Քառակուսի հավասարման արմանտների գտնում
  3. հեշտ էր չէ՞ (2.1)
  4. ուսանողներ և խնձորներ 2 (4.3)
  5. թվաբանական պրոգրեսիա (4.1)

Դասերի վերաբերյալ կարող եք անանուն հայտնել Ձեր կարծիքը այստեղ

📺 Տեսանյութեր

  1. Տեսադասը
  2. Profound-ից օգտվելու վիդեո
  3. Գործնական դաս

2023 (կարելի ա բաց թողել)

  1. Դասախոսությունը (մեծամասամբ իմաստ չկա նայելու)
  2. Գործնականը (մեծամասամբ իմաստ չկա նայելու)

🏡 Տնային

  1. Profound բաժին 1 (Մուտք և ելք) - լրիվ
  2. Profound բաժին 3 (Փոփոխականներ և ամբողջ թվեր) - լրիվ
  3. Ոչ պարտադիր - կարող եք անանուն հայտնել Ձեր կարծիքը դասի վերաբերյալ այստեղ
  • Տնայինը անելիս մոտեցեք են սկզբունքով որ x խնդիրը լուծելիս դուք մենակ գիտեք են ամենինչը ինչ profound-ը մինչև x-ին հասնելը ներկայացրելա ա։ Երբեմն օգտագործող գործիքները սահմանափակելու դեպքում ա խնդիրը իսկականից օգուտ տալիս։ Օրինակի համար եթե խնդիր լինի որտեղ պետք ա սորտավորել թվերը ու դուք գիտեք sort հրամանի մասին՝ է հա, կարաք օգտագործեք էդ հրամանը, խնդիրը լուծվի՝ բայց արդյունքում նորմալ չեք սովորի էլի։
  • Եթե քիչ ժամանակ ունեք կարաք բաց թողեք Բաժին 1 - 5, 6, 14 խնդիրները
  • Բաժին 3 13-ում պետք ա զուտ ցանկացած թիվ տպեք
  • Բաժին 3-ի վերջին երկու խնդիրները լիքը բզբզալու են, խորհուրդ կտանք շատ ժամանակ տրամադրեք իրենց
  • Profound-ը ներկայացնող վիդեո
  • Շուտ եմ ասել GPT ու նման գործիքներից օգտվել չկա
  • Եթե հարցեր լինի՝ անպայման խաբար արեք (կառալյոկի պահը հիշեք)

📚 Լրացուցիչ նյութեր

  1. Ինչու՞ Python սովորել սլայդեր
  2. Colab-ում կոդը աշխատացնել հղում
  3. Python-ի խառը լրացուցիչ նյութեր

📚 Ամբողջական նյութը

Սովորում ենք ինչպես աշխատացնել տարբեր ծրագրեր կախված որոշ պայմաններից։ Նախ ծանոթանում ենք boolean տվյալների տեսակին (True, False արժեքները ընդունող), ապա որոշ համեմատության գործողություններին (==, >, is, …), հետո ծանոթանում ենք if (եթե) բլոկին ու իրա հետ եկող elif, else կտորներին։ Վերջում նայում ենք ներդրված պայմանները (if-ի մեջ if) ու համեմատաբար նոր գրելաձև match-ով։

Գործնական դասերին (հիմիկվա, ու 2023-ի) նայում ենք լրիվ տարբեր խնդիրներ, նենց որ կարող եք երկու դասն էլ նայել։ Նաև հասանելի ա տնայինների քննարկման տեսագրություն 2023-ից։ ### 📺 Տեսանյութեր 1. Տեսադասը 2. Գործնական դաս 3. Տնայինների քննարկում (2023)

2023

  1. Դասախոսությունը (նյութը նույնն ա, դասը անցկացնողները տարբեր)
  2. Գործնականը (խնդիրները լրիվ տարբեր են)
  3. Տնայինների քննարկում

🏡 Տնային

  1. Profound բաժին 5 (Պայմաններ) - լրիվ
  2. Profound բաժին 7 (Ներդրված պայմաններ) - լրիվ
  3. Profound բաժին 9 (Փոփոխականներ և տիպեր) - 1 - 10 (ներառյալ)
  • Բաժին 5-ը գրելիս կարելի ա օգտվել մենակ if-ից ու else-ից (elif ենթադրեք որ չգիտեք)
  • Դժվար պայմաններ (7.14)-ը լուծելիս եթե շատ երկար լինի Ձեր լուծումը, մի հատ էլ հետո մտածեք ոնց կարաք ավելի կարճ ու կոկիկ դարձնեք bool փոփոխականներ սահմանելով
  • Եթե կուզեք կարաք Բաժին 9-ը փորձեք մինչև վերջ անել՝ հաջորդ տնայինում դա լինելու ա
Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

Python

📚 Ամբողջական նյութը Նկարագիր - ToDo

էմոջիում տուփ ա որովհետև նաև package ա կարելի անվանել թեմային։

Libraries

📚 Ամբողջական նյութը

OpenAI-ը ChatGPT-ն ստեղծող կամպանյան ա։ էսօր սովորելու ենք թե ինչ բան ա API-ը ու ոնց կարանք request-ներ անենք (էս թեմային մի քիչ առնչվել ենք deepl-ով թարմանություններ անելիս): Նաև սովորում ենք environment variable-ների գաղափարը (տերմինալի հրամանակ աշխատացնելով ենք անում դասի ժամանակ, ավելի լավ ա dotenv-ով անել, տես վիդեոն

OpenAI-ով նայում ենք թե ոնց ա կարելի տեքստեր/նկարներ/աուդիո գեներացնել ու ոնց ա կարելի ֆիքսել թե ինչ կառուցվածքով պատասխանի մեզ api-ը (մի քիչ էլ առնչվում ենք pydantic-ի հետ, որը հետո ենք անցնելու)։

Որպես կիրառություն սարքում ենք ծրագիր որը youtube-ի վիդեո ստանալով քաշում ա իրա տռանսրիպտը (արել էինք նախորդ դասին) ու գենեռացնում ա timestamp-եր (կարևոր թեմաները որ վարկյաններին են սկսվում)

📺 Տեսանյութեր

  1. Տեսություն
  2. Python-Dotenv վիդեո

🏡Տնային

Կրեատիվությունն ա միակ լիմիտը։ Մի աշխարհ բան ա կարելի անել OpenAI-ով (հայերենի համար ավելի լավ ա Claude-ով անել բայց), կարաք գլխից նաև Streamlit app սարքեք։

Libraries

📚 Ամբողջական նյութը

NumPy-ը հաշվարկներ անելու համար հիմնարար գրադարաններից ա։ Լիքը ուրիշ գրադարաններ որ հետագայում կանցնենք՝ օրինակի համար աղյուսակների հետ աշխատելու համար նախատեսված pandas-ը տակից օգտագործում են numpy-ը հաշվարկային կտորների համար։ Դասին ծանոթանում ենք լիքը ֆունկցիաների, ու հիմնական գաղափարներից սովորում ենք թե ինչ են տրամաբանական ինդեքսավորումը ու broadcasting-ը։ Նաև պի թիվը մոտարկելու այ էս մինի պրոեկտը վերարտադրում ենք numpy-ով ու տեսնում որ ամպի չափ ավելի արագ ա աշխատում ծրագիրը։

📺 Տեսանյութեր

  1. Տեսություն
  2. Մինի պրոկետը որ numpy-ացնում ենք
  3. 2023-ի տեսություն որը հավանաբար անիմաստ ա նայելը

🏡 Տնային

Հիմնական նյութում GPT-ի առաջարկած միկրովարժություններ կան որ կարաք անեք զուտ որ ձեռքը բացվի, բայց ավելի կարևոր ա նախորդ տնայինների/պրոեկտների պարտքերը զրոյացնել որ հաջորդ դասից արդեն pandas-ով լիքը պրոեկտներ անելու ժամանակ լինի

Libraries

📚 Ամբողջական նյութը

Նշում․ Եթե NumPy-ին դեռ չեք ծանոթացել՝ սկզբում դա արեք, նոր եկեք pandas:

PandasNumPy-ի հիմքով գրված ամենատարածված գրադարաններից ա աղյուսակային տվյալների (պարզ ասած՝ որ տողերով, սյուներով տվյալներ ունենք) հետ աշխատելու համար։ Տեսությունը բաժանված ա երկու մասի, էսօրվա դասին անցնում ենք․

  1. թե ինչ բան են Series-ը ու DataFrame
  2. ի՞նչ ա CSV ֆայլը
  3. ոնց ֆիլտրել տվյալները
  4. ոնց խմբավորել
  5. ինչ ա pivot table
  6. ինչ անել բացակայող արժեքների հետ
  7. ինչ են հրաշք parquet ֆայլերը
  8. էլի մանր մունր մի քանի բան

Որպես օրինակ աշխատում ենք Հայաստանի ընտրողների տվյալների հետ՝ մոտ 3 միլիոն տող ու ինֆորմացիա՝ անուն, ազգանուն, հայրանուն, ծննդյան օր, գրանցման հասցե ․․․։

📺 Տեսանյութեր

  1. Տեսություն
  2. 2023-ի տեսություն որը հավանաբար անիմաստ ա նայելը
  3. 2023-ից ընտրողների տվյալների հետ կապված պրոեկտ Streamlit ու տվյալների վիզուալիզացիա օգտագործող
  4. (ձեռի հետ եմ սա ավելացնում) Ընտրողների տվյալների շուրջ Barcamp ելույթ

🏡Տնային

Վերցնել ցանկացած դատասեթ ու փորփրել։

Կարող եք դատան վերցնել Kaggle-ից։ Կամ եթե հայկական եք ուզում՝ Armstat-ից

📌 Նկարագիր

📚 Ամբողջական նյութը

Նշում․ Եթե Pandas 1-ին դեռ չեք ծանոթացել՝ սկզբում դա արեք, նոր եկեք pandas 2:

Շարունակում ենք մեր պանդաների ուսումնասիրությունը։ Էս անգամ խոսում ենք՝

  1. Մի քանի df-ներ միավորելուց (concat, merge, join), ու իրենց տեսակներից (inner, outer, left, right)
  2. Excel ֆայլերի հետ աշխատանքից - ոնց կարդալ/save անել կոնկրետ sheet ․․․
  3. Կայքերից տվյալներ քաշելուց՝ read_html-ի օգնությամբ (Armstat-ի օրինակով)
  4. Long, wide աղյուսակների ֆորմատներից ու ոնց հալացնել (melt) մեր df
  5. Dask-ով գոյատևելուց երբ տվյալները ամպի չափ մեծ են ու չենք էլ կարա աշխատանքային հիշողության (RAM) մեջ տեղավորենք
  6. Ամսաթվերի հետ աշխատանքից Datetime օբյեկտների միջոցով
  7. Numpy vectorization vs .apply vs for loop-ի համեմատումից
  8. Արագ մակերեսային նկարագիր ստանալու համար profilingydata_profiling ու sweetviz գրադարաններից

📺 Տեսանյութեր

  1. Տեսություն
  2. Գործնական - Նշանավոր մարդկանց վերլուծություն

🏡 Տնային

Վերցնել ցանկացած դատասեթ ու փորփրել։

Կարող եք դատան վերցնել Kaggle-ից։ Կամ եթե հայկական եք ուզում՝ Armstat-ից

📌 Նկարագիր

📚 Ամբողջական նյութը

Ուսումնասիրում ենք նշանավոր 1.2 միլիոն մարդու տվյլաներ, ու արդյունքում վարժվում pandas-ի հետ աշխատել։

  1. Ըստ մասնագիտության ապրելու միջին տարիքը
  2. Ըստ երկրի 1000-մարդուց ամենաշատը քանիսին են ինքնասպան լինում
  3. Սեռային բաշխվածությունը ըստ մասնագիտության
  4. Հայ նշանավոր մարդկանց վերլուծություն
  5. Էլի մի քանի մանր մունր բան

Խորհուրդ ենք տալիս սկզբում մենակով բզբզալ տվյալները նոր նայել վիդեոն։

Նաև հավեսի համար կարաք խաղաք էս գործիքի հետ որ քարտեզի վրա ըստ տրածաշրևանի ցույց ա տալիս նշանավոր մարդկանց։

📺 Տեսանյութեր

  1. Գործնական - Նշանավոր մարդկանց վերլուծություն
  2. Եթե դեռ չեք նայել, սկզբում նայեք տեսական դասերը՝ NumPy, Pandas 1, Pandas 2

🏡 Տնային

Վերցնել ցանկացած դատասեթ ու փորփրել։

Կարող եք դատան վերցնել Kaggle-ից։ Կամ եթե հայկական եք ուզում՝ Armstat-ից

📌 Նկարագիր

📚 Ամբողջական նյութը

Չոր ու տխուր աղյուսակները փոխարիներում ենք աչք ուրախացնող գրաֆիկներով։ 1. Նայում ենք մի քանի սլայդ մոտիվացնող վիզուալիզացիայի կարևորությունը ու նրբությունները 2. Ուրախանում ենք լրատվականների խայտառակ վատ տվյալների վիզուալիզացիաներով 3. Վայելում ենք լավ վիզուալիզացիաների օրինակներ, հատկապես Ինֆոքոմի կողմից սարքած 4. Սովորում ենք matplotlib գրադարանը - սկզբում մի քանի հիմնական գրաֆիկ, հետո ոնց իրանց դզել-փչել մեր ուզածով, հետո ոնց ունենալ մի քանի գրաֆիկ ու վերջում արագ անցնում ենք անիմացիաների թեմայի վրայով 5. Plotly - ինտերակտիվ հզոր գրաֆիկներ սարքել ենք սովորում 6. WordCloud - Թումանյանի պոեմի ու Կոմիտասի նամակների տեքստերը փորձում ենք իմի բերել մի նկարի մեջ

📺 Տեսանյութեր

🏡 Տնային

Ավանդական՝ վերված դատասեթի վրա էլ հիմա գրաֆիկներ ավելացնել

📌 Նկարագիր (ToDo)

📚 Ամբողջական նյութը

Էլ ինչ դատա վերլուծել եթե ոչ կարգին դատա։ ՄԵՄ-ի օգնությամբ (ToDo - անուններով նշել մարդկանց, նաև ՄԵՄ-ից դուրս) կա հավաքած տվյալներ որտեղ 600+ կարգինի տեքստերն են, ու որոշ metadata` վայր, լուսավորություն, դերասաններ, լեզուներ և այլն։

Էսօրվա դասին թեթև վերլուծում ենք էդ տվյալները ու մինի search սարքում։ Կրկնում ենք pandas-ով Excel կարդալը, նախնական տվյալների մաքրման քայլերը, plotlybarplot, histogram, density plot-երը, ու նայում ենք ոնց կարանք օգտագործենք ամենալավ անուններից մեկը ունեցող գրադարանը՝ fuzzywuzzy-ն տվյալ տեքստին մոտ տեքստ պարունակող կարգին գտնելու համար։

📺 Տեսանյութեր

🔗 Հղումներ

  • Կարգին Stremlit App
  • Կարգին տելեգրամ բոտ
📌 Նկարագիր

📚 Ամբողջական նյութը

📺 Տեսագրությունը

📌 Նկարագիր Մեր առաջին սովորած ֆունկցիան՝ print-ը։ Շատ լավ օրեր ենք անցկացրել իրա հետ, բայց հիմա ժամանակն ա անցնել իրա պռոֆեսինոլ տարբերակին՝ logging-ին։ Սովորում ենք ՝ 1. ոնց նշել logging-ի մակարդակը 2. մեր ուզած ձևով ֆոռմատավորել log-երը 3. գրել log-երը ֆայլի մեջ, ինչպես նաև կոնսոլում 4. json ֆորմատով պահել լոգերը 5. exception-ներ log անել

Հետո անցնում ենք Command Line Interface(CLI)-եր սարքելու գրադարաններին։ CLI-ների շնորհիվ ա որ կարանք գրենք ուղղակի pip install panir ու ինքը գնա ավտոմատ քաշի բերի մեր ուզած գրադարանը, ոչ թե մենք բացենք կոդը որտեղ install հրամանը օգտագործվում ա ու կոդի մեջ նշենք որ արգումենտ որպես մեր գրադարանի անունը գնա։ Սովորում ենք՝ 1. Argparse-ը (ներկառուցված գրադարան) 2. Fire (ֆունկցիաներին CLI-ով դիմելու համար 1-2 տողանոց լուծում) 3. Click (դեկորատորներով աշախտող ուժեղ գրադարն) 4. Typer (FastAPI-ենց գրադարանը type hint-երի վրա հիմնված)

ToDo - detailed timestamps

Libraries

📚 Ամբողջական նյութը

📺 Տեսանյութեր

Testing

Եթե ուզում ենք կարողանալ մեեեծ պրոեկտների վրա աշխատել, կամ թեկուզ փոքր պրոեկտներում չկորենք կամ պանիկայի մատնվենք երբ նոր մարդիկ սկսեն կոդի վրա աշխատել, շատ կարևոր ա որ ունենանք ամուր ենթակառուցված որը չի թողի կոդում սխալները մուղամով իրանց չար գործը անեն։ Կոդ գրելիս պետք ա մտածենք թե ինչ մուտքերի դեպքում ինչ ելք պետք ա տա, երբ պետք ա էռոռ բարձացնի և այլն, և այլն։ Եթե էդ ամենինչը ֆիքսվի կարող ենք հարմար ստուգել արդյոք էդ մեր դրած պայմանները բավարավում են թե չէ։ Դասին սովորում ենք հենց դա կազմակերպել՝ PyTest գրադարանով (մի քանի րոպե էլ unittest-ին ենք անդրադառնում, 23 թվից ավելի մանրամասն վիդեո կա)։ Սովորում ենք ոնց՝

  1. Սարքել թեստեր
  2. Parametrize: Պարամետրացնել, միանգամից լիքը input-output զույգեր փորձարկելու համար
  3. Fixture: Ոնց նշել ինչ կոդ պետք ա աշխատացվի թեստի աշխատելուց առաջ ու հետո
  4. Mocking: Որոշ ֆունկցիաներ կանցելը փոխարեն ձևացնել որ իրենց ենք օգտագործում որ երկար չսպասենք կամ էլ ուրիշ կոդի սխալի պատճառով մեր թեստը ձախողի
  5. Coverage: Ստուգել թե կոդի որ տոկոսն ա մեր աչքից պլստացել ու առանց թեստի մնացել
  6. CLI Argument-ներով ոնց ընդգծել կոնկրետ ինչ թեստեր/ոնց աշխատացվեն
  7. Ոնց VS Code-ով աշխատացնել թեստերը
  8. Ինչ տեսակներ կան testing-ի (end-to-end, integration, unit test)

Debugging

Վերջում էլ մի քանի րոպեով անդրադառնում ենք VS Code-ի debugger-ից օգվելուց, ու ընդհանուր debugging-ի տեսակներին (ռեզինե բադ, ․․․)։ print-եր շարելը լավ բան ա իհարկե, բայց breakpoint-երին ծանոթանալը կարա հետագայում շատ ժամանակ խնայի։

Libraries

📚 Ամբողջական նյութը

ToDo - file cleanup + description

Libraries

📚 Ամբողջական նյութը

ToDo - file cleanup + description

📌 Նկարագիր

📚 Ամբողջական նյութը

📺Տեսանյութը

Աղյուսակային տվյալները csv-ով պահելը երբեմն աշխարհի ամենալավ միտքը չի։ Ոչ էլ parquet պահելն ա միշտ լավագույն տարբերակը։ ՄԼ-ի կոնտեքստում երբ-որ ինչ-որ տվյալներ արդեն կան ու իրանց պետք ա վերլուծենք՝ բան չունեմ ասելու, ընտիր ֆորմատներ են, բայց եթե գնանք ավելի շատ դեպի backend development որտեղ որ պահվում են օրինակի համար կայքում գրանցված մարդկանց տվյալներ՝ այ ըտեղ արդեն կարիք ա գալիս դինամիկ համակարգերի որ թույլ կտան արագ ու էժան պահել ու ստանալ մեր ուզած տվյալները։

Էս նյութում ծանոթանում ենք SQL (Structured Query Language)-ի հետ, ու սովորում հիմնական գրադարանները տվյալների բազաների հետ փոխազդելու։

Ծանոթանում ենք` Select, Where, Order by, Limit, Group by, Join, Subqueries, Having հրամանների հետ ու խառը ֆունկցիաների հետ։

Նշում

Չենք ծանոթանում բազաների տեսակներին, կամ նրան թե ոնց ճիշտ դիզայն անել բազան։ Ուղղակի թեթև ծանոթացում SQL-ին։

🏡 Տնայինի առաջարկ

Բռաուզեռի պատմությունը բազայով ա պահվում ու լոկալ հասանելիություն ունենք իրանց։ Կարաք կարդաք աղյուսակները, վերլուծեք հենց ձեր պատմությունը, եթե հավեսի ընկնեք նույնիսկ կարաք AI API-ի request անեք, հղումները տաք ասեք դնի ինչ-որ կատեգորիայի մեջ (աշխատանք, հանգիստ, Աստված գիտի ինչ ․․․)

Ավելի մանրամասն կարաք նյութի ներքևում (գործնական սեկցիայում) ծանոթանաք միկրո օրինակի ու հղումների համար

Libraries

📚 Ամբողջական նյութը

ToDo - file cleanup + description

Libraries

📚 Ամբողջական նյութը

ToDo - file cleanup + description + resolve path issues

Libraries

📚 Ամբողջական նյութը

ToDo - file cleanup + description

Libraries

📚 Ամբողջական նյութը

  1. Vibe coded project (browsing data or Kargin Search)
  2. Creating a real DB (supabase)
  3. Render deployment
  4. Interpretable vs Complied
  5. Interview questions
  6. Maybe a proper Scrapy tutorial? (Nope)
  7. Github Actions?

Videos

  • [] yaml / toml
  • [] manim?
  • [] Make
  • [] Github Actions?

Lectures

Շատ մոտավոր ա գրաֆիկը

Մինչ բուն նյութին անցնելը ծանոթանում ենք մի քանի նախնական կարևոր գաղափարների՝

  1. Բազմություններ (գործողություններ, կցման-արտաքսման սկզունք, դեկարտյան արտադրյալ)
  2. Զուգորդություններ, կարգավորություններ, տեսափոխություններ
  3. Ֆունկցիաներ (պատկեր, նախապատկեր, ինյեկտիվ, սյուրյեկտիվ, բիյեկտիվ, կենտ, զույգ)

ToDo

  • Dark mode does not work for the hw file.

Maybe at some point

  • Induction
  • Recursent relations
  • Somewhere inequalities - Jensen, Cauchy
Libraries

Abstract

  • Vectors, vector operations
  • Dot product
  • Norm (L1, L2)
  • Angle between vectors
  • Vector spaces and subspaces
  • Matrices, matrix operations

🧮 Linear Algebra

  • Vectors, vector operations, dot product, norm
  • Norm (L1, L2)
  • Angle between vectors
  • Vector spaces and subspaces
  • Matrices, matrix operations
  • Geometric interpretation of matrices
  • Row echelon form (perhaps won’t be covered)
  • Determinant in 2x2 and 3x3 cases, trace
  • Determinant in general case
  • Systems of linear equations (perhaps won’t be covered)
  • Gauss-Jordan elimination (perhaps won’t be covered)
  • Inverse matrix
  • Linear independence
  • Basis, rank, dimension
  • Change of basis
  • Eigenvalues and eigenvectors
  • Gram–Schmidt algorithm (orthogonalization)
  • Positive/negative definite matrices
  • Decompositions (eigen for sure, maybe also SVD/QR/Cholesky)
  • Matrix norms (at some point)

📈 Calculus

  • Limit of sequence and function
  • Continuity
  • Derivative
  • Chain rule, product rule, quotient rule
  • Lipschitz continuity
  • Convexity, concavity
  • Extrema of a function
  • Taylor polynomials
  • Indefinite integral, definite integral

Multivar

  • Partial derivative
  • Jacobian, Jacobian matrix
  • Gradient
  • Directional derivative
  • Hessian
  • Taylor expansion in several variables
  • Cauchy-Schwarz inequality
  • Jensen’s inequality

⛰️ Optimization

  • Convex sets
  • Lipschitz continuity
  • Quadratic forms and Sylvester’s criterion
  • First/second-order optimality conditions
  • Univariate (golden section, Bernd)
  • Gradient Descent (mini-batch, stochastic)
  • Armijo (Wolf) condition
  • Learning rate scheduling
  • Momentum
  • AdaGrad / RMSProp / ADAM
  • Coordinate descent
  • Second order methods
  • Constrained optimization
  • Derivative-free optimization (Nelder-Mead)
  • Evolutionary algorithms (Genetic algorithms, CMA-ES)
  • Bayesian optimization (Surrogate models, Acquisition functions)
  • Multicriteria optimization (Pareto front, Dominance)

🎲 Probability Theory

  • Sample space, events, probability
  • Independence
  • Conditional probability, total probability
  • Bayes rule
  • Geometric probability
  • Random variable
  • PMF, CDF, PDF
  • Expected value, variance
  • Law of the unconscious statistician
  • Iterated expectation
  • Covariance and correlation
  • Distributions
  • Joint, marginal, and conditional distributions
  • Convergence modes (in probability, in distribution, almost sure convergence)
  • Laws of large numbers
  • Central limit theorem

📊 Statistics

  • Point estimation: Mean, median, mode
  • Quantiles, percentiles
  • Estimator properties (unbiasedness, consistency, efficiency)
  • MAP
  • MLE
  • Confidence intervals and hypothesis testing
  • P-values, type I and type II errors
  • ANOVA
  • Chi-squared test
  • t-test, z-test
  • Bootstrap
  • ? Fisher information
  • ? Cramér-Rao bound
  • ? Likelihood ratio test
  • Bayesian statistics?
  • ? EM algorithm
  • ? Metropolis-Hastings algorithm

Information Theory

  • Entropy, joint entropy, conditional entropy
  • Mutual information
  • Kullback-Leibler divergence
  • Cross-entropy
  • Cross-entropy vs Risk minimization vs MLE

Curse of dimensionality

  • Distance in high dimensions
  • Volume of high-dimensional spheres
  • Sparsity of data
  • Curse of dimensionality in machine learning

Շատ մոտավոր ա գրաֆիկը

Packages to do in process

  • [] Scikit-learn
  • [] LightGBM
  • [] Tensorflow
  • [] Pytorch
  • [] Weights and biases
  • [] Weaviate
  • [] Chainlit
  • [] Gradio
  • [] Sentence transformers
  • [] Hugging Face

Linear Regression

  • Assumptions
  • Loss
  • Gradient based optimization
  • Normal Equation
  • Interpretation of Coefficients

Main Concepts

  • Encoding categoricals
  • Feature scaling
  • Train Val Test split (data leakage issue)
  • (Stratified) Cross validation
  • Regression evaluation metrics

More Regression + Main Concepts 2

  • Polynomial Regression
  • Under / Overfitting
  • Regularization
    • Ridge
    • Lasso
  • Hyperparameter Search
  • Feature Engineering
  • Outliers
  • Threshold tuning

GLM (Logistic Regression)

  • Logistic regression
  • Log odds
  • Classification evaluation metrics

Trees

  • Decision tree
  • Bagging
  • Boosting
  • Notable models (i.e. LightGBM)

Model interpretation and Feature selection

Unsupervised Learning

  • KMeans
  • DBSCAN
  • Hierarchical
  • Clustering evaluation metrics

Neural Networks

  • Perceptron
  • Activation functions (sigmoid, tanh, ReLU, Leaky ReLU, Softmax)
  • Loss functions (cross-entropy, MSE)
  • Backpropagation
  • Dropout Regularization
  • Batch normalization
  • Weight initialization
  • Vanishing/Exploding gradients
  • Transfer learning

Intro to Computer Vision

  • Convolutions (kernels, padding, stride)
  • Gaussian blur, Sobel filter, Canny edge detection
  • Template matching
  • CNNs
  • Pooling (max, average)
  • Receptive field
  • Dialotion
  • Separable convolutions
  • Fully connected layers
  • Classic architectures (LeNet, AlexNet, VGG, ResNet)
  • Data augmentation
  • Image classification, object detection, segmentation
  • Evaluation metrics (IoU, mAP, etc.)
  • Transfer learning
  • Fine-tuning

(Variational) Autoencoders

  • Encoder-Decoder architecture
  • Loss functions (reconstruction loss, KL divergence)
  • Latent space
  • Variational Autoencoders (VAE)
  • Applications (denoising, generation)

Maybe - Generative Adversarial Networks (GANs) - Diffusion models

44 - 45 Intro to Natural Language Processing

  • Tokenization
  • Word embeddings (Word2Vec, GloVe)
  • Bag of Words, TF-IDF
  • Recurrent Neural Networks (RNNs)
  • Vanishing / Exploding gradients in RNNs
  • Long Short-Term Memory (LSTM)
  • Gated Recurrent Units (GRUs)

46 - 47 Intro to Gen AI

Text - Attention Mechanisms - Transformers - BERT, GPT - Evaluation metrics (BLEU, ROUGE, perplexity) - Zero-shot and few-shot learning - Pre-trained models (Hugging Face, OpenAI, etc.) - Transfer learning in NLP (fine-tuning pre-trained models)

  • RAG

Գուցե նաև KNN, SVM, Information Theory, Gaussian Process

Flag Counter