AI主要的作用就是利用计算机模拟各种生物智能来解决问题,生物智能的多样性造就了计算机模拟智能的多样性,但是不管模拟的智能是什么,整个处理的过程都是相似的,都需要把模拟的智能通过数学建模给抽象出来,找到这些数学模型的输入输出是什么,然后用计算机程序把整个模型的计算过程给实现,前面的建模抽象(模型)是从数学理论的角度对整个智能进行探究,而后面的计算机程序实现(算法)则是从计算机科学应用的角度对智能进行应用,这两个过程都是AI不可或缺的过程,也通常都是同时存在的,因此在AI领域经常会听到这两个词(模型和算法),其实描述的是同一个问题的两个方面,只不过看的角度和解决问题的点有所不同而已。
拿神经网络做个例子,其实神经网络主要的目的就是让计算机模拟人的智能进行决策,但是计算机执行的都是一个一个的二进制计算,因此必须把人的神经网络通过某种方式转换成这种二进制计算,这种方式就是数据建模和算法实现,首先把人的神经网络结构用数学模型的方式给呈现出来(神经网络里面输入层、隐藏层和输出层),而神经网络内部的信息传导以及每一个层级里面的具体实现则通过算法转换成可编程的步骤在计算机程序里面实现。神经网络从理论到应用过程
上面说的都是最理想的状况,但是有时候我们的数学模型里面的很多参数可能都不是确定的,需要重复的试验来得到能解决某个应用的最优的值,这个时候就需要利用算法来反推模型参数,还是上面的神经网络,具体应该分多少层,每一个层应该有多少个节点,都是不确定的,因此需要先设定一些情况,用算法实现计算出来每一种情况最后得出的值,再通过对比择优选择一个相对理想的情况,把理想的情况带入到模型里面更新模型参数。
通常来说人工智能里面常出现的反推算法主要有:Linear Regression(线性回归)
Logistics Regression(逻辑回归)
Decision Tree(决策数)
Neural Network(神经网络)
K-Nearest Neighbors(K近邻)
K-Means(K-平均)
而他们要用来优化的模型主要是:Linear Regression Model(找到变量之间的线性关系)Logistic Model(找到变量之间的逻辑关系)
Decision Tree Model(找到具体的决策规则)
Neural Network Model(找到具体的神经网络结构)
KNN Model(找到最优的K)
K-Means Model(找到最优的K)