资源描述
目 录一 大数据与云计算二 机器学习、深度学习和人工智能三 编程语言的选择四 机器学习算法介绍五 算法案例介绍 一 大数据与云计算 什么是大数据? 大数据特征定义 大数据时代要具备大数据思维维克托迈尔-舍恩伯格认为:1 -需要全部数据样本而不是抽样;2 -关注效率而不是精确度;3 -关注相关性而不是因果关系。 大数据并不在“大”,而在于“有用”。价值含量、挖掘成本比数量更为重要。 大数据的价值所在?如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。未来在大数据领域最具有价值的是两种事物:1 -拥有大数据思维的人,这种人可以将大数据的潜在价值转化为实际利益; 2 -还未有被大数据触及过的业务领域。这些是还未被挖掘 的油井,金矿,是所谓的蓝海。 云计算和大数据的关系 云计算充当了工业革命时期的发动机的角色,而大数据则是电。云计算思想:把计算能力作为一种像水和电一样的公用事业提供给用户。 二 机器学习、深度学习和人工智能 任何通过数据训练的学习算法的相关研究都属于机器学习。比如线性回归(Linear Regression)、K均值(K-means,基于原型的目标函数聚类方法)、决策树(Decision Trees,运用概率分析的一种图解法)、随机森林(Random Forest,运用概率分析的一种图解法)、PCA(Principal Component Analysis,主成分分析)、SVM(Support Vector Machine,支持向量机)以及ANN(Artificial Neural Networks,人工神经网络)。深度学习的概念源于人工神经网络的研究,通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据, 例如图像,声音和文本。人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括语音识别、图像识别、机器人、自然语言处理、智能搜索和专家系统等。 人工智能与机器学习、深度学习的关系 三 编程语言的选择 PKR 与 Python 语言的区别学习难度大入门简单适合处理大量数据功能强大命令式编程统计功能强大 Python在线学习推荐-菜鸟教程 Anaconda:初学Python、入门机器学习的首选NumPyScipyTensorFlowMatplotlibPandasScikit-Learn 四 机器学习算法介绍 拥抱人工智能从机器学习开始 机器学习最大的特点是利用数据而不是指令来进行各种工作,其学习过程主要包括:数据的特征提取、数据预处理、训练模型、测试模型、模型评估改进等几部分。 机器学习算法是使计算机具有智能的关键算法是通过使用已知的输入和输出以某种方式“训练”以对特定输入进行响应。代表着用系统的方法描述解决问题的策略机制。人工智能的发展离不开机器学习算法的不断进步。 机器学习算法分类 1 . 线性回归:找到一条直线来预测目标值一个简单的场景:已知房屋价格与尺寸的历史数据,问面积为2 0 0 0时,售价为多少? 线性回归的应用预测客户终生价值: 基于老客户历史数据与客户生命周期的关联关系,建立线性回归模型,预测新客户的终生价值,进而开展针对性的活动。机场客流量分布预测: 以海量机场WiFi数据及安检登机值机数据,通过数据算法实现机场航站楼客流分析与预测。货币基金资金流入流出预测: 通过用户基本信息数据、用户申购赎回数据、收益率表和银行间拆借利率等信息,对用户的申购赎回数据的把握,精准预测未来每日的资金流入流出情况。电影票房预测: 依据历史票房数据、影评数据、舆情数据等互联网公 众数据,对电影票房进行预测。 2 . 逻辑回归:找到一条直线来分类数据逻辑回归虽然名字叫回归,却是属于分类算法,是通过Sigmoid函数将线性函数的结果映射到Sigmoid函数中,预估事件出现的概率并分类。 逻辑回归从直观上来说是画出了一条分类线。位于分类线一侧的数据,概率0 .5 ,属于分类A;位于分类线另一侧的数据,概率 啤酒,它的置信度为 尿布 - 啤酒 假设尿布, 啤酒的支持度为 0 .4 5,尿布的支持度为 0 .5,则尿布 - 啤酒的置信度为 0 .4 5 / 0 .5 = 0 .9。 9 . PCA降维:减少数据维度,降低数据复杂度降维是指将原高维空间中的数据点映射到低维度的空间中。因为高维特征的数目巨大,距离计算困难,分类器的性能会随着特征数的增加而下降;减少高维的冗余信息所造成的误差,可以提高识别的精度。 1 0 . 人工神经网络:逐层抽象,逼近任意函数前面介绍了九种传统的机器学习算法,现在介绍一下深度学习的基础:人工神经网络。 它是模拟人脑神经网络而设计的模型,由多个节点(人工神经元)相互联结而成,可以用来对数据之间的复杂关系进行建模。 例如利用单层神经网络实现逻辑与门和同或门 多层神经网络的每一层神经元学习到的是前一层神经元值的更抽象的表示,通过抽取更抽象的特征来对事物进行区分,从而获得更好的区分与分类能力。 1 1 . 深度学习:赋予人工智能以璀璨的未来深度学习就是一种基于对数据进行表征学习的方法,使用多层网络,能够学习抽象概念,同时融入自我学习,逐步从大量的样本中逐层抽象出相关的概念,然后做出理解,最终做出判断和决策。通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。 深度学习的历史变迁:深度学习经历了三次浪潮: 2 0世纪4 0年代6 0年年代,深度学习的雏形出现在控制论中; 2 0世界8 0年代9 0年代,深度学习表现为联结主义; 2 0 0 6年以后,正式以深度学习之名复兴。第一次浪潮:以感知机和线性模型为代表 不能解决与或问题第二次浪潮:以多层感知机和BP模型为代表 以统计学为基础,应用核函数和图模型的支持向量机算法(SVM算法)等各种浅层有监督的机器学习模型广泛应用,且深度神经网络不可训练 第三次浪潮:以无监督学习为代表。 解决了深层神经网络的计算能力问题;解决了深度神经网络后向误差反馈梯度消失的问题。 最初,人工神经网络中神经元之间的连接数受限于硬件能力。而现在,神经元之间的连接数大多是出于设计考虑。一些人工神经网络中每个神经元的连接数与猫一样多,并且对于其他神经网络来说,每个神经元的连接数与较小哺乳动物 (如小鼠) 一样多,这种情况是非常普遍的。甚至人类大脑每个神经元的连接数也没有过高的数量。 1 . 自适应线性单元 (Widrow and Hoff, 1 9 6 0);2 . 神经认知机 (Fukushima, 1 9 8 0);3 . GPU- 加速卷积网络 (Chellapilla et al., 2 0 0 6);4 . 深度玻尔兹曼机 (Salakhutdinov and Hinton, 2 0 0 9 a);5 . 无监督卷积网络 (Jarrett et al., 2 0 0 9 b);6 . GPU- 加速多层感知机 (Ciresan et al., 2 0 1 0);7 . 分布式自编码器 (Le et al., 2 0 1 2);8 . Multi-GPU 卷积网络(Krizhevsky et al., 2 0 1 2 a);9 . COTS HPC 无监督卷积网络 (Coates et al., 2 0 1 3);1 0 . GoogLeNet (Szegedy et al., 2 0 1 4 a 与日俱增的每个神经元的连接数 自从引入隐藏单元,人工神经网络的规模大约每 2 .4 年翻一倍。 1 . 感知机 (Rosenblatt, 1 9 5 8 , 1 9 6 2);2 . 自适应线性单元 (Widrow and Hoff,1 9 6 0);3 . 神经认知机 (Fukushima, 1 9 8 0);4 . 早期后向传播网络 (Rumelhart et al., 1 9 8 6 b);5 . 用于语音识别的循环神经网络 (Robinson and Fallside, 1 9 9 1);6 . 用于语音识别的多层感知机 (Bengio et al., 1 9 9 1);7 . 均匀场 sigmoid 信念网络 (Saul et al., 1 9 9 6);8 . LeNet5 (LeCun et al., 1 9 9 8 c);9 . 回声状态网络 (Jaeger and Haas, 2 0 0 4);1 0 . 深度信念网络 (Hinton et al., 2 0 0 6 a);1 1 . GPU- 加速卷积网络 (Chellapilla et al., 2 0 0 6);1 2 . 深度玻尔兹曼机 (Salakhutdinov and Hinton, 2 0 0 9 a);1 3 . GPU加速深度信念网络 (Raina et al., 2 0 0 9 a);1 4 . 无监督卷积网络 (Jarrett et al., 2 0 0 9 b);1 5 . GPU- 加速多层感知机 (Ciresan et al., 2 0 1 0);1 6 . OMP-1 网络 (Coates and Ng, 2 0 1 1);1 7 . 分布式自编码器 (Le et al., 2 0 1 2);1 8 . MultiGPU 卷积网络 (Krizhevsky et al., 2 0 1 2 a);1 9 . COTS HPC 无监督卷积网络 (Coates et al., 2 0 1 3);2 0 . GoogLeNet (Szegedy et al., 2 0 1 4 a) 与日俱增的神经网络规模 目前深度学习的应用十分广泛,例如图像识别、语音识别、机器翻译、自动驾驶、金融风控、智能机器人等。 五 算法案例介绍 K近邻法(KNN)原理 K近邻法(k-nearest neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用。比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出了。 KNN做回归和分类的主要区别在于最后做预测时候的决策方式不同。KNN做分类预测时,一般是选择多数表决法,即训练集里和预测的样本特征最近的K个样本,预测为里面有最多类别数的类别。 而KNN做回归时,一般是选择平均法,即最近的K个样本的样本输出的平均值作为回归预测值。由于两者区别不大,本次主要是讲解KNN 的分类方法,但思想对KNN的回归方法也适用。 KNN 场景电影可以按照题材分类,那么如何区分动作片和爱情片 呢?动作片:打斗次数更多爱情片:亲吻次数更多基于电影中的亲吻、打斗出现的次数,使用 k-近邻算法构造程序,就可以自动划分电影的题材类型。 KNN 计算步骤假设有一个带有标签的样本数据集(训练样本集),其中包含每条数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较。计算新数据与样本数据集中每条数据的距离。计算距离时直接使用了欧式距离公式,计算两个向量点之间的距离对求得的所有距离进行排序(从小到大,越小表示越相似)。取前k(k 一般小于等于 2 0 )个样本数据对应的分类标签。求k个数据中出现次数最多的分类标签作为新数据的分类。 KNN 算法特优点:1) 理 论 成 熟 , 思 想 简 单 , 既 可 以 用 来 做 分 类 也 可 以 用 来 做 回 归2) 可 用 于 非 线 性 分 类3) 训 练 时 间 复 杂 度 比 支 持 向 量 机 之 类 的 算 法 低 , 仅 为 O(n)4) 和 朴 素 贝 叶 斯 之 类 的 算 法 比 , 对 数 据 没 有 假 设 , 准 确 度 高 , 对 异 常 点 不 敏 感5) 由 于 KNN方 法 主 要 靠 周 围 有 限 的 邻 近 的 样 本 , 而 不 是 靠 判 别 类 域 的 方 法 来 确定 所 属 类 别 的 , 因 此 对 于 类 域 的 交 叉 或 重 叠 较 多 的 待 分 样 本 集 来 说 , KNN方 法较 其 他 方 法 更 为 适 合6) 该 算 法 比 较 适 用 于 样 本 容 量 比 较 大 的 类 域 的 自 动 分 类 , 而 那 些 样 本 容 量 较 小的 类 域 采 用 这 种 算 法 比 较 容 易 产 生 误 分缺点:1) 计 算 量 大 , 尤 其 是 特 征 数 非 常 多 的 时 候 2) 样 本 不 平 衡 的 时 候 , 对 稀 有 类 别 的 预 测 准 确 率 低3) KD树 , 球 树 之 类 的 模 型 建 立 需 要 大 量 的 内 存4) 使 用 懒 散 学 习 方 法 , 导 致 预 测 时 速 度 比 起 逻 辑 回 归 之 类 的 算 法 慢5) 相 比 决 策 树 模 型 , KNN模 型 可 解 释 性 不 强适用数据范围: 数 值 型 和 标 称 型 下面我们通过实例来演示如何实现一个简单的KNN 算法首先,我们准备一个简单数据集,是由二维空间上的四个点构成的矩阵 (A,篮圆圈; B 红三角) 那么,对于一个新的向量 0 .2 , 0 .2 ,它应该属于那个类别的呢?从图上看,它距离 B比较近,应该属于 B类别。分类X YA 1 .0 1 .1A 1 .0 1 .0B 0 0B 0 1 .0 刚刚采用直观的方法,讲了KNN的原理,接下来我们上代码。 Python编辑器有很多,前面也推荐大家使用 Anaconda 。这是一个集成的工作环境,它除了提供 Spyder 编译 环境之外,还提供了一个 Notebook的编译环境。下面我们采用Notebook环境,给大家示范KNN的原理代码。
展开阅读全文