A
A
Anonymous Anonymous2017-08-06 16:24:35
Python
Anonymous Anonymous, 2017-08-06 16:24:35

How to gradually migrate from the Web to Machine Learning as painlessly as possible?

For a long time I wrote in PHP (Symfony) mainly Enterprise solutions with big business logic. + sometimes I do SPA on JS, most often for my projects. Gradually, I needed to write different daemons and utilities, I tried to do it on Node.js, I liked it more than on php. Now, in general, I almost completely write everything in Node + Go for utilities and microservices. I want to note that for me it is a big plus that I can not forget JS and also write Front. This is backstory.
At the moment, I'm starting to get sick :)
Recently, there have been projects where machine learning was used. I have always been interested in this topic, and I am generally educated in the basics of ML, but I have not been involved in writing code.
In the end, I realized that I want to migrate to ML.
Problemswhich I encountered:
- As far as I understand, the leading language in ML is Python. Even CPP is not that popular.
- I can not abruptly change the direction of activity, because I need to eat.
So I see options like this :

  1. Gradually start and move to using Python on the web, having studied the language and core libraries sufficiently. Next, also gradually begin to try yourself in ML.
    What worries me here is that, first of all, I don’t give a fuck about such php->node.js+go->python transitions. Languages ​​are similar in many ways, if I start to get confused. And secondly, the node.js + go bundle on the web more than suits me.
  2. Stay on the same stack on the web. Start learning CPP or R right away for ML. And then, if necessary, when I get off the web, switch to Python.
    But is it possible to get by with one CPP in ML. Or is everything new written in Python in this area?
  3. For now, study ML in Golang (which I already use now), and we'll see. Does Go have a future in ML, who knows? There are very few libraries yet, but the language is actively developing. Does it have any restrictions for use in ML.
I am writing from an anonymous account so as not to burn (:

Answer the question

In order to leave comments, you need to log in

4 answer(s)
A
asd111, 2017-08-07
@qwerty111333

From languages ​​strictly python. It is somewhat similar to Golang and javascript, so there will be no difficulties in using it. C++ and R are not right away. Because C++ is mostly written only by the ML libraries themselves, or something very fast like video stream analysis in autopilots, and even then the prototype is written in python, and R practically does not develop compared to python and has a narrower scope than python.
In terms of learning, you can do this:
1. Read a good book on the topic, because you need to know the terms and basic algorithms. Well, or at least look at Andrew Ng Machine Learning courses. In principle, this is enough to use other people's libraries for simple tasks.
2. Look at scipy, numpy and jupyter notebook. scikit has scikit learn which implements some popular algorithms. For example SVM, decision trees, etc. and there are docks for this case for beginners scikit-learn.org/stable
3. Register on kaggle.com and find the problem about the titanic. Here it is https://www.kaggle.com/c/titanic Make the decision as best you can. You can take a simple gradient boost. Yandex just recently posted a lib for this case called cat boost https://tech.yandex.ru/catboost/ The banal use of this library can give about 80% accuracy. Here is a tutorial https://github.com/catboost/catboost/blob/master/c...
4. Read about keras. Take a ready-made model for mixing image styles and make a site like ostagram.ru for mixing images. https://github.com/fchollet/keras/blob/master/exam...
5. Then everything depends on you, because it's not easy to make money in the field of ML :) When you read at least one book on ML, register here ods.ai is a community of Russian-speaking experts in this field.

N
Nikita, 2017-08-06
@AgentProvocateur

Something you are going to build a house from the wrong end ... figuratively speaking. You are driven by the choice of a hammer, but you need to be in design, architecture, engineering communications, construction technologies, etc. And the hammer is bought at the last moment at the construction warehouse.
Machine learning/neuroengineering is a field of scientific activity. A machine learning specialist is a mathematician (often with a Ph.D.). Programming/knowledge of Python is just an applied skill for scientific research. In scientific laboratories, the path clearly does not lie through the study of the languages ​​\u200b\u200bused there / programs.
Without a solid university and scientific basis (mathematics, biology, bioinformatics, psychology, etc.), there is nothing to do in this topic. You can’t jump from web coders to neuroengineers in courses on YouTube, all the more so painlessly.
And with knowledge of other languages ​​(php, js, go), python is mastered in 10 days. That is why it is used so intensively in science, so that programming, as an applied skill, should be spent a minimum of body movements and time, and a maximum of neuroengineering.

A
Alexey Kazantsev, 2017-08-10
@KaaPex

I myself began to slowly delve into this area, I will say right away that I need a mathematical base, combinatorics, probability theory, statistics, linear algebra, matan. The courser has a specialization from Yandex, and just as they said above from Andrew NG (by the way, he chews everything thoroughly for full downs) and he now has a new specialization in neurons. Start with this, then you will understand whether it is interesting for you or just as a hobby. And then you can generally go towards Hadup, Spark and Scala as an option.

S
sim3x, 2017-08-06
@sim3x

No way

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question