机器学习和大数据的区别和联系
- 大数据做的是数据的存储和统计计算
- 机器学习是在大数据的基础上,通过数据结合机器学习算法,建立模型,对现实事件作出预测和判断。
大数据的4V特征
- 数据量大
* TB—PB—EB—ZB—YB HDFS - 数据种类多
* 结构化数据:mysql中存储
* 半结构化数据:HTML/XML等——大数据框架
* 非结构化数据:视频、音频——大数据框架 - 速度快
* 数据增长速度快
* 数据处理速度快 - 价值密度低
* 密度=有价值数据/ALL
* 机器学习算法解决
大数据时代改变了什么
- 思维方式的改变
- 7个方面
- 数据的重要性:数据资源——》数据资产(数据的增值)
- 方法论: 基于知识理论完美主义——》基于数据历史经验主义
- 数据分析: 统计学——》数据科学
- 计算智能:复杂算法——》简单算法
- 业务:业务的数据化——》数据的业务化
- 决策:基于目标的决策——》基于数据的决策
- 产业竞合:以战略为中心——》以数据为中心
人工智能
- 应用场景
图片识别——分类问题
人脸识别
智能翻译
无人驾驶
医疗智能诊断
数据挖掘等 - 人工智能的三次浪潮
- 1962:IBM的跳棋程序战胜人类高手,人工智能第一次浪潮
- 1997年,IBM深蓝战胜象棋选手卡斯帕罗夫,人工智能第二次浪潮
- 2016年,Google AlphaGO战胜围棋选手李世石,人工智能第三次浪潮
* 2017年,AlphaGO战胜柯洁
- 人工智能、机器学习、深度学习的关系
- 机器学习是人工智能的一个分支
- 深度学习是实现机器学习的一种技术(方法):深度学习是解决机器学习在某些方面的不足,如图像识别等。
- 数据、数据分析、数据挖掘、机器学习
- 数据:观测值
- 数据分析:数据到信息的过程
- 信息:可信的数据
- 数据挖掘:信息到有价值的信息
* 深度学习——>机器学习(方法)——>数据挖掘(事情)/模式识别(事情):信息——>有价值信息
机器学习
什么是机器学习
* 致力于研究如何通过CPU和GPU(图形处理器)的计算,利用经验/数据来改善(计算机)系统自身的性能。
* 有一个预测的过程
什么不是机器学习
* 确定性问题
* 数值计算问题
基于规则的学习
* 基于专家发现的规则,指定规则,只需要新数据带入规则即可得到预测结果。
基于模型的学习
* x(特征数据)——f(函数—模型)——》y(结果数据)
* 模型=数据+算法
机器学习相关概念
* 样本(Sample):记录、对象《——》二维表的行
* 特征:属性《——》二维表的列
* 属性/特征空间:属性/特征张成的空间——n维空间
* 属性/特征向量:组成属性空间中的一系列的点——样本
* 特征值:组成属性或特征向量中的点的具体值
* 误差
* 泛化误差:模型使用新数据的能力,通常将测试误差用作泛化误差
* 训练误差:模型在训练集上的误差
* 测试误差:模型在测试集的误差
* 误差:预测值-实际值
* 准确率
* 准确率:正确/ALL
* 错误率:1-准确率
* 通常将数据集进行切分:
* 训练集:测试集=8::2 7:3 6:4
* 训练集:X(特征)+Y(类别标签)
* 测试集:X(特征)+Y(类别标签)
* 类别型变量处理
* 天气:晴天、阴天、雨天
* label encoder:标签编码——>0 1 2
* one-hot encoder:独热编码
* 0 0 1
* 0 1 0
* 1 0 0
* 通常使用label encoder
* 回归和分类问题
* 如果**预测值是连续值**,对应的问题是**回归问题**
* 如果**预测值是离散值**,对应的问题是**分类问题**
机器学习分类
- 是否有类别标签:监督学习和非监督学习
- 监督学习
- 分类:预测值不连续
* 分类算法:决策树、KNN、SVM、Perception&&NeuralNetwork、LogisticRegressionBayes、 - 回归
* 回归算法:简单线性回归、多元线性回归、Lasso回归、Ridge回归、ElasticNet
- 分类:预测值不连续
- 非监督学习
- 聚类:通过相似性度量,组内的相似性是极高的,组间的相异性极高,进行分类
- 降维:通过算法进行降维的话,Z1和Z2的物理含义是不明确的
* 特征选择:从原有的特征中选择比较重要的特征: X1X2X3===》X1X2
- 半监督学习
- 应用场景比较多
- 半监督学习
- 基于聚类的假设
* 有类别标记的数据+没有类别标记的数据,将有类别标记的数据,去掉标签列,所有的数据均没标签,对全部数据进行聚类,聚类之后,有类别标记的数据和没有类别标记的数据,有可能被分到不同的组或簇中,将所有的,有类别标记的数据,根据机器学习常用的处理方法(投票原则),根据少数服从多数的原则进行表决,将没有带类别标签的数据加上类别标签 - 利用所有样本进行模型训练
- 基于聚类的假设
- 强化学习
- 解决连续决策的问题
- 围棋、无人驾驶汽车
- 迁移学习
- 小数据问题(从大数据集训练模型迁移到小数据集)
- 个性化定制
如何设计一个机器学习系统?
- 抽样
* 样本抽样
* 特征抽样 - 混淆矩阵
* 横向:真实值
* 纵向:预测值 - 模型选择
机器学习三要素
- 机器学习=算法+数据+策略(损失函数)
* 策略:损失函数/目标函数/误差函数
* 0-1损失函数:分类问题
* 平方损失函数:回归问题
* 绝对损失函数:分类或回归问题
* 对数损失:分类
* 算法:算法中包含的是参数信息
* 解析解
* 最优解:梯度下降法、牛顿法 - 机器学习=模型+算法+策略(损失函数)
* 模型:分为决策函数、条件概率分布
模型选择
- 泛化性能较好的模型
- 欠拟合:模型在训练集和测试集效果都很差
- 产生的原因:模型太过简单
- 产生的时期:模型训练的初期
- 解决办法:
- 增加多项式的特征项,使得模型变得复杂
- 增加多项式的特征项的次数,使得模型复杂
- 减少正则罚项
- 过拟合:模型在训练集效果很好,在测试集效果较差
- 产生原因:模型过于复杂、训练数据量太少、数据不纯
- 产生时期:训练模型的中后期
- 解决办法:
- 增加训练数据
- 重新清洗数据
- 增加正则罚项(降低模型的复杂度)
- 模型选择基本原则:奥卡姆剃刀原则
- 在具有相同泛化误差的模型中,选择较为简单的模型,防止过拟合
机器学习成熟库
- Scikit-learn
- SparkMLLIB
- SparkR
- Weka
机器学习三要素 — 策略
- 策略从损失函数的角度考虑:损失函数描述的是f(x)和y之间的差距
P(x,y)难以获得,损失函数的期望难以求解;要想达到损失函数的期望最小,
可以依照平均损失来近似的替代策略部分的损失函数的期望- 经验风险
- 要想平均损失最小化,即经验风险最小化:
- 经验风险有可能发生过拟合,需要增加正则罚项λJ(f)
- 结构风险
- 结构风险最小化
- 正则化
* L1正则(范数) —— 一次项
* L2正则 —— 平方项
- 经验风险
- 交叉验证
- 简单交叉验证(留出法)
数据纷争两部分:分别用于训练集和测试集 - 10则交叉验证
样本数据分成10份,轮流将一份作为测试集,其余9份作为训练集,得到10个model,10次结果均值作为算法准确率。 - 留一验证
10/K则交叉验证的特例,K为样本数据个数。只适用样本数据中的一项或某一条样本作为测试数据,其余作为训练数据,一直重复,直到所有样本都作训练数据一次。
- 简单交叉验证(留出法)