机器学习经典案例-手写识别
- 手写识别案例
- 10分类问题
- 32*32矩阵
- 车牌识别,图像识别
*同样流程进行操作
机器学习三要素
- 机器学习模型=模型+策略+算法
- 模型-寻找参数(决策函数,条件概率分布)
- 算法-提供求解参数的办法
- 策略:损失函数
- 模型学习参数=模型+策略+算法
- 模型:决策参数
- 决策函数0或1
- 条件函数——按照概率进行输出
如何 构成机器学习
- 该问题是否为机器学习
- 该问题是机器学习的哪方面–监督无监督,回归分类
- 当拿到数据从两方面思考:
- 数据角度思考:
- 分局具备的数据用监督or无监督Or半监督思考
- 业务角度思考:
- 根据业务部门指定的业务方向,整理数据,从而建模
- 特征工程:
- 对特征处理
- 对数据处理
- 数据+选择的算法==模型
- 如果有新数据,用模型预测结果
模型选择-泛化性能体现
对于多个模型如何选择
- 模型的泛化能力:
- 欠拟合
- 模型在训练集和测试值效果都很差
- 欠拟合出现的场景:模型训练的初期
- 欠拟合出现的原因 模型过于简单
- 欠拟合出现的解决办法:增加模型多项式的项;增加多项式的次数
- 过拟合
- 模型在训练集效果很好,测试集效果很差
- 过拟合出现原因:模型过于复杂,数据不纯,训练的数据过少
- 过拟合场景:出现数据的中后期
- 过拟合出现的解决方:增加正则罚项,重新清洗数据,增加数据测试量
- 防火防盗防过拟合
- 对样本或者特征进行抽样
- dropou-随机丢弃一些点
- 奥卡姆剃刀原则:如果有相同泛化误差的,选择较为简单的模型
机器学习三要素算法补充
- 数据
- 算法
- 策略
- 损失函数,目标函数,误差函数
- 损失函数越小越好
- 损失函数的期望越小越好P(x,y)
- 经验损失-平均损失-经验损失最小化
- 结构风险-在经验风险基础上增加正则罚项-结构风险最小化
- 什么是正则项:
L1+lumba(w)
L2+lumbar(w)平方
什么是交叉验证?
- 简单交叉验证
- 将数据集切分为:训练集和测试集:7:3;6:4
- k则交叉验证
- 将数据集分为K等份, 其中一份作为测试集,其余数据作为训练集,训练K个模型,得到平均准确率。
- 留一模型
- 特殊的K则交叉验证
为什么机器学习最佳时机
- 现在有成熟的机器学习库
- 深入学习原理,机器库,解决实际问题
- 基于Python的sklearn
- 基于spark的mllib库
- 基于spark的sparkR
- 基于Java的Weka
- 深度学习库