人工智能的常用十种算法(1).pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
⼈⼯智能的常⽤⼗种算法 根据⼀些 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 regression 模型 1. 决策树 决策树 通过源数据计算可以得到相应的系数了 最后得到 logistic 的图形 4. SVM support vector machine 要将两类分开,想要得到⼀个超平⾯,最优的超平⾯是到两类的 margin 达到最⼤,margin就是超平⾯与离它最近⼀点的距离,如下 图,Z2>Z1,所以绿⾊的超平⾯⽐较好 将这个超平⾯表⽰成⼀个线性⽅程,在线上⽅的⼀类,都⼤于等于1,另⼀类⼩于等于-1 点到⾯的距离根据图中的公式计算 所以得到 total margin 的表达式如下,⽬标是最⼤化这个 margin,就需要最⼩化分母,于是变成了⼀个优化问题 举个栗⼦,三个点,找到最优的超平⾯,定义了 weight vector=(2,3)-(1,1) 得到 weight vector 为(a,2a),将两个点代⼊⽅程,代⼊(2,3)另其值=1,代⼊(1,1)另其值=-1,求解出 a 和 截矩 w0 的 值,进⽽得到超平⾯的表达式。 a 求出来后,代⼊(a,2a)得到的就是 support vector a 和 w0 代⼊超平⾯的⽅程就是 support vector machine 5. 朴素贝叶斯 朴素贝叶斯 举个在 NLP 的应⽤ 给⼀段⽂字,返回情感分类,这段⽂字的态度是positive,还是negative 为了解决这个问题,可以只看其中的⼀些单词 这段⽂字,将仅由⼀些单词和它们的计数代表 原始问题是:给你⼀句话,它属于哪⼀类 通过 bayes rules 变成⼀个⽐较简单容易求得的问题 问题变成,这⼀类中这句话出现的概率是多少,当然,别忘了公式⾥的另外两个概率 栗⼦:单词 love 在 positive 的情况下出现的概率是 0.1,在 negative 的情况下出现的概率是 0.001 6. K最近邻 最近邻 k nearest neighbours 给⼀个新的数据时,离它最近的 k 个点中,哪个类别多,这个数据就属于哪⼀类 栗⼦:要区分 猫 和 狗,通过 claws 和 sound 两个feature来判断的话,圆形和三⾓形是已知分类的了,那么这个 star 代表的是哪⼀类呢 k=3时,这三条线链接的点就是最近的三个点,那么圆形多⼀些,所以这个star就是属于猫 7. K均值 均值 想要将⼀组数据,分为三类,粉⾊数值⼤,黄⾊数值⼩ 最开⼼先初始化,这⾥⾯选了最简单的 3,2,1 作为各类的初始值 剩下的数据⾥,每个都与三个初始值计算距离,然后归类到离它最近的初始值所在类别 分好类后,计算每⼀类的平均值,作为新⼀轮的中⼼点 ⼏轮之后,分组不再变化了,就可以停⽌了 8. Adaboost adaboost 是 bosting 的⽅法之⼀ bosting就是把若⼲个分类效果并不好的分类器综合起来考虑,会得到⼀个效果⽐较好的分类器。 下图,左右两个决策树,单个看是效果不怎么好的,但是把同样的数据投⼊进去,把两个结果加起来考虑,就会增加可信度 adaboost 的栗⼦,⼿写识别中,在画板上可以抓取到很多 features,例如 始点的⽅向,始点和终点的距离等等 training 的时候,会得到每个 feature 的 weight,例如 2 和 3 的开头部分很像,这个 feature 对分类起到的作⽤很 【人工智能的常用十种算法】 1. 决策树(Decision Tree) 决策树是一种基于特征进行分类的算法,通过一系列问题(节点)来分割数据,直到达到叶子节点,形成一个分类规则。问题根据已有数据学习得出,新数据根据树上的规则被分配到相应的类别。决策树的目标是最大化数据的纯度,如使用信息增益或基尼指数等指标。 2. 随机森林(Random Forest) 随机森林是由多个决策树组成的集成学习方法。它通过随机抽取子集(Bootstrap采样)创建多个决策树,并对新数据进行投票,选择预测类别出现次数最多的类别作为最终预测。这种方法提高了模型的稳定性和准确性。 3. 逻辑回归(Logistic Regression) 逻辑回归用于处理二分类问题,目标变量是连续但受限于[0,1]区间,如概率预测。线性模型无法直接满足这一要求,因此采用Sigmoid函数(logistic函数)将线性模型的输出映射到[0,1]区间,满足概率要求。 4. 支持向量机(Support Vector Machine, SVM) SVM是一种寻找最优超平面的分类算法,该超平面与两类样本点的距离(margin)最大。通过解决优化问题找到支持向量,即离超平面最近的样本点,以构建决策边界。对于非线性可分情况,通过核函数(如高斯核)实现非线性变换。 5. 朴素贝叶斯(Naive Bayes) 朴素贝叶斯算法基于贝叶斯定理,假设特征之间相互独立。在文本分类中,计算每个类别的概率以及给定特征条件下类别的概率,用贝叶斯公式组合这些概率进行分类。尽管“朴素”假设在现实中往往不成立,但在许多实际应用中仍表现良好。 6. K最近邻(K-Nearest Neighbors, KNN) KNN是一种基于实例的学习,新数据点被分类为其K个最近邻居中出现最多类别的类别。距离计算通常使用欧氏距离、曼哈顿距离或余弦相似度等方法。 7. K均值(K-Means) K均值是聚类算法,通过迭代将数据点分配到最近的K个中心(初始随机选择),然后更新中心为该类数据点的均值,直至聚类不再变化。适用于发现数据的内在结构或对数据进行预处理。 8. AdaBoost(Adaptive Boosting) AdaBoost是Boosting框架的一种,通过调整弱分类器的权重,使得分类效果差的分类器在后续迭代中被更多关注,从而组合多个弱分类器形成一个强分类器。在每次迭代中,错误分类的数据点权重会被提高,使得后续分类器更专注于纠正这些错误。 以上算法是人工智能领域中最基础且常用的工具,广泛应用于各种场景,如图像识别、自然语言处理、推荐系统等。理解并熟练掌握这些算法,对于理解和应用人工智能技术至关重要。如果希望深入学习,可以参考专业的教程,如文中提到的床长人工智能教程。
- lz_scer2024-03-21感谢资源主的分享,很值得参考学习,资源价值较高,支持!
- 粉丝: 195
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于 Markdown 格式的多功能转换服务,支持将 PowerPoint、Word、Excel、图像、音频和 HTML 等文件转化为 Markdown 格式
- java的概要介绍与分析
- MoonBit 编译器.MoonBit - 文档 - 概览 - 标准库.MoonBit 是一个用户友好,构建快,产出质量高的编程语言
- 解决微电网调度中的两阶段鲁棒优化问题,考虑了风电出力和负荷功率的不确定性,通过迭代求解主问题和子问题,最终得到最优的调度方案,并绘制了风电出力、负荷功率、购售电功率、充放电功率和储能调度结果等相关图表
- wireshark免安装版本 WiresharkPortable64-4.4.2
- springboot-基于springboot的房屋租赁管理系统
- ssm员工工作日志管理系统-lw.zip
- 人脸疲劳图像目标检测数据【已标注,约10,000张数据,YOLO 标注格式】
- 123456789.py
- RouterHandler