Answer the question
In order to leave comments, you need to log in
Programming and mathematics what you need to know?
Hai. And on the agenda is another question: what does a programmer need to know in mathematics? Yes, yes, this is an eternal holivar, but let's limit it to my directions! I am self-taught, school skills and knowledge from the technical school have long been forgotten, and even then it was not necessary. Now I understand sound processing, neural networks, I work with images. What is the problem I stumbled upon the post Habr speech recognition and realized that I am the bottom in mathematics.
We need a person who will poke my nose into what is used in this post. And tell me what it's called, and even better where to read about it.
It will also tell me how to google the necessary sections of mathematics, my level is 0.
And a big request, without further explanation and water, do not waste your time and do not confuse me =)
Just for example
1) Algebra of logic - base (math part)
2) Something else - in depth (I don’t even know sine, cosine)
3) And something else
In this format, if not difficult! Start from school =)
Editing the question for people who ask about the direction and what exactly I need!
Line 1-2 I quote Yes, yes, this is an eternal holivar, but let's limit it to my directions!
2-3 line I quote This hour I understand sound processing, neural networks, I work with images.
Line 4 I quote What is the problem I stumbled upon the post of Habr speech recognition and realized that I am the bottom in mathematics.
More detailed description 4 linesWe need a person who will poke my nose into what is used in this post. And tell me what it's called, and even better where to read about it.
Answer the question
In order to leave comments, you need to log in
For this article, you need the Fourier transform, logarithms, and trigonometry.
The last two topics are the school level.
Regarding the first:
mathprofi.ru will cover 90% of your need
. Typical university sequence:
limit -> derivative -> integral -> series -> Fourier series Fourier
transform, discrete cosine transform are special moments that are not considered in the course of mathematical analysis. The Wikipedia article (habr) will help you, and if you have gone the way above and have programming skills, then you should have enough background. Here is an example of a simple article on FFT https://habrahabr.ru/post/196374/ . It is VERY desirable to take a full course on digital signal processing, so that words like Kotelnikov's theorem are not an empty phrase for you. He, in turn, relies on harmonic analysis - Fourier expansions and so on (the prerequisites are listed above) and on information theory (the same entropy and logarithms). If you want to go further, then for neural networks you need linear algebra (matrices, operators) and the general concept of a function of many variables and its derivative, a gradient (mathprofi.ru is enough for the eyes, but you can also go to the courser), and machine learning that requires mathematical statistics which in turn will pull the theory of probability.
There 's nothing you need here,
no question like this has ever been asked before.
Well, start with the entire school curriculum. By algebra. The class is like this from 7. You can also catch geometry, at least on a plane.
https://cache-mskstoredata07.cdn.yandex.net/downlo...
You can focus on the program for admission to the ShAD. Further video lectures, online courses.
Everything depends on the needs. In some cases, higher mathematics is needed, and in some it is enough to know some specific library that will perform all the transformations for you.
It depends where and what you will code :)
In some areas of programming, mathematics is not needed at all (someone will exclaim: "BUT LOGIC IS NEEDED! MATH DEVELOPS LOGIC!!!!" - yes, logic is needed, but there are 1000 and 1 way to develop it without in-depth knowledge of the queen of sciences).
In most cases, you will have enough basic knowledge, which I am sure you have.
But if it's really hot and you want to be a super-duper encoder, boasting a self-written rendering engine / incredible knowledge of mathematics - learn discrete.
All computer science is, in fact, Discrete Mathematics.
You can look here:
https://habrahabr.ru/post/252077/
In the article (the book "For Dummies") there is only one approach. Here's another discussion . How to master the Fourier spectrum, read about wavelets, they have a good property: time-frequency decomposition.
Judging by the fact that the tag "neural networks" is indicated, linear algebra is required first of all (in my opinion, although it sounds unexpected, it is easier to study it in parallel with functional programming - this helps to start thinking about vectors, vector spaces, mappings, permutations, as about solid objects, the idea of curry allows you to take a fresh look at multilinear mappings - in my experience, these concepts cause difficulties for students of the ruler). Matan and funkan are also needed. For signal processing, it is useful to be familiar with the TFCT. Terver and statistics are very important when working with data.
Discrete mathematics, combinatorics, graph theory, general algebra and category theory are useful in general programming questions.
Other sections of mathematics are needed in certain areas - diphhem and topology in 3D modeling, difurs in robotics, urchaps in modeling spatial phenomena.
Well, a respectful attitude to the Russian language will not hurt if your games have texts.
I recently found a useful article why a programmer needs to know mathematics . Something to think about...
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question