Why do we need Machine Learning?
对于人类无法直接编码的过于复杂的任务,需要机器学习。 有些任务非常复杂,如果不是不可能的话,人类可以明确地计算出所有的细微差别和代码,这是不切实际的。 因此,我们为机器学习算法提供了大量数据,让算法通过探索数据并搜索将实现程序员设定的模型来实现。
Let’s look at these 2 examples:
- 编写解决诸如在杂乱场景中的新光照条件下从新颖视点识别三维物体等问题的程序是非常困难的。我们不知道要编写什么程序,因为我们不知道它是如何在我们的大脑中完成的。即使我们对如何做到这一点有一个好主意,该程序可能会非常复杂。
- 很难编写程序来计算信用卡交易欺诈的可能性。可能没有任何既简单又可靠的规则。我们需要结合大量的弱规则。欺诈是一个不断变化的目标,但该计划需要不断变化。
然后是机器学习方法:我们收集了许多为给定输入指定正确输出的示例,而不是为每个特定任务手动编写程序。然后,机器学习算法采用这些示例并生成执行该任务的程序。由学习算法产生的程序可能看起来与典型的手写程序非常不同。它可能包含数百万个数字。如果我们做得对,该程序适用于新案例以及我们培训的案例。如果数据发生变化,程序也可以通过培训新数据来改变。你应该注意到,现在大量的计算比付某人写一个特定于任务的程序要便宜。
鉴于此,通过机器学习最好地解决的一些任务示例包括:
- 识别模式:真实场景中的物体,面部身份或面部表情,口语。
- 识别异常:不寻常的信用卡交易序列,核电厂传感器读数的异常模式。