TensorFlow机器学习常用算法解析和入门

决策树是一种树形结构,为人们提供决策依据,决策树可以用来回答yes和no问题,它通过树形结构将各种情况组合都表示出来,每个分支表示一次选择(选择yes还是no),直到所有选择都进行完毕,最终给出正确答案。

决策树(decisiontree)是一个树结构(可以是二叉树或非二叉树)。在实际构造决策树时,通常要进行剪枝,这时为了处理由于数据中的噪声和离群点导致的过分拟合问题。剪枝有两种:

先剪枝——在构造过程中,当某个节点满足剪枝条件,则直接停止此分支的构造。

后剪枝——先构造完成完整的决策树,再通过某些条件遍历树进行剪枝。

2)朴素贝叶斯分类器(NaiveBayesianModel,NBM)

朴素贝叶斯分类器基于贝叶斯定理及其假设(即特征之间是独立的,是不相互影响的),主要用来解决分类和回归问题。

P(A|B)是后验概率,P(B|A)是似然,P(A)为先验概率,P(B)为我们要预测的值。

学过概率的同学一定都知道贝叶斯定理,这个在250多年前发明的算法,在信息领域内有着无与伦比的地位。贝叶斯分类是一系列分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。朴素贝叶斯算法(NaiveBayesian)是其中应用最为广泛的分类算法之一。朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。

通过以上定理和“朴素”的假定,我们知道:

P(Category|Document)=P(Document|Category)*P(Category)/P(Document)

举个例子,给一段文字,返回情感分类,这段文字的态度是positive,还是negative。

为了解决这个问题,可以只看其中的一些单词。

这段文字,将仅由一些单词和它们的计数代表。

原始问题是:给你一句话,它属于哪一类?

通过bayesrules变成一个比较简单容易求得的问题。

问题变成,这一类中这句话出现的概率是多少,当然,别忘了公式里的另外两个概率。

例子:单词love在positive的情况下出现的概率是0.1,在negative的情况下出现的概率是0.001。

后面将给大家详细讲解朴素贝叶斯分类算法。

3)最小二乘法(Leastsquares)

如果你对统计学有所了解,那么你必定听说过线性回归。最小均方就是用来求线性回归的。如下图所示,平面内会有一系列点,然后我们求取一条线,使得这条线尽可能拟合这些点分布,这就是线性回归。这条线有多种找法,最小二乘法就是其中一种。最小二乘法其原理如下,找到一条线使得平面内的所有点到这条线的欧式距离和最小。这条线就是我们要求取得线。

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。

4)逻辑回归(LogisticRegression)

逻辑回归模型是一个二分类模型,它选取不同的特征与权重来对样本进行概率分类,用一个log函数计算样本属于某一类的概率。即一个样本会有一定的概率属于一个类,会有一定的概率属于另一类,概率大的类即为样本所属类。用于估计某种事物的可能性。

5)支持向量机(SVM)

支持向量机(supportvectormachine)是一个二分类算法,它可以在N维空间找到一个(N-1)维的超平面,这个超平面可以将这些点分为两类。也就是说,平面内如果存在线性可分的两类点,SVM可以找到一条最优的直线将这些点分开。SVM应用范围很广。

要将两类分开,想要得到一个超平面,最优的超平面是到两类的margin达到最大,margin就是超平面与离它最近一点的距离,如下图,Z2>Z1,所以绿色的超平面比较好。

6)K最近邻算法(KNN,K-NearestNeighbor)

邻近算法,或者说K最近邻(KNN,K-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。KNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。KNN方法在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。

主要应用领域是对未知事物的识别,即判断未知事物属于哪一类,判断思想是,基于欧几里得定理,判断未知事物的特征和哪一类已知事物的的特征最接近。如上图,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。由此也说明了KNN算法的结果很大程度取决于K的选择。

7)集成学习(EnsembleLearning)

集成学习就是将很多分类器集成在一起,每个分类器有不同的权重,将这些分类器的分类结果合并在一起,作为最终的分类结果。最初集成方法为贝叶斯决策。

集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。这是一类非常强大的算法,同时也非常流行。常见的算法包括:Boosting,BootstrappedAggregation(Bagging),AdaBoost,堆叠泛化(StackedGeneralization,Blending),梯度推进机(GradientBoostingMachine,GBM),随机森林(RandomForest)。

那么集成方法是怎样工作的,为什么他们会优于单个的模型?

8)聚类算法

聚类算法就是将一堆数据进行处理,根据它们的相似性对数据进行聚类。

聚类,就像回归一样,有时候人们描述的是一类问题,有时候描述的是一类算法。聚类算法通常按照中心点或者分层的方式对输入数据进行归并。所以的聚类算法都试图找到数据的内在结构,以便按照最大的共同点将数据进行归类。常见的聚类算法包括k-Means算法以及期望最大化算法(ExpectationMaximization,EM)。

聚类算法有很多种,具体如下:中心聚类、关联聚类、密度聚类、概率聚类、降维、神经网络/深度学习。

9)K-均值算法(K-Means)

K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法以欧式距离作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。算法采用误差平方和准则函数作为聚类准则函数。K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。

通常,人们根据样本间的某种距离或者相似性来定义聚类,即把相似的(或距离近的)样本聚为同一类,而把不相似的(或距离远的)样本归在其他类。

10)主成分分析(PrincipalComponentAnalysis,PCA)

11)SVD矩阵分解(SingularValueDecomposition)

也叫奇异值分解(SingularValueDecomposition),是线性代数中一种重要的矩阵分解,是矩阵分析中正规矩阵酉对角化的推广。在信号处理、统计学等领域有重要应用。SVD矩阵是一个复杂的实复负数矩阵,给定一个m行、n列的矩阵M,那么M矩阵可以分解为M=UΣV。U和V是酉矩阵,Σ为对角阵。

PCA实际上就是一个简化版本的SVD分解。在计算机视觉领域,第一个脸部识别算法就是基于PCA与SVD的,用特征对脸部进行特征表示,然后降维、最后进行面部匹配。尽管现在面部识别方法复杂,但是基本原理还是类似的。

12)独立成分分析(ICA)

独立成分分析(IndependentComponentAnalysis,ICA)是一门统计技术,用于发现存在于随机变量下的隐性因素。ICA为给观测数据定义了一个生成模型。在这个模型中,其认为数据变量是由隐性变量,经一个混合系统线性混合而成,这个混合系统未知。并且假设潜在因素属于非高斯分布、并且相互独立,称之为可观测数据的独立成分。

后面讲给大家一一详细单独讲解这些常用算法。

13)Q-Learning算法

Q-learning要解决的是这样的问题:一个能感知环境的自治agent,怎样通过学习选择能达到其目标的最优动作。

强化学习目的是构造一个控制策略,使得Agent行为性能达到最大。Agent从复杂的环境中感知信息,对信息进行处理。Agent通过学习改进自身的性能并选择行为,从而产生群体行为的选择,个体行为选择和群体行为选择使得Agent作出决策选择某一动作,进而影响环境。增强学习是指从动物学习、随机逼近和优化控制等理论发展而来,是一种无导师在线学习技术,从环境状态到动作映射学习,使得Agent根据最大奖励值采取最优的策略;Agent感知环境中的状态信息,搜索策略(哪种策略可以产生最有效的学习)选择最优的动作,从而引起状态的改变并得到一个延迟回报值,更新评估函数,完成一次学习过程后,进入下一轮的学习训练,重复循环迭代,直到满足整个学习的条件,终止学习。

Q-Learning是一种无模型的强化学习技术。具体来说,可以使用Q学习来为任何给定的(有限的)马尔可夫决策过程(MDP)找到最优的动作选择策略。它通过学习一个动作价值函数,最终给出在给定状态下采取给定动作的预期效用,然后遵循最优策略。一个策略是代理在选择动作后遵循的规则。当这种动作值函数被学习时,可以通过简单地选择每个状态中具有最高值的动作来构建最优策略。Q-learning的优点之一是能够比较可用操作的预期效用,而不需要环境模型。此外,Q学习可以处理随机过渡和奖励的问题,而不需要任何适应。已经证明,对于任何有限的MDP,Q学习最终找到一个最优策略,从总体奖励的预期值返回到从当前状态开始的所有连续步骤是最大可实现的意义。

THE END
1.机器学习:算法分类自然语言处理属于机器学习的哪类算法机器学习算法可以根据不同的标准进行分类,主要包括按学习方式、任务类型和应用领域等。以下是一些常见的分类方式: 1. 按学习方式分类 1.1 监督学习 (Supervised Learning) 定义:使用已标记的数据进行训练,每个输入数据都有对应的输出标签。模型学习输入与输出之间的映射关系。 https://blog.csdn.net/Wei_sx/article/details/144310042
2.各大公司广泛使用的在线学习算法FTRL详解腾讯云开发者社区各大公司广泛使用的在线学习算法FTRL详解 现在做在线学习和CTR常常会用到逻辑回归( Logistic Regression),而传统的批量(batch)算法无法有效地处理超大规模的数据集和在线数据流,google先后三年时间(2010年-2013年)从理论研究到实际工程化实现的FTRL(Follow-the-regularized-Leader)算法,在处理诸如逻辑回归之类的带非光滑https://cloud.tencent.com/developer/article/1082320
3.Mahout的机器学习算法:一次性学习与在线学习更新参数值:$x = x - \alpha \nabla f(x)$,其中$\alpha$是学习率。 重复步骤2和步骤3,直到找到最佳的参数值。 3.2.2 支持向量机(Support Vector Machine,SVM) 支持向量机是一种在线学习算法,它用于分类和回归问题。给定一个包含多个特征的数据集,支持向量机的目标是找到一个最佳的分类边界,使得数据点被正https://blog.51cto.com/universsky/8994924
4.基于数据的ADP离线值迭代算法和在线Q学习算法研究针对上述存在的问题,结合自适应动态规划离在线实现的优缺点,本文提出一种先离线后在线的自适应优化控制方法,即:在被控对象未知的情况下,采用基于数据自适应动态规划离线值迭代算法首先对系统进行离线优化控制,再使用在线Q学习策略迭代算法对离线优化控制进行在线改善。这种先离线后在线的基于数据的自适应优化控制方法,可以https://cdmd.cnki.com.cn/Article/CDMD-10593-1012496385.htm
5.百度深度学习算法工程师招聘(工资待遇要求)百度在线网络技术(北京说明:数据取决于当年在线职位薪酬样本,并不能完全代表企业内部真实情况。仅供参考。 招聘学历要求:硕士最多 15.4%本科53.8%硕士30.8%不限 百度 深度学习算法工程师 需要什么学历? 硕士占比最多,占53.8%,不限占30.8%,本科占15.4% 按学历统计 本科¥40.0K https://www.jobui.com/company/11712594/salary/j/shenduxuexisuanfagongchengshi/
6.算法服务平台算法模型服务平台是一个面向企业用户的数字化服务平台,旨在为用户提供高效、先进的算法模型。它以数据为核心,利用机器学习、深度学习等前沿技术,为用户提供行业定制化的算法模型解决方案。 应用场景 用户情感分析 使用情感分析模型,对文本进行情感分析,用于市场调研,客户服务和社交媒体监测。 https://wakedata.com/wakeAI.html
7.分布式推断与在线学习的统计理论与算法”项目启动会暨实施方案论证会2023年5月6日,国家重点研发计划“大数据重采样、分布式推断与在线学习的统计理论与算法”项目启动会暨实施方案论证会在云南大学召开。西安交通大学徐宗本院士、徐晨教授,科技部高技术研究发展中心处长车子璠、主管张争珍,云南大学党委常委、副校长吴涧,中国科学院、北京http://www.news.ynu.edu.cn/info/1103/28752.htm
8.七月在线七月在线创始人,七月大模型与机器人技术总负责人 北理工校外导师,微软AI MVP,Github上2万余star,CSDN 2000万PV博客『结构之法 算法之道』博主,去过近百所985/211高校分享算法,亦是华为云等数十个大会的演讲嘉宾。2015年创办七月在线,并于2018年获得好未来千万投资,到2022年平台上聚集了350+的大厂专家讲师团队https://www.julyedu.com/
9.科学网—[转载]强化学习在资源优化领域的应用基于这种行业趋势,本文针对强化学习算法在资源优化领域的应用展开调研,帮助读者了解该领域最新的进展,学习如何利用数据驱动的方式解决资源优化问题。鉴于资源优化问题场景众多、设定繁杂,划分出3类应用广泛的资源优化问题,即资源平衡问题、资源分配问题、装箱问题,集中进行调研。在每个领域阐述问题的特性,并根据具体的问题特性https://blog.sciencenet.cn/blog-3472670-1312677.html
10.强化学习算法详解:从理论到实践的完整指南通过本指南,我们深入了解了强化学习算法的理论和应用,从Q-learning、DQN到Policy Gradient、Actor-Critic,每种算法都有其特定的优势和适用场景。希望本指南对各行各业的程序员朋友有所帮助,能够在实践中运用强化学习算法解决真实世界的问题。https://www.jianshu.com/p/f1948a5d95cc
11.机器学习中在线学习批量学习迁移学习主动学习的区别电子主动学习(active learning),指的是这样一种学习方法:有的时候,有类标的数据比较稀少而没有类标的数据是相当丰富的,但是对数据进行人工标注又非常昂贵,这时候,学习算法可以主动地提出一些标注请求,将一些经过筛选的数据提交给专家进行标注。这个筛选过程也就是主动学习主要研究的地方了,怎么样筛选数据才能使得请求标注的次http://eetrend.com/node/100016949
12.cubecube studio开源云原生一站式机器学习/深度学习AI平台,支持sso登录,多租户/多项目组,数据资产对接,notebook在线开发,拖拉拽任务流pipeline编排,多机多卡分布式算法训练,超参搜索,推理服务VGPU,多集群调度,边缘计算,serverless,标注平台,自动化标注,数据集管理,大模型一键微调,llmops,私有知识库,AI应用商店,支持模型一键https://gitee.com/data-infra/cube-studio
13.范慧杰5) 机器人在线学习和场景感知研究 经费来源:国家自然科学基金; 2014-2017 6) 基于稀疏表达和字典选择的一致异常行为算法研究 经费来源:国家自然科学基金; 2012-2014 7) 基于水平集理论PLIF火焰前锋与特征提取算法研究 经费来源:国家自然科学基金; 2009-2011 http://www.sia.cas.cn/vision/kytd/yjry/202307/t20230726_6834850.html
14.数据挖掘:理论与算法清华大学最有趣的理论+最有用的算法=不得不学的数据科学。 播放00:00:00/00:00:0000:00:00全屏80%1.00X网络异常标清设置 开课时间: 2021-07-28 教学时长 12周 学习投入 21小时 详细介绍 本课程完整覆盖数据挖掘领域的各项核心技术,包括数据预处理、分类、聚类、回归、关联、推荐、集成学习、进化计算等。强调在知识https://www.xuetangx.com/courses/course-v1:TsinghuaX+80240372X+sp/about
15.在线网课学习课堂《神经网络理论及应用(北工商)》单元测试考核第4题 判断题 (1分) SOM网络学习过程中同一时刻需要调节整个优胜领域内节点的权值,而竞争学习神经网络学习过程中同一时刻只能调节获胜节点的权值 第5题 判断题 (1分) SOM网络通过学习在输出层能够形成反映样本模式类分布情况的有序特征图。 第6题 单选题 (1分) SOM网络的学习算法和“胜者为王”之间的最主要的https://max.book118.com/html/2022/0429/8132040142004075.shtm
16.推荐几个算法可视化网站,从此轻松学算法!大家好,我是大彬~ 很多初学者在学习数据结构与算法的时候,都会觉得很难,很大一部分是因为数据结构与算法本身比较抽象,不好理解。对于这一点,可以通过一些可视化动画来帮助理解。 下面大彬推荐几个学习数据结构和算法的可视化工具。 Data Structure Visualizations 这是一个在线数据可视化工具,可以手动创建各种数https://m.nowcoder.com/feed/main/detail/6ecdab56f00b44bfacf3cb854929059e
17.力扣(LeetCode)全球极客挚爱的技术成长平台海量技术面试题库,拥有算法、数据结构、系统设计等 1000+题目,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode-cn.com/
18.中国大学MOOC中国大学MOOC(慕课) 是爱课程网携手网易云课堂打造的在线学习平台,每一个有提升愿望的人,都可以在这里学习中国优质的大学课程,学完还能获得认证证书。中国大学MOOC是国内优质的中文MOOC学习平台,拥有众多985高校的大学课程,与名师零距离。http://icourse163.org/
19.吴师兄学算法五分钟学算法吴师兄学算法(www.cxyxiaowu.com)提供许多数据结构与算法学习的基础知识, 涵盖 LeetCode 题解、剑指 Offer 题解、数据结构等内容。https://www.cxyxiaowu.com/
20.超详细算法岗的学习路线大总结!机器学习 or 深度学习基础 论文or 项目介绍 其他问题 & 向面试官提问 本文将从以上四点进行展开。 一、数据结构&算法题 随着算法岗越来越卷,Coding几乎成了面试必考的一项,而且在面评中的权重也越来越高,根据个人面试经验,如果这一环节没有很顺利得完成的话,几乎必挂,尤其对于非科班转行的同学,需要特别重视。 https://leetcode.cn/circle/discuss/SX3aa6/