一 大数据时代究竟改变了什么?
从三个方面改变了我们的思维方式
1 数据的重要性
- 数据资源---------数据资产(数据出现增值)
2 方法论 - 基于知识理论的完美主义---------基于数据的历史经验主义
- 翻译:你好吗
* 基于知识翻译:-----借助语言学家
* 你 you
* 好 good
* 吗 do
* are you good?
* are you well?
* how are you?
* 基于数据的翻译:
* are you good?
* are you well?
* how are you?
3 数据分析: - 统计学(抽样)--------数据科学(大数据)
* 数据科学家(大数据+算法+更加丰富的业务知识)
4 计算智能
* 复杂算法----------简单算法MapReduce
5 决策方面
* 基于目标决策 ---------基于数据决策
6 业务方面
* 基于业务的数据化
7 产业结合
* 以战略为中心-------------以数据为中心
二 大数据的4v特征
- 庞大的数据体量
TB-PB-ZB
HDFS分布式文件系统 - 数据种类多
结构化数据
mysql为主的存储和处理
非结构化数据
HDFS MR HIVE
半结构化数据
XML形式、HTML形式
HDFS、MR、HIVE、SPARK - 速度快
数据的增长速度快
TB-PB-ZB
HDFS
数据处理的速度快
MR-HIVE-PIG-IMPALA(离线)
SPARK-FLINK(实时) - 价值密度低
价值密度=有价值的数据/ALL
价值高
三 大数据项目架构-以电信日志分析为例(理解)
- 以电信日志分析为例
- 项目名称:电信日志分析系统
- 项目描述:电信日志分析系统是以电信用户上网所产生的数据进行分析和统计计算,数据主要来源于用户的上网产生的访问日志和安全日志,通过hadoop大数据平台完成日志的入库、处理、查询、实时分析、上报等功能,达到异常IP的检测、关键词过滤、违规违法用户的处理,整个项目数据量在1T-20T左右,集群数量在10台到100台。
- 项目架构分析:
* 数据采集层:ftp、socket方式
* 数据存储层:hdfs
* 数据分析层:MR\HIVE\IMPALA\SPARK
* 机器学习层:在大数据处理后的应用
* 数据展示层:oracle+ssm - 项目职责
* 重点负责:实时 or 离线
* 处理分析了哪些字段,通过何种手段进行分析
* 项目有没有优化? - 项目优化
四 机器学习-人工智能发展(了解)
- 人工智能三次浪潮
- 跳棋-----专家系统-----IBM公司
- 象棋-----统计模型-----IBM公司深蓝
- 围棋-----深度学习-----DeepMind
- 人工智能场景应用:
- 图像识别
- 无人驾驶
- 智能翻译
- 语音识别
- 医疗智能诊断
- 数据挖掘
五 机器学习-人工智能概念区别和练习(掌握)
- 机器学习是人工智能的一个分支
- 除了机器学习
- 数据挖掘
- 模式识别
- 深度学习
- 深度学习是机器学习的一种方法,是为了解决机器学习领域中如图像识别等问题提出
- 人工智能如何落地?
- 依靠机器学习
六 机器学习-数据、数据分析、数据挖掘区别和联系(掌握)
- 数据:观测值或测量值
- 信息:可信的数据
- 数据分析:数据–信息
- 数据挖掘:信息—有价值的信息提取
- 模式识别:图像识别
- 深度学习-------机器学习方法------数据挖掘模式识别
- 数据-----数据分析-----信息-----数据挖掘-----有价值信息
七 什么是机器学习(掌握)
- 机器学习 = 机器+学习
- 人类学习 = 大脑+经验
- 机器学习 = CPU+GPU(图形图像处理器)+ 数据 + 算法(智能)
- 概念:机器学习致力于研究如何通过计算的手段,在给定算法结合数据构建模型,通过模型达到预测的功能
- 如何判断问题是否为机器学习问题?
- 特定问题:不需要使用机器学习
- 确定性问题
- 基础统计问题
- 看是否具有预测的过程
- 机器学习
- 特定问题:不需要使用机器学习
八 基于规则的学习和基于模型的学习(掌握)
- 基于规则的学习是硬编码的方式进行学习
- 基于模型的学习是通过数据构建机器学习模型,通过模型进行预测
- X(自变量、定义域)------- f(函数、映射)---------模型-------Y(因变量、值域-------结果)
- 最终目的求解y=kx+b中的k和b
- 机器学习学习的是什么?
- 学习的是模型
- 学习的是模型中的k和b----参数----参数是需要学习的
九 机器学习关于数据集的概念(掌握)
- 什么样的数据集
- 数据集的行-样本
- 数据集的列-特征
- 特征组成的空间----特征或属性空间
- 组成属性空间中的点----特征或属性向量
- 将数据集切分成训练集和测试集
- 使用训练集+算法构成模型解决实际问题
- 误差:进行校验结果情况
- 如果对于非数值的特征,需要进行特征的转换
- 如何对二分类问题进行评价
- 绝对值误差函数
- 平方误差函数
- 训练误差
- 测试误差
- 泛化误差
- 性能矩阵
- accuracy准确率
- precision精确率
- recall=TPR 真正率或召回率
- FPR假正率
- F1-Score 精确率和召回率的调和平均
- ROC曲线的AUC指标
- 概念学习:关于布尔函数的学习方式
- 关系式:X-----F-----Y
- 引出了机器学习分类:
* 根据是否是连续值的预测,分为
* 分类问题----离散值预测,如小明学习水上运动
* 回归问题----连续值预测,如房价预测 - 机器学习处理问题框架:
* 1 将数据集且分为训练集和测试集
* 2 通过训练集训练模型
* 3 通过测试集测试模型,给出评价指标
十 机器学习分类详解(理解)
- 监督学习和无监督学习区别:是否有类别标签
* 监督学习
* 是否具备连续值的预测
* 分类
* 回归
* 无监督学习(非监督学习)
* 聚类
* 通过特征之间的相似性
* 降维
* 通过机器学习算法达到降维目的,区别于特征选择
* 半监督学习(了解)
* 主动学习
* 纯半监督学习/直推学习
* 强化学习(了解)
* 解决连续值预测问题
* 迁移学习(了解)
* 解决小数据集和个性化问题
* 深度(特征)+强化(连续决策)+迁移(模型适应性问题)
十一 机器学习经典案例举例-手写体识别(了解)
- 手写体识别案例
- 明确:机器学习监督学习中的分类问题
- 10分类问题
- 32*32矩阵—转化为1024列的矩阵—通过SVM算法—识别结果
- 车牌识别 图像识别
- 同样流程操作
十二 机器学习三要素详解及概念强化(熟悉)
- 机器学习模型=数据+算法+策略
- 数据:参考上面展示
- 算法:提供求解参数的方法
- 解析解-----平常方法
- 最优解-----梯度下降法(最优解)、牛顿法
- 策略:损失函数
- 模型学习模型=模型+算法+策略
- 模型:
- 决策函数-----输出0或1
- 条件概率函数-----按照概率进行输出
- 模型:
十三 如何设计机器学习系统
- 首先明确:
- 该问题是否为机器学习问题?—是
- 该问题时机器学习哪方面的问题?—监督学习、无监督学习
- 当拿到数据之后从下面两个角度思考问题:
- 从数据角度思考:
- 根据具备的数据看能够做监督学习 or 无监督学习 or 半监督学习
- 从业务的角度思考
- 根据业务部门指定的业务方向,整理数据,从而建模
- 从数据角度思考:
- 特征工程
- 对特征处理
- 对数据的处理
- 数据+选择的算法==>模型
- 通过测试集测试模型,给定最终模型
- 如果有新数据,通过模型给出预测结果
十四 模型选择-泛化性能体现(掌握)
- 对于多个模型如何选择?
- 模型的泛化能力:
- 1、欠拟合
- 模型在训练和测试集的效果都很差
- A:60% B: 58%
- 欠拟合出现原因:模型过于简单
- 欠拟合出现的场景:模型训练初期
- 欠拟合解决办法:
- 增加模型的多项式的项
- 增加模型多项式的项的次数
- 2、过拟合
- 模型在训练集上的效果很好,但是测试效果很差
- A:100% B:80%
- A:100% B:40%
- 过拟合的出现原因:模型过于复杂、数据不纯、训练数据量太少
- 过拟合的出现场景:出现在模型训练的中后期
- 过拟合解决办法:
- 针对模型过于复杂的特性,增加正则罚项的
- 重新清洗数据
- 增加训练数据
- 对样本抽样或抽样
- dropout—随机丢弃一些点(深度学习)
- 1、欠拟合
- 防火防盗防过拟合
- 模型选择的—奥卡姆剃刀原则
* 给定两个具有相同泛化误差的模型,较简单的vs较复杂的,选择较为简单的模型(防止过拟合)
十五 机器学习三要素数学理论补充(理解)
- 数据
- 算法
- 策略
* 损失函数、目标函数、误差函数
* 损失函数越小越好
* 损失函数的期望越小越好P(x,y) 不容易求解
* 经验损失—平均损失—经验风险最小化
* 结构风险—在经验风险基础上增加了正则罚项—结构风险最小化
* 参考图示:
*随着模型的复杂度的增加。模型在训练集上的误差越小的,但是模型在测试集上的误差先减少后增加,这里需要找到一个合适的点,该点需要模型具备很好的泛化误差能力,因此得到了结构风险最小化的点对应的就是求解的最佳的点,该点对应的参数即为所求解参数。
十六 正则化
- 正则项
- 目的:为了降低模型的复杂度
- 有几个正则项:
- L1 正则
- L2 正则
十七 交叉验证(了解)
- 简单交叉验证:
* 将数据集切分为:训练集和测试集:7:3 6:4 8:2 - k则交叉验证:
* 将数据集平均随机切分为K等分,将其中一份数据作为测试集,其余数据作为训练集,训练k个模型,得到平均准确率 - 留一验证:
* 特殊的k则交叉验证
为什么现在是进入机器学习最佳时机(了解)
- 因为现在又了很多的成熟的机器学习库
- 希望大家能够在深入原理的基础上,结合已有的机器学习框架,解决实际问题
- 哪些库:python-sklearn、spark-mllib、sparkR、基于java的weka库
- 深度学习库:TensorFlow、pytorch