人话人工智能(2):非线性模型和**函数

人工智能又叫AI,很多人经常把它和AV弄混,这是两个不同的概念。

AI英文全称是:Artificial Intelligence,翻译成中国话就是人工智能。它可以对人的思维过程进行模拟。

小岳岳捂住了嘴巴,我的天啊,这么神奇吗?

 人话人工智能(2):非线性模型和**函数

 

计算机的最底层是1010的逻辑,物质的最底层是原子核和电子组成。即便是很不可思议,但是确实1010组成了你看的电影,原子组成了你抱着啃的鸡腿,包括你也是由原子组成的并且你正在1010地思考。

所以,你需要试着让自己接受无法理解的事实。理解不了记着就好,吹牛逼的时候很有效果,因为别人听都听不懂,而你居然背下来了。

我会尽量把要讲的非线性模型说的好理解。

首先说,什么是线性模型?

线性模型就是一条线,就是一根黄瓜,一根香蕉,数学公式就是:

y = ax + b

这个公式我们初中都学过,就是坐标系上的一条直线。

 人话人工智能(2):非线性模型和**函数

当让AI识别数据的时候,如果两组数据,一条线就可以区分,那么AI就会算出这一条线。

 人话人工智能(2):非线性模型和**函数

线性的预测值应该是各个节点的加权和

 人话人工智能(2):非线性模型和**函数

公式是:

人话人工智能(2):非线性模型和**函数

以TensorFlow为例,如果求他的前向传播过程,应该是如下代码:

 人话人工智能(2):非线性模型和**函数

但是现实世界大多数问题是线性模型解决不了的。

比如下面这个,你画一条线来区分试试:

 人话人工智能(2):非线性模型和**函数

如果还采用线性的求法,那么累死AI,它也求不对,因为画在哪里都区分不了。

它可能会随便画一条线,它告诉你,我求出来了,你一看根本不对。

这种样本分布,我们就得采用非线性的模型了。

顾名思义,非线性,就是说,不是一条直线,是曲线或者多条直线。

这类函数我们初中学过好多,抛物线就是一种。

 人话人工智能(2):非线性模型和**函数

抛物线就是一个非线性的模型,数学公式是y=x^2

线性函数有一个特点,就是一个因素导致结果变化。

比如:桶的重量和注水的高度。加水越多,桶就越重。加水桶重,放水桶轻,它实在人。

非线性函数不同,它是多个因素导致结果变化。

比如:桶的重量和放入东西的高度。都是高一米,一个放入石头,另一个放入棉花,单纯高度决定不了结果了。这时候除了看高度还得看放啥东西,并非随着一个高,结果就高。这是非线性。

其实线性外面套一个线性,就是非线性。

数学上讲的通啊。

y1 = ax

y2 = bx

yboss = y1*y2 = abx^2

很多人工智能框架,听(gen)了(ben)我(bu)解(shi)释(de),纷纷修改框架,加了一种叫**函数的东西。

**函数,就是在原来线性运算的基础上,加一层**函数,变成各式各样的非线性模型。

TensorFlow框架里面有7种不同的非线性**函数,常用的有tf.nn.relu、tf.sigmoid和tf.tanh。

再回到线性模型那个例子,这时候我们要用非线性来处理,公式就会变成这样:

 人话人工智能(2):非线性模型和**函数

以TensorFlow为例,代码层更简单

 人话人工智能(2):非线性模型和**函数

有了**函数再来实现非线性模型,也就意味着AI不止会画直线了,这时我们可以试验几个高级样本。

 人话人工智能(2):非线性模型和**函数

人话人工智能(2):非线性模型和**函数

 人话人工智能(2):非线性模型和**函数

成功了。

这就是非线性模型和**函数。

搞得我想找初中的数学课本来看看,因为里面还提到了sin、tan、方差、求导数等等。