全国咨询热线:400-618-4000

人工智能算法如何学习数据中的规律?

创建时间:2019年09月16日18时36分

首先我们来看一下最常见的人工智能算法是什么样的:


人工智能算法


人工智能算法包括几个部分:

x是模型的输,y是模型的输出,模型就是对输入转化为输出的计算。比如输入x可以是一张图片(如猫的图片),模型对图进计算处理,然后输出这张图片上对应的物品的类别(猫)。

我们可以把算法理理解成一个函数:y = f(x),这里面输⼊是x,输出是y,模型对应的是映射规则f。

对于⼀一个具体的问题,我们可以获取到⼤量的(x,y),人工智能算法就是从这些数据中学习规律,找到映射规则f。所以,人工智能算法学习规律就是确定x到y的映射规则f。

为了让大家能理解人工智能算法的学习过程,我们一起来看个简单的例例子:

下面是某个小区的房价和房屋面积的数据。


小区数据1

现在要利人工智能的算法去学习房屋面积和房屋价格的规律,也就是根据房屋的面积如何计算得到房屋的价格。模型的输入是房屋面积,模型的输出是房屋价格。我们可以建立这样的模型:y = wx + b,其中,w和b是未知的,调整w和b的值可以得到不同的映射规则。我们知道,y = wx + b 表示的是二维平面内的一根直线,调整w和b的值可以得到不同的的直线。

接下来我们一起看下如何去确定w和b的值。

首先,我们先不管w和b取什么值,我们直接把输入代入模型,可以得到模型的输出值,我们称模型的输出为预测值。数据如下表:


小区数据2

接着,我们只要调整w和b的值,让预测房价尽量量接近真实房价。

那我们怎么调整w和b呢?一个一个尝试不同的取值吗?

我们知道,不管是w还是b,都是有无限种可能取值的,遍历它们的所有可能取值显然是不现实的。

那么有没有方法可以指引我们去找到最优的w和b呢?答案是有的。

回忆一下,高中数学课程里面我们是不是做过这样一件事情:给定一个函数,求函数值的最小值以及此时自变量的值。

基于这样的思路路,我们做下面这样的操作:

人工智能算法函数
这里我们就得到了一个函数,函数的自变量是w和b。大家观察这个函数,j的值越小,是不是越接近?

这时候我们求j这个函数的值最小的时候对应的w和b的取值,是不是就得到了我们需要找的最优的w和b的值?

答案是肯定的,人工智能算法就是这样做的。

上面我们构造的函数,在人工智能算法里面叫损失函数,求损失函数的值最小时,可训练参数(w和b)的值的方法是梯度下降。关于损失函数和梯度下降的内容,我们后面再深入去讲解。

下面我们来总结下人工智能算法学习规律的思路:

1、把问题抽象成数学问题:确定输入是什么,输出是什么;

2、建立个模型:这个模型有很多未知的参数,参数取不不同的值,模型能变成不同的映射规则;

3、用大量的数据去训练模型:确定各个未知参数的值,这时候模型就确定下来了。

寻找最优未知参数的值的方法:

构建一个损失函数,损失函数满足以下条件:

1、损失函数是关于所有可训练参数的函数;

2、损失函数的函数值越小, 越接近

有了损失函数之后,寻找最优可训练参数的问题就转化成:

求损失函数最小值(极小值)时,可训练参数的取值 --> 通过梯度下降法可以实现。


推荐了解:python+人工智能课程