机器学习算法有哪些?

div>

你应该使用哪种机器学习算法?这在很大程度上依赖于可用数据的性质和数量以及每一个特定用例中你的训练目标。不要使用最复杂的算法,除非其结果值得付出昂贵的开销和资源。这里给出了一些最常见的算法,按使用简单程度排序。

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):卷积是指来自后续层的权重的融合,可用于标记输出层。

  • 优点:当存在非常大型的数据集、大量特征和复杂的分类任务时,卷积神经网络是非常有用的
  • 场景举例:图像识别、文本转语音、药物发现

在这样的情况下,用数学的方式,靠堆积CPU和硬盘的手法模拟出来了人工智能,其实完全就不是人工智能。从根本上,与你家的PC计算机没有本质的区别。

第十一章 特征选择与稀疏学习

第八章 集成学习

比如李开复做的机器翻译。

首先声明,我不是专业的做机器学习、神经网络、人工智能这些工作的。我是一个老~~~~Java工程师。在这个行业干的久了,多少还是知道点儿东西,随便说说,可能对算法之类的回答不了,但对相关的内容讲讲吧。

一岁的孩童,看了两次猫咪,就能指着图片上的猫咪说这个是猫咪。

多说一句,个人认为“强人工智能”阶段可能不会存在,当机器达到那个境界的时候,它会很快的自动升级为他(她),它会赋予自己生命。

第三章 线性模型

第十三章 半监督学习

https://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/MLbook2016.htm#

李开复知道吧?智商超高的台湾中国人。他在美国读博士的时候,课题就是做机器翻译。最后他成功了,机器翻译成功率高达92%(这个数字可能不太准确,书在边儿上,懒得翻了。)——有人说了,为啥不能百分之百?因为。。。人都可能翻译错了,你怎么能要求计算机全都翻译对啊。

再升级一下就是强人工智能,这个领域的人工智能可以媲美人力的智商。目前属于科学幻想领域的东西。但它依旧算是计算机的领域。

第六章 支持向量机

四、AlphaGO强大到什么程度?

这个假设是瞎扯的,我瞎捉摸的。

第二章 模型评估与选择

而谷歌的自动驾驶跑的路程跑月亮都十几趟了,可那傻子还是瞎开。

一、机器学习的目的是人工智能

六、个人的另一个假设

何为专家法?把两门语言的各种语法规律都整理起来,还有各种俚语啥的,反正,这个规律我说了这么多年的汉语也没总结出来。是不您说?您说是不?这两句咋一个意思?哈哈。。。

就好像一个人不仅仅接受书本上的知识,而且自己在学习过程中不断优化自己的学习方法。

机器学习算法有很多,参考《机器学习》(周志华),著名西瓜书的目录:

第十二章 计算理论学习

AlphaGO之所以强大,是因为他不是仅仅做数据的统计,他还自己修改自己的算法。

第一章 绪论

什么?你觉得这样Low?那你先把你的Java卸载了,然后自己写一个Java吧,用别人写好的东西岂不是太Low了?

而且,我干了十几年了,没人说我这样写程序Low。

第七章 贝叶斯分类器

———— 软件行业的名言:不要重复造轮子

最后,附上书籍的网址:

好久不回答问题了,主要是作为程序员瞎忙,瞎忙。没空写。今天高烧39度,刚刚拿出体温计一看,38.6℃,挺吉利的数字。发烧了,不能工作了,就有时间写点儿东西了。

另外,不仅机器学习算法本身重要,如何选择合适的算法和算法参数并加以改造到自己的项目中更是考察能力,这就需要在实践中总结。西瓜书是一本很好的机器学习入门书籍。

非常简单的一个办法,李开复把能找到的中英对照的词、句子、文章,都放入数据库中,然后写一个算法,让程序自己根据统计学找规律。

你想要做个图片分析系统,直接找百度的人工智能Api接口,就解决了。

第十五章 规则学习

目前人类实现的人工智能叫做“弱人工智能”,就是很弱,比如AlphaGO,只是凭借算法进行数据归纳,然后逐渐自动的归纳出一些规律,凭借其超大的数据存储和计算能力,在某个特殊的领域完败人类。比如AlphaGO下围棋很牛掰,但汽车驾驶这个简单的事儿,目前全球很少有人真的敢把性命交给计算机,至少我更愿意把我的命交给一个驾驶经验只有1个月的女人手中。

所以,学习人工智能或机器学习,也不需要上来就研究算法,那是大牛干的事儿。

三、怎么学习机器学习或人工智能

第五章 神经网络

二、目前机器学习的算法

人类的大脑经过几百万年的进化,已经具备了快速处理数据的能力,也许最根本还是归纳和统计,但由于大脑硬件进化的如此牛逼,只要几下子就能学会新的东西。

现在要做机器学习和人工智能,其实你不要自己研究算法的——我做Java开发20年了快,我也不了解Java怎么处理Queue队列的,怎么就阻塞住了?我也不知道OKHttp3如何做到的抓取网页那么高效,而我自己写一个爬虫,性能低的恨不得自己抽自己嘴巴。

个人认为:现在的人工智能就是个傻子,除了让人摆布,他什么也干不了。

第十章 降纬与度量学习

人类目前的科技水平,就不能理解人类为什么能够有智慧,连对狗的条件反射都无法从根本上进行解释。

言归正传,在李开复之前有很多人在研究机器翻译,采用的手段都是专家法。

后来,李开复认为应该采用统计法。

举个例子:

经过一个夏天的奋斗,他带着一个高中生(我记得就是高中生,美国人可怕吧。比尔盖茨在小学的时候接触的最早的PC机,并自己开发程序。。。小学啊。。。牛死了),终于在某个凌晨看到一个数字——92%的成功率。

第十六章 强化学习

施主可否记得,唐僧在经书受损的时候懊恼不已,悟空说了一句:天地本不全,何必强求之。

第十四章 概率图模型

第九章 聚类

我做地图系统的时候,我就调用高德的Api接口,我也不怕别人说我Low,我才不会自己写一个地图系统且自己整理地图数据呢。

不过,具体他的算法是啥,我就不懂了。

第四章 决策树

其中有周老师给大家的读书建议。

目前阶段的机器学习的算法核心就是统计学。

最牛叉就是“超人工智能”,这样的东西有独立的思维、分析、学习能力,甚至可以有感情,会使用阴谋诡计。这样的东西,在各个领域都碾压人类。个人认为,这个东西不能算是机器了,应该是一种机器生命——比如变形金刚。

这个成功率是非常低的,30%左右的成功率。

这个你看你要做什么了,如果要做机器视觉,那就要掌握opencv,深度学习中的卷积神经网络。如果要做语音识别,循环神经网络,马尔科夫链,概率论的知识都要有,还有推荐算法工程师,数据挖掘工程师等等,你先明确一个方向,然后再去选择学什么,如果你是快要毕业找工作,我推荐你看两本书,李航的《统计学习方法》和周志华的《机器学习》

五、现在的人工智能有危险吗?

从第三章开始都是常用的机器学习算法。书籍的前10章是比较基本的要求。

那么,现在的人工智能也无法进化到威胁人类。因为,硬件约束了它,现在的计算机的CPU构架约束了它,其绝对不可能在几个数据采样后就能够学会一件新事物。

展开阅读全文

住院期间你遇到过哪些尴尬事?

上一篇

中国移动卡携号转网中国电信网会有什么问题?

下一篇

你也可能喜欢

插入图片
机器学习算法有哪些?

长按储存图像,分享给朋友