首页 > 编程知识 正文

人工智能十大算法及应用,人工智能算法代码

时间:2023-05-06 00:28:35 阅读:52905 作者:3730

1 .决策树根据几个feature进行分类,每个节点问一个问题,根据判断将数据分为两类,然后继续提问。 这些问题可以基于现有数据进行学习,在投入新数据时,可以根据该树的问题将数据分割为合适的叶。

2 .随机森林视频

从源数据中随机选择数据,组成几个子集

s矩阵是源数据,有1-N条数据,A B C是feature,最后一列c是类别

从s随机生成m个子矩阵

这m个子集得到m个决策树

向这m个树输入新数据,得到m个分类结果,计数预测哪个类的数量最多,将该类作为最后的预测结果

3 .物流回归视频

如果预测目标类似概率,则值域必须满足0以上、1以下。 此时,无法用简单的线性模型进行。 为什么这么说呢,是因为定义域在某个范围以外的情况下,值域也超过了规定区间。

因此,需要这种形状的模型

那么你是怎么得到这样的模型的呢?

该模型必须满足两个条件0以上、1以下

0以上的模型可以选择绝对值、平方值。 如果在这里使用指数函数,它一定会大于0

1以下是除法,分子是自己,分母是自己加1,一定会小于1

进一步变形后,将得到逻辑注册模型

源数据的计算现在可以得到对应的系数

最后得到logistic的图形

4. SVM视频

支持向量机

要划分两类得到一个超平面,最佳超平面最大化到两类margin,margin是超平面及其最近的距离。 如下图所示,Z2Z1,所以绿色的超平面比较好

将该超平面表示为一个线性方程,线上的一类都在1以上,另一类在-1以下

点到面的距离根据图中的公式计算

因此,得到total margin的公式如下,目标是将该margin最大化,需要将分母最小化,成为优化问题

列举板栗,列举三点,找到最佳超平面,定义了weight vector=(2,3 )-) (1,1 )

得到的weight vector为a,2a ),将2个点代入方程式,然后,2,3 )代入其他值=1,1 )代入其他值=-1,求出a和截距w0的值,进而得到超平面的公式。

求出a后,代入a,2a得到的是支持向量

将a和w0代入超平面的方程式为support vector machine

5 .朴素贝叶斯视频

列举在NLP中的应用

给你一个字母,回到感情的分类。 这个文字的态度是积极的还是消极的

为了解决这个问题,只能看到其中的几个单词

此文本仅由几个单词及其计数表示

原始的问题,给你一句话,那属于什么种类?

通过bayes rules成为了比较容易求出的问题

问题是这个词在这个班出现的概率是多少? 当然,别忘了公式中的其他两个概率

板栗:单词love为positive时出现的概率为0.1,negative时出现的概率为0.001

6. K最近邻的视频

k nearest neighbours

给定新数据时,与其最接近的k个点中哪个类别多,该数据属于哪个类别

栗子:要区分猫和狗,根据claws和sound这两个feature判断,圆和三角形是已知的分类,那么这个star代表什么种类呢

k=3时,这3条线链接的点最近的3个点,圆很多,所以这个明星属于猫

7. K平均视频

我想将一组数据分为粉红色数值大、黄色数值小的3种

最开心的是初始化。 选择了其中最简单的3、2、1作为各种初始值

在剩下的数据中,分别根据3个初始值计算距离,分类为有与其最接近的初始值的类别

分类完成后,计算各分类的平均值,作为新一轮的中心点

几个回合后,如果分组不再变化,则可以停止

8. Adaboost视频

adaboost是bosting的方法之一

bosting是指,综合考虑几种分类效果较低的分类器,可以得到效果较好的分类器。

下图中,左右两个决策树,从单体来看效果不大,但是使用同样的数量

据投入进去,把两个结果加起来考虑,就会增加可信度

adaboost 的栗子,手写识别中,在画板上可以抓取到很多 features,例如 始点的方向,始点和终点的距离等等

training 的时候,会得到每个 feature 的 weight,例如 2 和 3 的开头部分很像,这个 feature 对分类起到的作用很小,它的权重也就会较小

而这个 alpha 角 就具有很强的识别性,这个 feature 的权重就会较大,最后的预测结果是综合考虑这些 feature 的结果

9. 神经网络

视频

Neural Networks 适合一个input可能落入至少两个类别里

NN 由若干层神经元,和它们之间的联系组成
第一层是 input 层,最后一层是 output 层

在 hidden 层 和 output 层都有自己的 classifier

input 输入到网络中,被激活,计算的分数被传递到下一层,激活后面的神经层,最后output 层的节点上的分数代表属于各类的分数,下图例子得到分类结果为 class 1

同样的 input 被传输到不同的节点上,之所以会得到不同的结果是因为各自节点有不同的weights 和 bias

这也就是 forward propagation

10. 马尔可夫

视频

Markov Chains 由 state 和 transitions 组成

栗子,根据这一句话 ‘the quick brown fox jumps over the lazy dog’,要得到 markov chain

步骤,先给每一个单词设定成一个状态,然后计算状态间转换的概率

这是一句话计算出来的概率,优秀的小伙用大量文本去做统计的时候,会得到更大的状态转移矩阵,例如 the 后面可以连接的单词,及相应的概率

生活中,键盘输入法的备选结果也是一样的原理,模型会更高级

原文出自:https://www.imooc.com/article/32691

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。