Definition of ML

Thanks again for the wonderful course.

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.

Best regards,

Vasyl.

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.

2 Likes

Let’s say we have an equation:

Y = 3X + 4

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.

Best,
Saif.

2 Likes

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?!)

1 Like

This is a good question, to be able to answer it I think you have to understand the logic of programming:

in traditional programing we give data that following certain rules and we get a result, for example:


x = 1

if x > 2:

     print('true')

print('false')

as we can see the result is false because x is not greater than 2,

but in machine learning we give data and result and we get rules

I hoped to explain it well, if not, please let me know.

4 Likes

That is a very helpful answer, thank you!

We provide data and get a rule – super.

But still, the method to obtain this rule (e.g. by linear regression or least squares) is programmed by a human.

пт, 5 мая 2023 г. в 18:07, Darvin Cotrina via DeepLearning.AI <notifications@dlai.discoursemail.com>:

Thank you very much for the answer, really helpful!

Still, the rule to calculate the weights and biases comes from outside, i.e. from the human programmer.

пт, 5 мая 2023 г. в 15:31, Gent Spahiu via DeepLearning.AI <notifications@dlai.discoursemail.com>:

1 Like

They key factor is that an algorithm (such as linear regression) can be used for any set of data, without being customized for each situation.

Yeah these are human built systems not self built, somehow they need to be build afterall.

Thank you very much!

Still, the rule to calculate these coefficients (“3” and “4”) comes from outside, i.e. from the human programmer.

No. In machine learning, this is the model task to find the w and b (3 and 4 in this case).

Yes, thank you. Still, the algorithm itself is not invented by the machine, it comes from the person who derived and programmed the algorithm…

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.

Regards,
Mujassim

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).

1 Like