人工智能2 -- 大数据时代下的机器学习导论篇

python,大数据,机器学习,深度学习,计算机视觉

二、大数据

前言

大数据和机器学习的区别:
大数据是做大量数据的存储,机器学习是通过算法从存储的大数据中挖掘出有价值的数据。

机器学习理论基础1

大数据项目架构 ------ 以电信日志分析为例

项目名称:电信日志分析系统
项目描述:电信日志分析系统是以电信用户上网所产生的数据进行分析和统计计算,数据主要来源于用户的上网产生的访问日志和安全日志,通过Hadoop大数据平台完成日志的入库、处理、查询、实时分析、上报等功能,达到异常IP的检测、关键词过滤、违规违法用户的处理等,整个项目数据量在1T-20T左右,集群数量在10台到100台。
项目架构分析:

  • 数据采集层:ftp、socket方式
  • 数据存储层:HDFS
  • 数据分析层:MR、HIVE、IMPALA、SPARK
  • 机器学习层:在大数据处理后的应用
  • 数据表示层:oracle+SSM

项目职责:

  • 重点负责:实时or离线
  • 处理分析了哪些字段,通过何种手段进行分析
  • 项目有没有优化?

项目优化:

  • HDFS+Spark(一站式的分析平台)
机器学习 ---- 人工智能发展

人工智能的三次浪潮

  • 跳棋------专家系统---------IBM公司
  • 象棋------统计模型---------IBM深蓝
  • 围棋------深度学习---------DeepMind公司(阿尔法狗)

人工智能场景应用:

  • 图像识别
  • 无人驾驶
  • 智能翻译
  • 语音识别
  • 医疗智能诊断
  • 数据挖掘
    在这里插入图片描述
机器学习 与 人工智能 的区别和联系

人工智能 > 机器学习 > 深度学习
机器学习是人工智能的一个分支

  • 除了机器学习
  • 数据挖掘
  • 模式识别

深度学习

  • 深度学习是机器学习的一种方法,是为了解决机器学习领域中如图像识别等问题提出。

人工智能如何落地

  • 依靠机器学习
机器学习–数据、数据分析、数据挖掘的区别和联系

数据:观测值或测量值
信息:可信的数据
数据分析:数据------信息
数据挖掘:信息------有价值的信息提取
模式识别:图像识别
深度学习方法----->机器学习方法------>数据挖掘事情(模式识别)
数据-------数据分析-------信息---------数据挖掘-------有价值信息

什么是机器学习

机器学习 = 机器 + 学习
人类学习 = 大脑 + 经验
机器学习 = CPU + GPU(图形图像处理器)+ 数据 + 算法(智能)
概念:机器学习致力于研究如何通过计算的手段,在给定算法结合数据构建模型,通过模型达到预测的功能。
如何判断问题是否为机器学习问题?

  • 特定问题:------- 不需要使用机器学习
    • 确定性问题
    • 基础统计问题
  • 预测问题(看是否具有预测的过程) ------- 使用机器学习
    • 机器学习
基于规则的学习 和 基于模型的学习

基于规则的学习:是硬解码的方式进行学习
基于模型的学习:是通过数据构建机器学习模型,通过模型进行预测

		   X  --------->  f ----------> Y
		自变量			函数		      因变量		   -----(初中)
		定义域			映射		       值域		   -----(高中)
		特征			    模型		       结果		   -----(机器学习)

机器学习最终目的求解y=kx+b中的k和b
机器学习学习的是什么?

  • 学习的是模型
  • 学习的是模型中的k和b(参数)------ 参数是需要学习的
机器学习---- 数据集

什么样的数据集
数据集的行 ----- 样本、字段(关系型)
数据集的列 ----- 特征、属性(机器学习)
特征组成的空间 ------ 特征或属性空间:由特征张成的空间
组成属性空间中的点 ------ 特征或属性向量
将数据集切分成训练集和测试集
使用训练集+算法构成模型解决实际问题

			    训练集:X(特征) + Y(类别标签)
		(+算法)  
	-----------> 训练模型Model
		
	-----------> 预测结果y_pred

在这里插入图片描述
误差error:进行校验结果情况
(1)y-y_pred
(2)|y-y_pred| ---- 绝对误差
(3)(y-y_pred)^2 ---- 平方误差 注 python语法(y-y_pred)**2
(4)训练误差:训练集
(5)测试误差:测试集
(6)泛化误差:新数据预测
如果对于非数值的特征,需要进行特征转换
如何对二分类问题进行评价?

  • 绝对值误差函数
  • 平方误差函数
  • 训练误差
  • 测试误差
  • 泛化误差
  • 性能矩阵(混淆矩阵)
    • Accuracy准确率 = (TP+TN)/ALL
    • Precsition 精确率 = TP/(TP+FP)
    • Recall=Tpr 真正率或召回率 = TP/(TP+FN)
    • FPR假正率 = FP/(FP+TN)
    • F1-Score精确率和召回率的调和平均 = 2/(1/pre + 1/recall) = 2prerecall/(recall+pre)
    • ROC曲线的AUC指标
概念学习
概念学习:关于布尔函数的学习方式
关系式:X------->F------->Y
引出了机器学习分类:
		根据是否是连续值的预测,分为
				分类问题-------离散值预测,如小明学习水上运动、邮件分类
				回归问题-------连续值预测,如房价预测
机器学习处理问题框架:
		1.将数据集切分为训练集和测试集
		2.通过训练集训练模型
		3.通过测试集测试模型,给出评价指标
机器学习分类
监督学习和无监督学习区别:是否有类别标签
		监督学习 ------ 有标签
				是否具备连续值的预测
						分类 (邮件分类):决策树算法、贝叶斯算法、KNN算法、SVM算法、LR算法
						回归 (房价预测):线性回归、LASSO回归、Ridge回归、Elasticnet回归

		无监督学习(非监督学习) ------ 没有标签
				聚类
						通过特征之间的相似性
				降维
						通过机器学习算法达到降维目的,区别于特征选择
		半监督学习
				主动学习
				纯半监督学习/直推学习
		强化学习
				解决连续决策问题,如围棋
		迁移学习
				解决小数据集和个性化问题
		深度学习
				解决小数据集和个性化问题
		深度(特征)+ 强化(连续决策)+ 迁移(模型适应性问题)

在这里插入图片描述

应用场景举例
  • (1)监督学习举例:
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  • (2)无监督学习举例:
    在这里插入图片描述
    例:决策树模型:
    在这里插入图片描述例:非监督学习
    在这里插入图片描述聚类:在没有类别标签的情况下根据特征相似性或相异性进行分类
    特征降维:根据算法将高维特征降低到了低维特征,低维度的特征不具备可解析性
机器学习经典案例举例 ------- 手写体文字识别

手写体文字识别案列

  • 明确:机器学习监督学习中的分类问题
  • 10分类问题
  • 3232矩阵 ---- 转化为 11024列的矩阵 ----- 通过SVM算法 ------ 识别结果

车牌识别、图像识别

  • 按照上面同样流程操作
机器学习三要素

机器学习模型 = 数据 + 算法 + 策略

  • 数据
  • 算法:提供求解参数的方法
    • 解析解 ------ 平常方法
    • 最优解 ------ 梯度下降法(最优解)、牛顿法
  • 策略:损失函数
    模型学习数据 = 模型 + 算法 + 策略
  • 模型:
    • 决策函数 ------ 输出0或1
    • 条件概率函数 ------ 按照概率进行输出
如何设计机器学习系统

首先明确:

  • 该问题是否为机器学习问题? ---- 是
  • 该问题是机器学习哪方面的问题? ------ 监督学习、无监督学习
    当拿到数据之后从下面两个角度思考问题:
  • 从数据角度思考:
    • 根据具备的数据能够看出做监督学习 or 无监督学习 or 半监督学习
  • 从业务的角度思考
    • 根据业务部门指定的业务方向,整理数据,从而建模
      特征工程
  • 对特征处理
  • 对数据的处理
    数据 + 选择的算法 ==> 模型
    通过测试集测试模型,给定最终模型
    如果有新数据,通过模型给出预测结果
模型选择 ---- 泛化性能体现(重点)

对于多个模型如何选择?
模型的泛化能力:

  • 1.欠拟合
  • 模型在训练集和测试集的效果都很差
例如 
		  	A:60%    B:58%
  • 欠拟合出现原因:模型过于简单
  • 欠拟合出现的场景:模型训练初期
  • 欠拟合解决办法:
    • 增加模型的多项式的项
    • 增加模型的多项式的项的次数(幂)
    • 减少正则罚项
  • 2.过拟合
    • 模型在训练集上的效果很好,但是测试效果很差
例如
						A:100%    B:80% 
						A:100%    B:40%
						如图,训练集的点都连上了,但测试集有的拟合度80%,有的拟合度才40%

在这里插入图片描述

  • 过拟合的出现原因:模型过于复杂、数据不纯、训练数据量太少
  • 过拟合的出现场景:出现在模型训练的中后期
  • 过拟合解决办法:
    • 针对模型过于复杂的特性,增加正则罚项
    • 重新清洗数据
    • 增加训练数据量
    • 对样本抽样或特征进行抽样
    • dropout:随机丢弃一些点(深度学习)
  • 防火防盗防过拟合
  • 奥卡姆剃刀原则:如果具有相同泛化误差的模型,选择较为简单的模型(防止过拟合)
机器学习三要素数学理论补充

数据
算法
策略

  • 损失函数、目标函数、误差函数
  • 损失函数越小越好
  • 损失函数的期望越小越好p(x,y)不容易求解
  • 经验损失 -------- 平均损失 -------- 经验风险最小化
  • 结构风险 ------ 在经验风险基础上增加了正则罚项 ------- 结构风险最小化
    注:
    因为损失函数的期望难以计算,所以考虑用现实训练集的经验风险来近似代替期望风险。
    经验风险是模型关于训练样本集的平均损失,
    根据大数定律,当样本容量N趋于无穷大时,经验风险趋于期望风险。
  • 参考图示:
    随着模型的复杂度的增加,模型在训练集上的误差越小的,但是模型在测试集上的误差先减少然后增加,这里需要找到一个合适的点,该点需要模型具备很好的泛化误差能力,因此得到了结构风险最小化的点对应的就是求解的最佳的点,该点对应的参数即为所求解参数。
    在这里插入图片描述
正则化

正则项(即正则罚项/正则化项)

  • 目的:为了降低模型的复杂度
  • 有几个正则项:
    • L1正则 +lambda*|w|
    • L2正则 +lambda* |w|^2 -------python写成lambad*|w|**2在这里插入图片描述
交叉验证

简单交叉验证:

  • 将数据集切分为:训练集和测试集 = 7:3 6:4 8:2
  • K则交叉验证:
    • 将数据集平均随机切分为K等分,将其中一份数据作为测试集,其余数据作为训练集,
      如第1份数据作为测试集,其余后面数据都作为训练集,可训练出一个模型;
      如第2份数据作为测试集,其余后面数据都作为训练集,可训练出一个模型;
      …(以此类推)
      直到最后一份数据作为测试集,其余数据都作为训练集,可训练出一个模型;如此总共:
      训练K个模型,得到平均准确率
  • 留一验证:
    • 特殊的K则
为什么现在是进入机器学习最佳时机

因为现在有了很多成熟的机器学习库
做到:在深入原理的基础上,结合已有的机器学习框架,解决实际问题
哪些库

  • 基于Python的sklearn库(scikit-learn库)
  • 基于spark的mllib库
  • 基于spark的sparkR库
  • 基于Java的Weka库
  • 深度学习库:
    • 基于java的dl4j(deeplearning4j)库
    • 基于python的tensorflow库
    • 基于tensorflow之上的pytorch库、keras库等

主要以python为主展开。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

小结

思维导图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值