机器学习
Posted lxp-never
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习相关的知识,希望对你有一定的参考价值。
《人工智能》学习顺序
1.Python语言
2.数学课程
3.深度学习
4.机器学习
5.量化交易
6.数据挖掘
7.Kaggle课程
8.openCV 计算机视觉课程
9.NLP课程
10.算法进阶
CSDN微博--人工智能学习方法:
https://blog.csdn.net/lixiaowei16/article/details/72770446
0、想学深度学习的条件:
工具:算法知识+大量的数据+计算机+GPU
1、需要先基本掌握概率论、高等数学、线性代数等知识(主要是要知道原理和过程)
计算机还只是做计算,所以人工智能的很过问题还是回到了数学问题,首先,需要定义一个网络结果,相当于定义一种线性非线性函数;接着,设定一个优化目标,也定义一种损失函数
训练的过程就是求解最优解和次优解的过程,所以我们要有一定的数学基础
2、掌握基本的机器学习理论与基本算法
基本算法:向量机、逻辑回归、决策树、朴素贝叶斯分类器、随机森林、聚类算法、协同过滤、关联性分析、人工神经网络和BP算法、PCA、过拟合与正则化等。
3、掌握一种编程语言
学习python,主要是掌握使用线性代数库和聚成的操作,尤其是Numpy、Pandas第三方库,也可试试机器学习的库,如sklearn,做一些SVM及逻辑回归的练习。
使用MATLAB实现算法也是一样的,同时考虑到许多读者是使用C++、Java、Go语言的,TensorFlow还提供了和Python“平行语料库”的接口。虽然本书是主要是基于Python讲解的,对于其他语言的原理和应用API也都非常类似,读者把基础掌握后,只需要花很短的时间就能使用自己擅长的语言开发。
4.研读经典论文,关注最新动态和研究成果
要做手写数字识别,若采用LeNet,要先阅读一下LeNet的学术论文;
要做物体目标检测的训练,若选定MSCNN框架,可以先读MSCNN相关的论文。
5、自己动手训练神经网络
选择一个开源的深度学习框架。选择框架时主要考虑哪种框架用的人多。人气旺后,遇到问题很容易找到答案;GitHub上关于这个框架的项目和演示会非常多;相关的论文也会层出不穷;在各个QQ群和微信群的活跃度会高;杂志、公众号、微博关注的人也会很多;行业交流和技术峰会讨论的话题也多;也能享受到国内外研究信息成果的同步。
目前这个阶段,TensorFlow因为背靠谷歌公司这座靠山,再加上拥有庞大的开发者群体,而且采用了称为“可执行的伪代码”的Python语言,更新和发版速度着实非常快。目前TensorFlow已经升级到1.0版,在性能方面也有大幅度提高,而且新出现的Debugger、Serving、XLA特性也是其他框架所不及的。此外,一些外围的第三方库(如Keras、TFLearn)也基于它实现了很多成果,并且Keras还得到TensorFlow官方的支持。TensorFlow支持的上层语言也在逐渐扩大,对于不同工程背景的人转入的门槛正在降低。
在GitHub[4]上有一个关于各种框架的比较,从建模能力、接口、模型部署、性能、架构、生态系统、跨平台等7个方面进行比较,TensorFlow也很占综合优势。截至2017年1月,TensorFlow的star数已经超过了其他所有框架的总和,如图1-8所示。
因此,从目前来看,投身TensorFlow是一个非常好的选择,掌握TensorFlow在找工作时是一个非常大的加分项。
6.深入感兴趣或者工作相关领域
人工智能目前的应用领域很多,主要是计算机视觉和自然语言处理,以及各种预测等。对于计算机视觉,可以做图像分类、目标检测、视频中的目标检测等;对于自然语言处理,可以做语音识别、语音合成、对话系统、机器翻译、文章摘要、情感分析等,还可以结合图像、视频和语音,一起发挥价值。
知乎--人工智能、机器学习和深度学习的区别?:
https://www.zhihu.com/question/57770020
总结区分一下“人工智能”、“机器学习”、“深度学习”。
“人工智能”概念在很早1956年提出,在接后的几十年发展,有的人认为“人工智能”就是未来,有的人认为“人工智能”就是垃圾,直到2012年以后,得益于数据量的上涨,运算量的提升和机器学习新算法(深度学习)的出现,人工智能在开始了再一次崛起,
图2 人工智能研究分支
包括:专家系统、机器学习、进化计算、模糊逻辑、计算机视觉、自然语言、推荐系统。
人工智能分为“强人工智能”“弱人工智能”,
1、弱人工智能:让计算具备观察和感知的能力,可以做到一定程度的理解和推理,
2、强人工智能:让机器获得自适应能力,解决一些之前没有遇到过的问题
机器学习:一种思想人工智能的方法
机器学习是使用算法来解析数据、从中学习,然后对真实世界中的时间做出决策和预测。与传统的解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。(例如:淘宝根据你的购物车和浏览物品记录会推荐商品给你,鼓励消费)
机器学习直接来源于早期的人工智能领域,传统的算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。从学习方法上来分,机器学习算法可以分为监督学习(如分类问题)、无监督学习(如聚类问题)、半监督学习、集成学习、深度学习和强化学习。
传统的机器学习算法在指纹识别、基于Haar的人脸检测、基于HoG特征的物体检测等领域的应用基本达到了商业化的要求或者特定场景的商业化水平,但每前进一步都异常艰难,直到深度学习算法的出现
深度学习:一种实现机器学习的技术
深度学习本来并不是一种独立学习的方法,其本身也会用到监督和无监督的学习方法来训练深度神经网络,但近几年有一些特有的学习手段别相继提出(残差网络)
深度学习是利用深度神经网络来解决特征表达的一种学习过程。深度神经网络本身并不是一个全新的概念,可大致理解为包含多个隐含层的神经网络结构。为了提高深层神经网络的训练效果,人们对神经元的连接方法和激活函数等方面做出相应的调整。其实有不少想法早年间也曾有过,但由于当时训练数据量不足、计算能力落后,因此最终的效果不尽如人意。深度学习摧枯拉朽般地实现了各种任务,使得似乎所有的机器辅助功能都变为可能。无人驾驶汽车,预防性医疗保健,甚至是更好的电影推荐,都近在眼前,或者即将实现。
机器学习是一种实现人工智能的方法,深度学习是一种实现机器学习的技术。
图 人工智能、机器学习、深度学习之间的关系
目前深度学习存在的局限性:
1、深度学习需要大量的训练数据,才能展现出神器的效果,但现实生活中往往会遇到小样本问题,此时深度学习方法无法入手,传统的机器学习方法就可以处理;
2、有些领域,采用传统的简单的机器学习方法,可以很好地解决了,没必要非得用复杂的深度学习方法;
3、深度学习的思想,来源于人脑的启发,但绝不是人脑的模拟,举个例子,给一个三四岁的小孩看一辆自行车之后,再见到哪怕外观完全不同的自行车,小孩也十有八九能做出那是一辆自行车的判断,也就是说,人类的学习过程往往不需要大规模的训练数据,而现在的深度学习方法显然不是对人脑的模拟
以上是关于机器学习的主要内容,如果未能解决你的问题,请参考以下文章