机器学习的常用算法

简介: 常用的机器学习算法简介,如果对机器学习感兴趣可以了解一下什么是机器学习。

机器学习的算法

        分为三大类:有监督学习、无监督学习、强化学习

有监督学习算法

线性回归算法 Linear Regression

        线性回归要处理的一类问题是:给定一组输入样本,和每个样本对应的目标值,需要在某一损失准则下,找到(学习到)目标值和输入值的函数关系,这样,当有一个新的样本到达时,可以预测其对应的目标值是多少。

        线性回归和线性分类很相似,但不同的是,线性回归的目标值是连续变量,线性分类的目标值是离散变量。

逻辑回归算法(Logistic Regression)

        逻辑回归是一种学习某个事件发生概率的算法。利用这个概率,可以对某个事件发生或不发生进行二元分类。所以,虽然算法的名字中包含 “回归” 二字,但其实是一种分类算法。

支持向量机算法 (Support Vector Machine,SVM)

        核方法的一个常见解释是 “将数据移动到另一个特征空间,然后进行线性回归”。

        假设有一个比训练数据更高维的空间,训练数据中的每一个点都对应着这个高维空间中的一个点。在这个高维空间中,训练数据对应的点是可以线性分离的,实际的训练数据是来自该高维空间的投影。一旦有了这样的空间模型,模型就可以在高维空间使用支持向量机来学习决策边界。最后,将高维空间的决策边界投影到由原始特征形成的向量空间上,得到决策边界。

        使用不同的核函数,得到的决策边界的形状也不同。但是使用核方法后,我们就无法清楚地知道支持向量机使用的是什么特征了。所以,核方法适合用于 相比特征的可解释性,更看重精度 的场景。

决策树算法 Decision Tree

        决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。
决策树方法最早产生于上世纪60年代,到70年代末。由J Ross Quinlan提出了ID3算法,此算法的目的在于减少树的深度。但是忽略了叶子数目的研究。C4.5算法在ID3算法的基础上进行了改进,对于预测变量的缺值处理、剪枝技术、派生规则等方面作了较大改进,既适合于分类问题,又适合于回归问题。

        决策树算法构造决策树来发现数据中蕴涵的分类规则.如何构造精度高、规模小的决策树是决策树算法的核心内容。决策树构造可以分两步进行。第一步,决策树的生成:由训练样本集生成决策树的过程。一般情况下,训练样本数据集是根据实际需要有历史的、有一定综合程度的,用于数据分析处理的数据集。第二步,决策树的剪枝:决策树的剪枝是对上一阶段生成的决策树进行检验、校正和修下的过程,主要是用新的样本数据集(称为测试数据集)中的数据校验决策树生成过程中产生的初步规则,将那些影响预衡准确性的分枝剪除。

随机森林算法(Random Forest)

        随机森林的目标是利用多个决策树模型,获得比单个决策树更高的预测精度。

        随机森林的多数表决就像找别人商量事情一样,不只听一个人的意见,而是在听取许多人的意见之后综合判断。机器学习也一样,通过创建多个模型,采取多数表决的方式,可以期待获得更为妥当的结果。

朴素贝叶斯算法(Naive Bayes)

        朴素贝叶斯是一个基于概率进行预测的算法,在实践中被用于分类问题。具体来说,就是计算数据为某个标签的概率,并将其分类为概率值最大的标签。朴素贝叶斯主要用于文本分类和垃圾邮件判定等自然语言处理中的分类问题。

        朴素贝叶斯是自然语言分类的基础算法,但是不适合预测天气预报中的降水概率那种预测值是概率本身的情况。朴素贝叶斯基于 “每个单词的概率可以独立计算” 的假设,就是为了使概率的计算方法尽量简单。

最近邻居/k-近邻算法 (K-Nearest Neighbors,KNN)

        KNN(K-Nearest Neighbor)算法是一种与众不同的机器学习算法,它只是机械地记住所有的数据。KNN 既可以用于分类,也可以用于回归。

        相较于其他算法要经历 “根据训练数据计算最佳参数” 的训练阶段和 “使用计算出的学习参数进行预测” 的预测阶段,KNN 在训练阶段不进行任何计算,直到进入预测阶段之后才进行具体的计算。

无监督学习算法

k-平均算法(K-Means)

        k-平均算法源于信号处理中的一种向量量化方法,现在则更多地作为一种聚类分析方法流行于数据挖掘领域。k-平均聚类的目的是:把n个点(可以是样本的一次观察或一个实例)划分到k个聚类中,使得每个点都属于离他最近的均值(此即聚类中心)对应的聚类,以之作为聚类的标准。k-平均聚类倾向于在可比较的空间范围内寻找聚类,期望-最大化技术却允许聚类有不同的形状。

降维算法(Dimensional Reduction)

        降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。直观地好处是维度降低了,便于计算和可视化,其更深层次的意义在于有效信息的提取综合及无用信息的摈弃。

        主成分分析(Principal Component Analysis, PCA),将原有众多具有一定相关性的指标重新组合成一组少量互相无关的综合指标。
Dimensional Reduction

强化学习算法

梯度提升算法 GBDT(Gradient Boosting Decision Tree)

        梯度提升算法是集成算法中的一种,它的最基本分类器为CART二分类回归树,集成方式为梯度提升。是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力较强的算法。近些年更因为被用于搜索排序的机器学习模型而引起大家关注。GBDT是Boosting家族中另一个重要的算法梯度提升树。

后记

确实好久没更了,由于忙于比赛近6个月没更新新的文章了,在此道歉!
机器学习的算法大致就这些用的比较经常了,如果感兴趣的话可以收藏一下!
觉得好的话可以帮忙推推谢谢啦!

相关文章
|
26天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
80 4
|
5天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
21 2
|
23天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
39 1
|
1月前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
85 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 算法
深入探索机器学习中的决策树算法
深入探索机器学习中的决策树算法
37 0
|
1月前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
36 0
|
2月前
|
机器学习/深度学习 算法 Java
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
机器学习、基础算法、python常见面试题必知必答系列大全:(面试问题持续更新)
|
2月前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
72 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
|
1月前
|
机器学习/深度学习 人工智能 算法
探索机器学习中的决策树算法
【10月更文挑战第29天】本文将深入浅出地介绍决策树算法,一种在机器学习中广泛使用的分类和回归方法。我们将从基础概念出发,逐步深入到算法的实际应用,最后通过一个代码示例来直观展示如何利用决策树解决实际问题。无论你是机器学习的初学者还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和指导。