I have a question regarding the very definition of machine learning: “the science of getting computers to learn without being explicitly programmed”. As I understand, all machine learning algorithms are created by humans who program the computers so that these algorithms may be efficiently implemented. So, what does it mean for the computer “to learn by itself”?
In the same way I am a little puzzled by the explanation of ML on Wikipedia page:
“In practice, it can turn out to be more effective to help the machine develop its own algorithm, rather than having human programmers specify every needed step… The discipline of machine learning employs various approaches to teach computers to accomplish tasks where no fully satisfactory algorithm is available.”
What is the example of popular ML algorithm (e.g., in supervised learning) whicj was not developed by human but by computer?
Thank you for considering my question, will be grateful for the answer.
It meant that it learns from the data and establishes some learned parameters by itself (weights and biases). You give for eg. a neural network its structure but the final model gets established after training i.e. the final algorithm.
All ML algorithms work like this they finally get programmed from what they learn from data.
Now put X from one to five and see the result for Y. Below Table
X
Y
1
7
2
10
3
13
4
16
5
19
So, in the above example, we explicitly programmed the relationship between X and Y. But in machine learning, we do not define anything. We just give it data, and machine learning tries to learn the relationship.
Hi @vasyl.delta Even a (sticking to this simplistic method) simple regression line to be a good ‘fit’ to given data needs multiple random trails (one random trial = one set of w and b parameters initialized randomly). Most often it will be impractical when dealing with real-world data. So, guidance algorithms (gradient descent etc) which help in arriving at best parameters given any variety of data makes it non-explicit. If we want to make it more sophisticated not even bothering to frame a guidance algorithm we may be stepping into a different realm altogether (AGI?!)
Yes, prescribed algorithms and rules, such as how to update the parameters etc, are explicitly programmed by humans. However, compared to machines, humans find it challenging to learn and adapt complex patterns from large data sets using these algorithms and rules, whereas machines can iteratively adjust and refine their learning process until they arrive at the optimal parameters.
Good question. I find it helpful to think of the algorithm separate from the ML/AI model. That is, the programmed algorithm creates the model. The model is then used to generate solutions based on supplied data sources. This also explains why the model can be opaque, since the model can be complex, and not really accessible to the programmer.
@vasyl.delta, a key word in this definition is explicitly. Of course, humans write the code for the model, but that code instructs the model how to learn from the training. It does not explicitly calculate the end result. This distinction is important. Think of what it would take to come up an explicit algorithm to do some of the things we can do with machine-learning, such as summarizing text, generating pictures, even just identifying people, animals, cancerous moles, etc. in an image. These kinds of problems can be quite difficult to get right with an explicit algorithm. This is the power of machine-learning.
This is a great answer, separating the “learning” from the model actually performing the task you want it to. @vasyl.delta it is extremely complex and mentally taxing for humans to iteratively solve a system of equations (numerical analysis) that govern a scientific outcome → the “learning” in ML (input, output).