Matematyka od podstaw

0

Hej!
Pytanie na dziś mam takie, jak ugryźć matematykę od podstaw, żeby móc zacząć rozumieć notację matematyczną w książkach o algorytmach i żeby móc wystartować z czymś więcej niż programowanie aplikacji?

Prośba o info, wskazówki i czy będę musiał się cofnąć do czasów maturalnych?

PS: Nigdy nie miałem wiele wspólnego z matematyką.

0

Na początek dużo nie trzeba, wstęp do CLRS Ci wystarczy.

0

@lion137: myślałem, żeby sobie kupić wszystkie podręczniki z matematyki podstawowej + rozszerzonej do liceum, a po przerobieniu, przejść na literaturę akademicką.
Inaczej nie widzę szansy porobić coś hobbystycznie z AI czy ML, bo nie rozumiem matematycznej terminologii.
Programować potrafię, ale zarabiam na Web devie, nie chciałbym już zawsze klepać aplikacyjek, które korzystają z gotowych rozwiązań. Sam bym chciał popracować nad algorytmem kompresji, rozpoznawaniem obrazów etc.

3

Wydaje mi się, że nie wiesz na co się piszesz. :) Jeżeli studiowałeś jakiś techniczny kierunek to powinieneś mieć podstawy algebry, analizy i statystyki. Jest szansa, że nie miałeś matematyki dyskretnej więc to musiałbyś nadrobić. Jeżeli jednak nie studiowałeś niczego technicznego to daleka droga przed Tobą. Najłatwiej po prostu iść na studia, dostajesz wtedy plan, motywacje, weryfikacje a na końcu potwierdzenie, że rzeczywiście coś umiesz. Jeżeli jednak chodzi o hobbystyczne zajmowanie się tematem, to powinieneś zagłębić działy matematyki które wymieniłem wcześniej. Ze statystyki nie pomogę, ale źródła które mogą Cię interesować to:
Analiza:

Oczywiście to wszystko do tego, żeby rozumieć to co inni stworzyli. Jeżeli przez popracować nad algorytmem kompresji, rozpoznawaniem obrazów etc. masz na myśli wynajdywanie czegoś swojego, to bez doktoratu może być ciężko. Powodzenia. :)

1

@tdudzik: poleciałeś z materiałem ;)

Najpierw zapoznaj się tym co jest wymagane na wstępie (do przyjęcia do college)
Po angielsku bo i tak albo się nauczysz na tyle języka żeby swobodnie z materiałów korzystać albo pójdziesz na polską uczelnię;


Zgrabna playlista, zobacz też inne playlisty z tego kanału:
https://www.youtube.com/playl[...]zxa4K1BWLRgHW2i8diQ359U5FbKnI

https://www.princetonreview.com/college/sat-information
The SAT is an entrance exam used by most colleges and universities to make admissions decisions.

https://theswanschool.edu.pl/[...]t-wszystko-co-warto-wiedziec/

Oczywiście nie mam na myśli zdawanie testów ale materiał do ogarnięcia na start, przed rozpoczęciem właściwej nauki jaką planujesz.

4

Studiowałem matematykę 5 lat i nawet skończyłem z sukcesem. Dodatkowo i na studiach i przez 20 lat po często coś doczytywałem i przerabiałem (nie że dużo, ale trochę zawsze).
I nie ma lekko - nadal męcze dość wolno wszelkie papiery. Jak coś na chwilę opanuje (krypto, finansowke, rachunek lambda, type systems) - to za pół roku tracę biegłošć... i od nowa.

I do tego... nadal zasadniczo - piszę proste aplikacje.

1

@NeutrinoSpinZero: Warto by było abyś napisał Nam dlaczego chcesz się uczyć matematyki: grafika, AI, optymalizacja, kryptografia, coś innego?

Niestety, będą "angielskie" sugestie, ponieważ uważam, że gdy zerkniesz do kodu opartego o model matematyczny (np. scikit-learn), to ucząc się matematyki w tej wersji będzie Ci w przyszłości szybciej i wygodniej się w nim zorientować. Poczynając od notacji (p, q, etc), po nazwy operatorów, funkcji, transformacji itp - przejście z aparatu matematycznego na kod będzie też dla Ciebie bardziej naturalne (szczególnie jeśli i tak już zapomniałeś materiały z szkoły średniej). Przy okazji, starałem się wybrać darmowe materiały.

Na dziś dziejszy, jeśli czujesz, że nie masz podstaw, zabrałbym się za, już polecany, Khan Academy. Możesz znaleźć statystykę albo algebrę i idąc wstecz (po wymaganiach) uzupełnić braki. Super się sprawdza taki sposób nauki, jeśli nie masz za dużo czasu, chcesz powrócić do materiałów, itd. Brilliant jest na trochę wyższym poziomie, ale niestety bez sporej inwestycji nie za bardzo można z niego skorzystać codzień.
Poparłbym to Schaum's Outline of Essential Computer Mathematics - mam schowane w szufladzie bo koledzy się ze mnie śmieją (Schaum's Outline - to takie coś jak seria 'dla kretynów') - może ktoś to już nawet przetłumaczył na polski? Dość skondensowana wiedza, ale podana w strawny sposób.

Teraz taka moja wersja, bardziej rozwinięta, sugestie szerokie - bo mam nadzieję, że może ktoś w wątku się dołączy i swoje sugestie i/lub krytykę poczyni. To z doświadczenia, czyli nauki matematyki na potrzeby dogadania się z modelarzami rzeźb abstrakcyjnych w masie ryzyka; zwanego także podejściem statystycznym, wieśniaka kiszącego dane w sosie ery-pre-tensorowej, na potrzeby inteligencji ręcznie wyskrobanej spomiędzy scalaków. ;-)

U mnie praca (potrzeba komunikowania się z quantami) wymusiła szybkie poduczenie się języka (i matematyki). Zabrałem się za to z YouTube i MIT OpenWare - wciąż uważam, że to jedne z lepszych kursów, ale są typowo akademickie, siedzisz i kujesz dopóki nie załapiesz, tak jak poprzednio podlinkowane:Single Variable Calculus, Multivariable Calculus, Linear Algebra i Differential Equations.
Wersje na YouTube trochę to łatwiej tamże konsumować. Nauka zabrała mi 8 miesięcy, praktycznie co wieczór, i przez jakieś 2 lata spokojnie mogłem podjąć się tłumaczenia nawet dość zaawansowanych koncepcji, ale że takiej potrzeby nie było i nie używam już tej wiedzy od kilku dobrych lat, nie polecałbym Ci od tego zaczynać. Raczej z dystansu pooglądać, tak tylko żeby się zorientować o co biega w algebrze (przed algebrą liniową, bardzo trudno teraz uciec).

Statystykę podciągałem z The Little Handbook of Statistical Practice i Introduction to Statistical Thought. Przeglądałem i do dziś przeglądam https://en.wikibooks.org/wiki/Statistics i https://www.openintro.org/stat/textbook.php
Przerobiłem też Think Stats - szczerze polecam. Do dziś nie skończyłem Think Bayes, które już nie jest takie przyswajalne, mam kompleksy z tego powodu ;-) i chyba już nie rozciągnę czasu aby zabrać się za kompleksowe myślenie (z tejże serii).

Jakieś 3-4 lata temu, już pod AI, zabrałem się za The Elements of Statistical Learning, An Introduction to Statistical Learning, Bayesian Reasoning and Machine Learning i Gaussian Processes for Machine Learning. W każdej z nich utknąłem, gdziś tak w 1/4 - jeśli mam jakiś projekt, szukam konkretnej wiedzy pod niego. Trochę czuję, że Gaussian Processes warto byłoby skończyć, bo drzemie tam wiedza iście tajemna.
(edit, bo zapomiałem) Mathematics for Machine Learnig jest całkiem sprawnie dostarczone.

Zrobiłem jedną z poprzednich wersji kursu Essential Math for Machine Learning: Python Edition - polecam, praktycznie i na temat. Kursów z resztą (szczególnie statystyki) jest na Coursera, edX i w wielu, wielu innych platformach MOOC całem mnóstwo (o dość dużym skew jakości niestety), Introduction to Computational Thinking and Data Science jest całkiem spoko w tym temacie.

Polecam Math Adventures with Python autora Hacking Math Class, dzięki tej książce dzieciaki które w ramach takiego klubu kodowania męczyłem nie umarły z nudów (a ja z upokorzenia).

Przeczytałem niedawno Good Math, a właściwie przekartkowałem, poziom dość podstawowy, ale napisane w miarę żwawo, na temat i myślę, że jeśli wpadnie Ci w ręce warto poświęcić na nią czas. Co chwila zaglądam do Guide to Essential Math, ma książka ta wiele wad, ale nagromadzenie materiału w jedym miejscu robi z niej całkiem dobry punk odniesienia (można ją też wykorzystać w pomniejszych konfliktach biurowych, o ile ktoś nie wyciągnie Numerical recipes lub jaką matematykę konkretną albo pleśniejący tom Knuth'a).

Także jak widzisz, życie można na tym stracić, a nerwy i wzrok zdrowy to już na 99.(9)% - zastanów się więc Waść po cóż Ci to?

1

Możesz poszukać wśród opublikowanych wykładów z MIT, jak uwielbiam tego pana

0

@stic: tak jak napisałem wcześniej. Chciałbym zrobić coś więcej niż operowanie na istniejącym dorobku.
Stale tylko używam i łączę biblioteki, które już ktoś napisał.

Chciałbym najpierw zdobyć ogólne rozeznanie, a później zdecydować co zgłębiać.

Moje motywy to:

  • zmniejszenie przepaści wiedzy z zakresu CS między mną i innymi pracownikami branży/firmy i pozbycie się kompleksu niższości
  • hobbystyczne zajęcie się czymś znaczącym, trudnym i złożonym
  • aplikacje piszę w pracy, potem optymalizuję ten system i tyle, działam na abstrakcji, na czymś już wymyślonym i dobrze funkcjonującym
  • nie wiem jak to wszystko się łączy, mam w głowie tylko hasła typu algorytmika, matematyka dyskretna, równania różniczkowe... i jak jeleń siedzę i słucham, jak ktoś o tym mówi ;/

Tak na dobrą sprawę to nie wiem czego chcę :) Może bardziej właściwym będzie kurs from nand to tetris, do którego nie miałem czasu przysiąść.

Także jak widzisz, życie można na tym stracić, a nerwy i wzrok zdrowy to już na 99.(9)% - zastanów się więc Waść po cóż Ci to?
Zostań tu gdzie jesteś, rób jenkinsy, kubernetesy i się ciesz :) No może, może.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0