机器学习算法有哪些

你应该使用哪种机器学习算法?这在很大程度上依赖于可用数据的性质和数量以及每一个特定用例中你的训练目标。不要使用最复杂的算法,除非其结果值得付出昂贵的开销和资源。这里给出了一些最常见的算法,按使用简单程度排序。1. 决策树(Decision Tree):在进行逐步应答过程中,典型的决策树分析会使用分层变量或决策节点,例如,可将一个给定用户分类成信用可靠或不可靠。

优点:擅长对人、地点、事物的一系列不同特征、品质、特性进行评估场景举例:基于规则的信用评估、赛马结果预测2. 支持向量机(Support Vector Machine):基于超平面(hyperplane),支持向量机可以对数据群进行分类。优点:支持向量机擅长在变量 X 与其它变量之间进行二元分类操作,无论其关系是否是线性的场景举例:新闻分类、手写识别。

3. 回归(Regression):回归可以勾画出因变量与一个或多个因变量之间的状态关系。在这个例子中,将垃圾邮件和非垃圾邮件进行了区分。优点:回归可用于识别变量之间的连续关系,即便这个关系不是非常明显场景举例:路面交通流量分析、邮件过滤4. 朴素贝叶斯分类(Naive Bayes Classification):朴素贝叶斯分类器用于计算可能条件的分支概率。

每个独立的特征都是「朴素」或条件独立的,因此它们不会影响别的对象。例如,在一个装有共 5 个黄色和红色小球的罐子里,连续拿到两个黄色小球的概率是多少?从图中最上方分支可见,前后抓取两个黄色小球的概率为 1/10。朴素贝叶斯分类器可以计算多个特征的联合条件概率。优点:对于在小数据集上有显著特征的相关对象,朴素贝叶斯方法可对其进行快速分类场景举例:情感分析、消费者分类5. 隐马尔可夫模型(Hidden Markov model):显马尔可夫过程是完全确定性的——一个给定的状态经常会伴随另一个状态。

交通信号灯就是一个例子。相反,隐马尔可夫模型通过分析可见数据来计算隐藏状态的发生。随后,借助隐藏状态分析,隐马尔可夫模型可以估计可能的未来观察模式。在本例中,高或低气压的概率(这是隐藏状态)可用于预测晴天、雨天、多云天的概率。优点:容许数据的变化性,适用于识别(recognition)和预测操作场景举例:面部表情分析、气象预测6. 随机森林(Random forest):随机森林算法通过使用多个带有随机选取的数据子集的树(tree)改善了决策树的精确性。

本例在基因表达层面上考察了大量与乳腺癌复发相关的基因,并计算出复发风险。优点:随机森林方法被证明对大规模数据集和存在大量且有时不相关特征的项(item)来说很有用场景举例:用户流失分析、风险评估7. 循环神经网络(Recurrent neural network):在任意神经网络中,每个神经元都通过 1 个或多个隐藏层来将很多输入转换成单个输出。

循环神经网络(RNN)会将值进一步逐层传递,让逐层学习成为可能。换句话说,RNN 存在某种形式的记忆,允许先前的输出去影响后面的输入。优点:循环神经网络在存在大量有序信息时具有预测能力场景举例:图像分类与字幕添加、政治情感分析8. 长短期记忆(Long short-term memory,LSTM)与门控循环单元神经网络(gated recurrent unit nerual network):早期的 RNN 形式是会存在损耗的。

尽管这些早期循环神经网络只允许留存少量的早期信息,新近的长短期记忆(LSTM)与门控循环单元(GRU)神经网络都有长期与短期的记忆。换句话说,这些新近的 RNN 拥有更好的控制记忆的能力,允许保留早先的值或是当有必要处理很多系列步骤时重置这些值,这避免了「梯度衰减」或逐层传递的值的最终 degradation。

LSTM 与 GRU 网络使得我们可以使用被称为「门(gate)」的记忆模块或结构来控制记忆,这种门可以在合适的时候传递或重置值。优点:长短期记忆和门控循环单元神经网络具备与其它循环神经网络一样的优点,但因为它们有更好的记忆能力,所以更常被使用场景举例:自然语言处理、翻译9. 卷积神经网络(convolutional neural network):卷积是指来自后续层的权重的融合,可用于标记输出层。

世界上最聪明的机器学习算法是什么?

首先,先理解人工智能、机器学习、深度学习三者的关系人工智能是机器学习的首要范畴。机器学习是深度学习的首要范畴,也即深度学习是机器学习的一个子集,机器学习是人工智能的一个子集。近年来这个领域的兴起应该归功于深度学习,人工智能和机器学习这个领域近年来一直在解决一系列有趣的问题,比如自动驾驶、人脸识别等。人工智能有三个层次,分别是:(1)计算智能:高效快速地求解出结果,包括遗传算法、群体智能(蚁群、粒子群)、模拟退火等;(2)感知智能:让计算机看得见,听得到,包括图像识别、语音识别等;(3)认知智能:最高一个层次的人工智能,包括自然语言处理和机器人等。

机器学习是实现人工智能的一种重要方法机器学习就是用算法真正解析数据,不断学习,然后对世界中发生的事做出判断和预测。此时,研究人员不会亲手编写软件、确定特殊指令集、然后让程序完成特殊任务,相反,研究人员会用大量数据和算法“训练”机器,让机器学会如何执行任务。按照学习的方法,可以将机器学习分为四类:监督学习、无监督学习、半监督学习和强化学习其中:监督学习针对有标签数据集,它通过学习出一个模型(其实就是一个函数)来拟合数据,按照模型(函数)的输出结果是否离散又可以分为两类,分别是:(1)输出结果为离散值,则为分类问题(常见的分类算法:KNN、贝叶斯分类器、决策树、SVM、神经网络、GBDT、随机森林等);(2)输出结果为连续值,则为回归问题(有线性回归和逻辑回归两种)。

而无监督学习针对没有标签的数据集,它将样本按照距离划分成类簇,使得类内相似性最大,类间相似性最小。通过观察聚类结果,我们可以得到数据集的分布情况,为进一步分析提供支撑。常见的聚类算法有K-means、高斯混合模型和LDA。因机器学习需要人为的参与,那么有没有一种让机器学习的算法,那就是深度学习深度学习:实现机器学习的技术深度学习是机器学习中一种基于对数据进行表征学习的方法。

观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。深度学习的好处是用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。综上所述,深度学习是人工智能后续的发展方向,但是实现深度学习需要较多的数据和计算能力来训练模型,并非所有场景都适用,所以,在实际情况下,不要最求什么最聪明的算法,应该是追求最合适当前场景的算法。

有没有必要把机器学习算法自己实现一遍?

如果你是个搬砖的,那不需要;如果你是个前端开发工程师,那不需要;如果你是后端开发工程师,那也不需要;如果你做人工智能或ai的应用集成工作,那实现一遍最好,不实现一遍多少会影响工作效率;如果你搞数据标注一类工作的,那也不需要;如果你做ai算法的,那必要性比较大;如果你做ai方向科研的,这应该是基本功吧。

深度学习最终会淘汰掉其他所有机器学习算法吗?

并不会。俗话说:“用四个参数我可以拟合出一头大象,而用五个参数我可以让它的鼻子摆动。”无论何时,机器学习首先考虑的都是简单的模型(比如线性回归、线性分类、决策树),而不是深度学习这样沉重的模型。这不仅是为了节省算力,也是为了避免模型过于复杂导致的过拟合。比如,知名的python机器学习库scikit-learn就不支持深度学习,但使用仍然十分广泛。

包括Spotify、Evernote、Booking.com、OkCupid等知名公司都使用scikit-learn.(图为scikit-learn官网截屏)另外,强化学习现在也非常火热。各种人工智能顶会上有大量强化学习方面的论文。在一对一无限注德州扑克比赛中击败顶级人类选手的Libratus用的就是强化学习的技术,反事实遗憾最小化(counterfactual regret minimization)的新变体。

也就是说,这个玩德州扑克的AI并不关深度学习什么事。当然,现在的强化学习,常常结合了深度学习,也就是深度强化学习,比如Alpha Go. 这其实也反映了深度学习发展的趋势,和其他机器学习技术相结合。总结一下,深度学习不会淘汰其他所有机器学习算法。深度学习之外的机器学习算法仍有旺盛的生命力。另外,深度学习也会和其他机器学习算法相结合。

2017年机器学习面临解决的十大问题是什么?

1. 记忆网络。我们必须意识到,人工智能需要更大的工作记忆空间存储信息。2. 可微神经控制。我们要寻找放大这些人工智能的办法,因为它们也是有潜能的。3. 目标检测。在电脑视觉和机器学习领域,图像识别和定位仍然是一个难题。让我们在2017年让这些问题成为过去。4. 注意力。我们需要充分利用神经网络的注意力。

目前这一问题尚未得到解决,但是,利用好电脑资源非常重要。5. 推理。一个能自动推理的机器学习系统才是最棒的。6. 我们不能再有“一切都是可微的”的想法,因为真正复杂的人工智能往往都涉及非常强的智能系统,而它们并不是轻易可微的。简化可微问题的引入意味着我们永远只能拥有很简单的机器学习系统。当然,这只是我个人的观点。


文章TAG:算法  机器  学习  顶级  十大  
下一篇