您的位置:首页 > 编程语言 > Python开发

为何选择Python作为机器学习语言 机器学习能做些什么?

2017-11-14 00:00 369 查看


最近我和一对夫妇共进晚餐,他们问我从事什么职业,我回应道:“机器学习。”妻子回头问丈夫:“亲爱的,什么是机器学习?”她的丈夫答道:“T-800型终结者。”在《终结者》系列电影中,T-800是人工智能技术的反面样板工程。不过,这位朋友对机器学习的理解还是有所偏差的。机器学习能让我们自数据集中受到启发,换句话说,我们会利用计算机来彰显数据背后的真实含义,这才是机器学习的真实含义。它既不是只会徒然模仿的机器人,也不是具有人类感情的仿生人。



现今,机器学习已应用于多个领域,远超出大多数人的想象,下面就是假想的一日,其中很多场景都会碰到机器学习:假设你想起今天是某位朋友的生日,打算通过邮局给她邮寄一张生日贺卡。你打开浏览器搜索趣味卡片,搜索引擎显示了10个最相关的链接。你认为第二个链接最符合你的要求,点击了这个链接,搜索引擎将记录这次点击,并从中学习以优化下次搜索结果。然后,你检查电子邮件系统,此时垃圾邮件过滤器已经在后台自动过滤垃圾广告邮件,并将其放在垃圾箱内。接着你去商店购买这张生日卡片,并给你朋友的孩子挑选了一些尿布。结账时,收银员给了你一张1美元的优惠券,可以用于购买6罐装的啤酒。之所以你会得到这张优惠券,是因为款台收费软件基于以前的统计知识,认为买尿布的人往往也会买啤酒。然后你去邮局邮寄这张贺卡,手写识别软件识别出邮寄地址,并将贺卡发送给正确的邮车。当天你还去了贷款申请机构,查看自己是否能够申请贷款,办事员并不是直接给出结果,而是将你最近的金融活动信息输入计算机,由软件来判定你是否合格。最后,你还去了赌场想找些乐子,当你步入前门时,尾随你进来的一个家伙被突然出现的保安给拦了下来。“对不起,索普先生,我们不得不请您离开赌场。我们不欢迎老千。”
图1.1集中展示了使用到的机器学习应用。



图1-1 机器学习在日常生活中的应用,从左上角按照顺时针方向依次使用到的机器学习技术分别为:人脸识别、手写数字识别、垃圾邮件过滤和亚马逊公司的产品推荐
上面提到的所有场景,都有机器学习软件的存在。现在很多公司使用机器学习软件改善商业决策、提高生产率、检测疾病、预测天气,等等。随着技术指数级增长,我们不仅需要使用更好的工具解析当前的数据,而且还要为将来可能产生的数据做好充分的准备。

机器学习非常重要

在过去的半个世纪里,发达国家的多数工作岗位都已从体力劳动转化为脑力劳动。过去的工作基本上都有明确的定义,类似于把物品从A处搬到B处,或者在这里打个洞,但是现在这类工作都在逐步消失。现今的情况具有很大的二义性,类似于“最大化利润”,“最小化风险”、“找到最好的市场策略”......诸如此类的任务要求都已成为常态。虽然可从互联网上获取到海量数据,但这并没有简化知识工人的工作难度。针对具体任务搞懂所有相关数据的意义所在,这正成为基本的技能要求。正如谷歌公司的首席经济学家Hal
Varian所说的那样:

“我不断地告诉大家,未来十年最热门的职业是统计学家。很多人认为我是开玩笑,谁又能想到计算机工程师会是20世纪90年代最诱人的职业呢?如何解释数据、处理数据、从中抽取价值、展示和交流数据结果,在未来十年将是最重要的职业技能,甚至是大学,中学,小学的学生也必需具备的技能,因为我们每时每刻都在接触大量的免费信息,如何理解数据、从中抽取有价值的信息才是其中的关键。这里统计学家只是其中的一个关键环节,我们还需要合理的展示数据、交流和利用数据。我确实认为,能够从数据分析中领悟到有价值信息是非常重要的。职业经理人尤其需要能够合理使用和理解自己部门产生的数据。”

——McKinsey Quarterly,2009年1月
 
大量的经济活动都依赖于信息,我们不能在海量的数据中迷失,机器学习将有助于我们穿越数据雾霭,从中抽取出有用的信息。

Pyhong语言的优势

基于以下三个原因,我们选择Python作为实现机器学习算法的编程语言:(1) Python的语法清晰;(2) 易于操作纯文本文件;(3) 使用广泛,存在大量的开发文档。

 


可执行伪代码

Python具有清晰的语法结构,大家也把它称作可执行伪代码(executablepseudo-code)。默认安装的Python开发环境已经附带了很多高级数据类型,如列表、元组、字典、集合、队列等,无需进一步编程就可以使用这些数据类型的操作。使用这些数据类型使得实现抽象的数学概念非常简单。此外,读者还可以使用自己熟悉的编程风格,如面向对象编程、面向过程编程、或者函数式编程。

Python语言处理和操作文本文件非常简单,非常易于处理非数值型数据。Python语言提供了丰富的正则表达式函数以及很多访问Web页面的函数库,使得从HTML中提取数据变得非常简单直观。



Python比较流行

Python语言使用广泛,代码范例也很多,便于读者快速学习和掌握。此外,在开发实际应用程序时,也可以利用丰富的模块库缩短开发周期。

在科学和金融领域,Python语言得到了广泛应用。SciPy和NumPy等许多科学函数库都实现了向量和矩阵操作,这些函数库增加了代码的可读性,学过线性代数的人都可以看懂代码的实际功能。另外,科学函数库SciPy和NumPy使用底层语言(C和Fortran)编写,提高了相关应用程序的计算性能。

Python的科学工具可以与绘图工具Matplotlib协同工作。Matplotlib可以绘制2D、3D图形,也可以处理科学研究中经常使用到的图形。

Python开发环境还提供了交互式shell环境,允许用户开发程序时查看和检测程序内容。

Python开发环境将来还会集成Pylab模块,它将NumPy、SciPy和Matplotlib合并为一个开发环境。虽然Pylab还没有并入Python环境,但是不远的将来我们肯定可以在Python开发环境找到它。

男怕嫁错郎,女怕入错行。对于我们这一代人来说,有幸生于人工智能的新时代,会一门手艺这个时代非常重要,对于程序员来说,想要从事AI和机器学习相关的工作,最好的语言莫过于Python。很多程序员参与对于Python和其他几种流行编程语言的比较,大部分人都承认,Python简单易学,通俗易懂,符合人性设计,Python和其他语言的比较,正如拼音输入法与五笔输入法的比较一样,一个几个月集中学习才能初步入门的语言在风云变幻的技术领域显然很难快速扩散,广泛使用。Python对于复杂的人工智能是一剂清凉剂。
高效的执行在于更加普适的理解,Python的高效就在于有巨大的支撑,又能广泛被理解,这使得每一项工作获得的理解力更加强,这是其他语言无法比拟的。仅凭这一点,Python作为AI和机器学习的最佳语言或许有些道理,

而且你也能在网上找到大量的资源。你现在也在考虑从 Python 入门机器学习吗?本教程或许能帮你成功上手,从 0 到 1 掌握 Python 机器学习,至于后面再从 1 到 100 变成机器学习专家,就要看你自己的努力了。



《python机器学习与深度学习》大纲

1、课程简介:
课程强调从零开始,动手操作;内容以代码落地为主,以理论讲解为根,以公式推导为辅。共4天8节,每节各3~3.5小时,讲解机器学习和深度学习的模型理论和代码实践,梳理机器学习、深度学习、计算机视觉的技术框架,从根本上解决如何使用模型、优化模型的问题;每次课中,首先阐述算法理论和少量公式推导,然后使用真实数据做数据挖掘、机器学习、深度学习的数据分析、特征选择、调参和结果比较。
 
2、课程目标:
通过课程学习,可以理解机器学习的思维方式和关键技术;了解深度学习和机器学习在当前工业界的落地应用;能够根据数据分布选择合适的算法模型并书写代码,初步胜任使用Python进行数据挖掘、机器学习、深度学习等工作。
 
3、课程特点:
课程重视代码实践,使用银行、金融、运营商等工业界实际数据(数据已脱敏)进行机器学习模型的落地应用。虽然课程坚持推导公式,但更重视机器学习和深度学习的原理与实操;将实际工作中遇到的行业应用和痛点做最直观切实的展示;重视算法模型的同时,更强调实际问题中应该如何模型选择、特征选择和调参。
   讲授者在中科院做科研,同时在多家企业任职首席或顾问,有丰富的工业经验,能够保证听者尽快了解数据挖掘、机器学习、深度学习的本质和实践应用。

4.讲师简介:
邹博,中国科学院副研究员,天津大学特聘教授,成立中国科学院邹博人工智能研究中心(杭州站),在翔创、普开、星河智能等公司担任技术顾问,研究方向机器学习、数据挖掘、计算几何,应用于大型气象设备的图像与文本挖掘、股票交易与预测、量子化学医药路径寻优、传统农资产品价格预测和决策等领域。

近一年部分培训经历:



2017年7月成立中科院邹博人工智能研究中心(杭州站)
 


2017年7月10-15日 湖南张家界机器学习和数据挖掘高校师资培训
  


2017年6月12-15日 湖北文理学院本科与研究生人工智能与机器学习培训
 


2017年3月12-15日 杭州电子科技大学研究生数据挖掘与机器学习培训
 
5.详细大纲:
第一节:机器学习与Python库
解释器Python2.7与IDE:Anaconda/Pycharm
Python基础:列表/元组/字典/类/文件
   numpy/scipy/matplotlib/panda的介绍和典型使用
   多元高斯分布
   典型图像处理
   scikit-learn的介绍和典型使用
   多种数学曲线
   多项式拟合
   快速傅里叶变换FFT
   奇异值分解SVD
   Soble/Prewitt/Laplacian算子与卷积网络
代码和案例实践:
   卷积与(指数)移动平均线
   股票数据分析
   实际生产问题中算法和特征的关系
   缺失数据的处理
   环境数据异常检测和分析
 
第二节:回归
   线性回归
   Logistic/Softmax回归
   广义线性回归
   L1/L2正则化
   Ridge与LASSO
   ElasticNet
   梯度下降算法:BGD与SGD
   特征选择与过拟合
   Softmax回归的概念源头
   最大熵模型
   K-L散度
代码和案例实践:
   1.股票数据的特征提取和应用
   2.泰坦尼克号乘客缺失数据处理和存活率预测
   3.环境检测数据异常分析和预测
   4.模糊数据查询和数据校正方法
   5.PCA与鸢尾花数据分类
   6.二手车数据特征选择与算法模型比较
   7.广告投入与销售额回归分析
   8.鸢尾花数据集的分类
 
第三节:决策树和随机森林
   熵、联合熵、条件熵、KL散度、互信息
   最大似然估计与最大熵模型
   ID3、C4.5、CART详解
   决策树的正则化
   预剪枝和后剪枝
   Bagging
   随机森林
   不平衡数据集的处理
   利用随机森林做特征选择
   使用随机森林计算样本相似度
   异常值检测
代码和案例实践:
   1.随机森林与特征选择
   2.决策树应用于回归
   3.多标记的决策树回归
   4.决策树和随机森林的可视化
   5.社会学人群收入预测
   6.葡萄酒数据集的决策树/随机森林分类
   7.泰坦尼克乘客存活率估计
 
第四节:SVM
   线性可分支持向量机
   软间隔
   损失函数的理解
   核函数的原理和选择
   SMO算法
   支持向量回归SVR
   多分类SVM
代码和案例实践:
   1.原始数据和特征提取
   2.调用开源库函数完成SVM
   4.葡萄酒数据分类
   5.数字图像的手写体识别
   5.MNIST手写体识别
   6.SVR用于时间序列曲线预测
   7.SVM、Logistic回归、随机森林三者的横向比较
 
第五节:聚类
   各种相似度度量及其相互关系
   Jaccard相似度和准确率、召回率
   Pearson相关系数与余弦相似度
   K-means与K-Medoids及变种
   AP算法(Sci07)/LPA算法及其应用
   密度聚类DBSCAN/DensityPeak(Sci14)
   谱聚类SC
   聚类评价和结果指标

代码和案例实践:
   1.K-Means++算法原理和实现
   2.向量量化VQ及图像近似
   3.并查集的实践应用
   4.密度聚类的异常值检测
   5.谱聚类用于图片分割
 
第六节:隐马尔科夫模型HMM
   主题模型LDA
   词潜入和word2vec
   前向/后向算法
   HMM的参数学习
   Baum-Welch算法详解
   Viterbi算法详解
   隐马尔科夫模型的应用优劣比较
   共轭先验分布
   Laplace平滑
   Gibbs采样详解
   Metropolis-Hastings算法
   MCMC

代码和案例实践:

1.敏感话题分析
2.网络爬虫的原理和代码实现
3.LDA开源包的使用和过程分析
4.HMM用于中文分词
5.文件数据格式UFT-8、Unicode
6.发现新词和分词效果分析
7.高斯混合模型HMM
8.GMM-HMM用于股票数据特征提取

 
第七节:卷积神经网络 
卷积神经网络模型介绍
 神经网络结构,滤波器,卷积,池化,激活函数,反向传播
 目标分类与识别、目标检测与追踪
 经典AlexNet
 高级卷积网络模型:VGG、ResNet、GoogleLeNet、DenseNet
 深度图片生成网络U-Net
 物体检测:RCNN,Fast-RCNN,Faster-RCNN, FPN系列

代码和案例实践:

1.如何搭建自己的卷积神经网络
2.迁移学习(Transfer Learning)
3.基于CNN的图像识别
4.实时人脸检测系统(视频流处理+识别+定位 RCNN)
5.CNN文本分类
6.卷积神经网络调参经验分享

 
第八节:循环神经网络
   RNN进阶
   RNN基本原理
   LSTM、GRU
   注意力机制(Attention)
   编码器与解码器结构
   语言特征提取:word2vec
   循环神经网络进阶模型
   搭配CNN使用,组成CNN+LSTM模型
   Bi-LSTM双向循环神经网络结构
   Seq2seq模型

代码和案例实践:

   1.如何搭建自己的循环神经网络
   2.图片标注与图片问答
   3.智能对话和阅读理解
   4.循环神经网络调参经验分享

6.培训对象:
各高等院校、科研机构大数据相关学科、计算机、软件、信息管理、统计等科研人员,在读高年级本科生及研究生以及有志于python机器学习研究和应用的个人及从业者。

7.时间地点:
2017年12月 7日-2017年12月11日 北京( 7日全天报到)
2018年 1 月24日-2018年 1月28日 上海(24日全天报到)

8.参会费用:
全部课程4900元/人(含培训费、教材费、证书申报费),机器学习模块(前三天):3900元/人(含培训费、教材费、证书申报费),食宿以及差旅,费用自理。本次会议由中国管理科学研究院人才战略研究所主办,可开具正规发票,以便学员报销。参加相关培训学员,可获得:中国管理科学院人才战略研究所颁发《机器学习技术与应用管理师》专业技能证书,该证书可作为有关单位专业技术人员能力评价、考核和升职的重要依据。注:请学员自备电子照片1张(注明姓名)以及电子版身份证复印件,请学员自带笔记本电脑,讲师以U盘的形式提供全部教学课件、源代码、实验数据、编程操作步骤.

请联系会务组孙老师:15311617761 qq:930583780索取正式文件,了解具体地点。团购有优惠!
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: