About Programming Fundamentals
Is it possible to learn only Java, not C/C++/Python? Can I learn C/C++/Python if I have learned it, but have not applied it in practice, or if I don't have a good foundation? Are there any Python tutorials recommended? Can I learn C++/Python if I have a weak foundation?
The answer is yes.
We will follow the actual code writing and guide you step by step. Python is widely used in research and engineering as the most concise and straightforward scripting language in the fields of data science, big data, and machine learning (deep learning), so this course also focuses on the Python programming language itself, following along with real-world, hands-on programming with you.
In fact, the Java programming language is also widely used in big data processing and machine learning, and in the parts of the course that involve real-world engineering code, we will show and explain the C++ and Java versions together. Since this is not a programming language course, it focuses more on real-world applications, and therefore has a lower threshold for programming language features.
This course focuses on real-time processing of large amounts of data and deep neural network architecture and programming, so the programming language will not be a bottleneck. Moreover, you will be able to follow along with the instructor, write machine learning code, and become familiar with Python programming, which will in fact be very helpful for your future personal development and work.
In the second half of the course, we will use the experimental programs we wrote in the first half of the course and turn them into real industrial-grade code and products, which will involve writing both C/C++ and Java code. Since Java is very similar to C++ in its basic object-oriented structure, this should not be a problem.
As explained earlier, we will also show the Java version of the high-level application implementation. Ultimately, students will find that the code, although implemented in different programming languages, is generally similar and not too different. In addition, to address programming language concerns, the instructor will hand-write the code from the ground up and explain every important piece of code in as much detail as possible.
The whole course is not only about theory, but also about the basics of programming (including the language). We hope to dispel any doubts that you may have. Through the study of this course, not only on the whole machine learning, deep learning and distributed big data real-time processing has a comprehensive understanding, but also in the very practical engineering practice, the future to find a job and career development, will have a very big improvement.
If you have the foundation of other languages, but no C + + and python foundation is also completely can learn, language is just a tool, have other language foundation to learn a new language very quickly, especially Python this kind of language is very simple, and Java and C + + + compared to may need to spend more time to learn. However, this course also provides detailed explanations of the code you write in the hands-on engineering sessions, to make sure that your concerns in this area are allayed as much as possible.
Do I need a foundation in Big Data for this class?
The answer is no.
This course not only explains the classical theories, algorithms, and engineering practices in the field of machine learning, but also has a special feature of explaining high-performance distributed processing of big data or massive amounts of data, which will add wings to your future career development and planning through the learning and collision of the two fields, which is difficult to be reflected in other courses, and is also one of the main features of this course.
The instructor of this course has many years of experience in cloud computing and distributed real-time processing, as well as writing books and open-source big data processing frameworks, and has a wealth of experience, based on which he then explains machine learning and deep neural networks, so that students can have a more comprehensive study of the field of several key points and mastery.
About math foundation
Some students have math foundation, but lack of C++/Python programming language; some students do not have math foundation, is it possible to learn? What level of math foundation is needed? Is there any material recommended if learning in advance?
AnswerFirst of all, you don't need a particularly high level of math foundation to learn this course, you only need to master the advanced mathematics, linear algebra and probability theory courses that you have studied in the undergraduate level.
While from the application point of view:
If you want to go deeper into deep learning, such as implementing different structures of the network entirely on your own, and designing the layers and parameters of the network it is best to be able to proficiently use the relevant tools in matrix theory, I believe that if the career path plan is not an algorithmic engineer, you will not generally go deeper into this level.
Corresponding to different application areas, also need different mathematical tools, such as and image, signal recognition related areas, graphics and other related basic skills are necessary, but this is already a complex real-world application of the problem, and is not in the scope of the teaching of this course, the application areas of the course is relatively simple.
In fact, if you are an engineering student, you will find that the hardest part of learning math is not understanding what these mathematical tools can help us to solve, because most of the university teachers are math majors, and will not explain the math problems from the perspective of the students' respective majors. But when you know what you need to do with the math tools and have a clear goal, you will find that your motivation and learning ability will have a breakthrough, and you won't find this math knowledge boring. So even if you have a relatively weak foundation in math, having a clear purpose and then adding this math knowledge, I believe that the students themselves will be able to solve this problem. Math is also definitely not an obstacle to learning this subject, but if you want to take it as a career, to get a good base of this math is indispensable.
Finally, if you are a math major, or think you are very good at math, you needn't worry about not being able to speak 1 or 2 languages, because computer language is just a tool, the most crucial thing is to train your own thinking, and the core of this thinking is math and algorithms. If you are good at math, you can learn these languages very quickly, and there are no special grammatical features applied in this course, except for C++ development at the end.
But on the other hand don't discount the importance of learning these tools well, just hope that students can weigh them for themselves. For students who are good at math, perhaps the most fatal is a misunderstanding, because the basis of the computer is mathematics, so completely use mathematical thinking to solve computer problems is no problem, I can only say here that the computer has its own mode of thinking, even those based on mathematical principles of algorithmic problems, so math majors must learn to recognize the difference in this thinking and learn to use the computer's thinking to machine learning is a typical representative of computer thinking, this will be specifically discussed in the course.
As for the mathematical foundation needed, it is definitely desirable for students to learn calculus, linear algebra, and probability theory in advanced mathematics, and for students without practical programming experience, an in-depth study of discrete mathematics is recommended (regardless of whether or not they are mathematically proficient). That is all the math foundation needed for this course.
Please click to enter image description
About the content
What is the relationship between deep learning and machine learning? Many students think they have to learn machine learning before deep learning is that right?
AnswerMachine learning is definitely the foundation of deep learning because deep learning is deep neural networks and artificial neural networks are a big classical model of machine learning. But we need to recognize that the field of machine learning encompasses so many algorithms and models that to specialize in deep learning you don't necessarily need to learn many other machine learning algorithms and theories. That's why we'll have machine learning-related content in the course, except that it's all the necessary basics of machine learning that are relevant to deep learning.
But if you want to go on to become an algorithm engineer, it's essential to familiarize yourself with other machine learning models, but there is no such requirement in this course, and all the machine learning knowledge you need is explained in detail in the first half of the course.
Do I need to learn both the Caffe framework and the TensorFlow framework?
AnswerFirst and foremost, this course focuses on Caffe, but the basic usage of TensorFlow will also be explained and briefly demonstrated. In our daily work we have found TensorFlow to be the most powerful machine learning framework available, bar none, and with Google's support and the largest community, there are TensorFlow implementations available for any new model (thanks to TensorFlow's architectural design). It's great to use TensorFlow for quick experiments.
But we also found that TensorFlow has two big problems. The first problem is that TensorFlow's single-computer execution efficiency is low, especially compared to Caffe, and for startups that don't have enough money, they can't afford to have a cluster that can run TensorFlow training quickly when they have a certain amount of data.
The second problem is that TensorFlow is too large, and when we actually develop product SDKs, we want to be able to put the trained models directly into the product, so the training and product SDKs tend to use the same deep learning frameworks as TensorFlow. Therefore, the deep learning frameworks used in the training and product SDKs are often the same or interchangeable. TensorFlow is too large and complex, but also need to use a specialized construction tool, in the actual product application integration often need to use the tools and frameworks that can be fully controlled and modified, the complexity of TensorFlow is contrary to this requirement. Of course, it's also possible that we don't have the manpower to do the in-depth research, tailoring, and maintenance of TensorFlow due to our work environment and staffing constraints, which is why we use Caffe in our products.
Please click to enter image description
About employment
After learning the course and mastering this skill, can I get a job and is there a match?
The answer is definitely yes!
However, practicing more in your own time is the way to become an expert in a certain field. One of the biggest roles of this course is to let you know what to study, as well as the ideas and methods of study, and the actual engineering experience and architectural methods of large-scale enterprises which are hard to access in normal times, which will greatly help students in their future work and career development.
By taking this course, you can be matched to the following positions:
This actual position in many companies tends to be an algorithm engineer
Positions in big data analysis and processing
Development engineers for cloud computing applications or platforms
R&D engineers for machine learning or deep learning applications or platforms
And the Algorithm engineering department engineers will generally have two types of people (excluding senior positions such as department heads):
One type of people is able to use 1 to 2 languages (such as Python, Java or C++) more proficiently, with good mathematical skills, and is familiar with machine learning and deep learning, and their task is to continuously optimize the machine learning model, conduct training tests, adjust parameters, etc., and this process Also need to write quite a lot of scripts to help themselves to solve various problems. Finally to be able to write the actual product code, it is not necessary to have a very good architecture and design ideas, the key is to be able to efficiently implement a certain algorithm.
A class of people with good programming skills, but also a basic understanding of machine learning and deep learning, their task is often responsible for encapsulating and improving the functional modules implemented by the first class of people, from the time, space and code quality to improve the implementation of the module, and at the same time is responsible for maintaining a complete algorithmic SDK, which is often required to be able to quickly iterative updates, can be matched with the full training and testing These SDKs often require rapid iteration and updating, complete training and testing processes, and require developers to have strong engineering skills as well as architectural and design thinking.
As for the job problem, students should not worry at all, especially now there are many AI-centered companies such as explosive growth, as well as the traditional IT companies to the massive data processing, machine learning and deep learning areas continue to increase investment in this kind of engineers are in great demand.
Large or small companies need this kind of position? What is the salary for machine learning engineers?
Nowadays, there are both large and small companies, especially those focusing on artificial intelligence. As for the job question, students should not worry at all, especially now there are many AI-centered companies such as explosive growth, as well as the traditional IT companies to massive data processing, machine learning and deep learning areas continue to increase investment, the demand for such engineers is very high.
As for the salary, as the demand and gap for such positions are very large at present and for a long time in the foreseeable future, it is believed that students will be able to obtain higher-than-market salary levels after completing this course, coupled with their own practice and work experience in this field.
If you want to quickly master all aspects of professional skills, do not lag behind this era of artificial intelligence, this is definitely a course you can not ignore. If you have a very weak foundation in machine learning, haven't used machine learning in engineering practice, and don't have experience with real-time data processing, then this is it.
Get you $200 worth of this course promo code FCXTG3BGYX, valid for 10 uses only
Please click to enter an image description
Please click to enter an image description
Please click to enter an image description