机器学习与大数据基础知识(二)

685-杜同学

发表文章数:68

热门标签

,
首页 » 算法 » 正文

数据集

机器学习与大数据基础知识(二)

  • 数据集的行:样本

  • 数据集的列:特征

  • 特征组成的空间:特征或属性空间

  • 组成属性空间中的点:特征或属性向量

  • 将数据集切分成训练集和测试集,使用训练集+算法构成模型解决实际问题

非数值特征如何处理?

非数值特征需要通过labelcoder和onehotencoder转化为数值型变量,注意使用onehotencoder需要将维度扩大

序号 颜色 花瓣直径(cm) 分类
1 1.5 玫瑰
2 1.2 牵牛花
3 1.3 牵牛花
  • labelencoder标签编码(红:0,蓝:1,黄:2)

序号 颜色 花瓣直径(cm) 分类
1 0 1.5 玫瑰
2 1 1.2 牵牛花
3 2 1.3 牵牛花
  • onehot encoder 独热编码(红:100,黄:010,蓝001)

序号 花瓣直径(cm) 分类
1 1 0 0 1.5 玫瑰
2 0 0 1 1.2 牵牛花
3 0 1 0 1.3 牵牛花

如何对二分类问题进行评价?

  • 绝对值误差函数

  • 平方误差函数

  • 训练误差:关于训练集的平均损失

    机器学习与大数据基础知识(二)

  • 测试误差:关于测试集的平均损失

机器学习与大数据基础知识(二)

  • 泛化误差:对新数据误差

        性能矩阵(混淆矩阵)

  postive negative
postive PP PN
negative NP NN

 

  • Accuraccy 准确率=(PP+NN)/ALL

  • Precsition精确率=PP/(PP+NP)

  • Recall=Tpr 真正率或召回率=PP/(PP+PN)

  • Fpr假正率=NP/(NP+NN)

  • F1-Score精确率和召回率的调和平均数=2/(1/精确率 + 1/召回率)=2PP/(2PP+PN+NP)

  • ROC曲线的AUC指标

 

机器学习的步骤

  1. 把数据拆分为训练集和测试集

  2. 用训练集和训练集的特征向量来训练算法

  3. 用学习来的算法运用在测试集上来评估算法

机器学习分类

概念学习:关于布尔函数的学习方式

有监督学习:有类别标签

  • 分类:目标标记为类别型数据

            决策树、KNN、SVM、Perception&&NeuralNetwork、Bayes、LogisticRegression

  • 回归:目标标记为连续性数值

            简单线性回归、多元线性回归、Lasso回归、Ridge回归、ElasticNet

无监督学习:无类别标签

  • 聚类:通过特征之间的相似性

  • 降维:通过机器学习算法到达降维目的,区别于特征选择

半监督学习:有的有标签,有的无标签

  • 主动学习(专家系统)

  • 纯半监督学习(预测新数据)/直推学习(预测无标签数据)

强化学习:解决连续决策问题
迁移学习:解决小数据集和个性化问题

 

机器学习三要素

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

  • 机器学习模型:y=ax+b

  • 策略:什么样的模型是好的模型

  • 算法:如何找到最优的a和b

模型

  • 决策函数:结果为类别标签 —— F={f|Y=f(X)}

  • 条件概率分布:结果为概率模型 —— F={P|P(Y|X)}

策略

  • 0-1损失函数:用于分类

机器学习与大数据基础知识(二)

  • 平方损失函数:用于回归

机器学习与大数据基础知识(二)

  • 绝对值损失函数:分类或回归

机器学习与大数据基础知识(二)

  • 对数损失函数

机器学习与大数据基础知识(二)

  • 指数损失

机器学习与大数据基础知识(二)

 

损失函数期望越小越好,但求解损失函数p(x,y)不容易求解。

从而提出了一系列概念。经验损失=平均损失—>当数据量足够大时,经验风险最小化=平均损失最小化—>结构风险:在经验风险的基础上增加正则罚项,使结构风险最小化。以下是一些详细概念

期望损失

机器学习与大数据基础知识(二)

经验损失/平均损失—->平均/经验损失最小化

机器学习与大数据基础知识(二)

 

机器学习与大数据基础知识(二)

结构风险–>结构风险最小化

机器学习与大数据基础知识(二)

机器学习与大数据基础知识(二)

 

  • 决策函数:损失函数就是平方损失

  • 条件概率:极大似然估计:经验损失=平均损失

机器学习与大数据基础知识(二)

  • 参考图示:随着模型的复杂度增加,模型在训练集上的误差越小,但是模型在测试集上的误差先减小然后增加,这里需要找到一个合适的点,该点需要模型具备很好的泛化能力,因此得到了结构风险最小化的点对应的就是求解最佳的点,该点对应的参数即为所求解参数

算法

  • 解析解—平常方法

  • 最优解—梯度下降放(最优解)、牛顿法

 

如何设计机器学习系统:

  • 首先明确:该问题是否是机器学习问题?–是;该问题是机器学习问题的哪方面?–监督学习,非监督学习

  • 当拿到数据之后从下面两个角度思考问题:从数据角度思考:根据具备的数据能够看出是监督学习还是无监督学习;从业务的角度思考:根据业务部门指定的业务方向

特征工程

  • 对特征处理

  • 对数据处理

 

模型选择-泛化性能体现

对于多个模型如何选择?

模型的泛化能力

  • 欠拟合:模型在训练集和测试集的效果都很差 60% 58%

  • 过拟合:模型在训练集上的效果好,但在测试集上效果差 100% 40%

欠拟合

  • 欠拟合出现原因:模型过于简单

  • 欠拟合出现场景:模型的训练初期

  • 欠拟合解决办法:增加模型多项式项、增加模型多项式项的次数、减少正则罚项

过拟合

  • 过拟合出现原因:模型过于复杂、数据不纯、训练数量太少

  • 过拟合出现场景:出现在模型训练的中后期

  • 过拟合解决办法:针对模型过于复杂的–增加正则罚项、针对数据不纯的重新清洗数据、训练数据少的增加训练的数据量、对样本进行抽样或特征进行抽样、dropout随机丢弃一些点(深度学习)

奥卡姆剃刀原则:具有两个相同泛化误差的模型,较简单的模型比较复杂的更可取

 

正则化 

  • 目的:为了降低模型的复杂度

  • L1正则=损失函数后加上λ|ω|

机器学习与大数据基础知识(二)

  • L2正则=损失函数后加上λ|ω|**2

机器学习与大数据基础知识(二)

交叉验证

在机器学习中常用的精度测试方法,叫做交叉验证。它的目的是得到可靠稳定的模型,具体做法是拿出大部分数据进行建模,留小部分样本进行预测,并求出这些小部分样本中的预测误差,交叉验证在克服过拟合的问题上非常有效。

  • 简单交叉验证

         将数据集切分为:训练集和测试集=7:3  6:4  8:2

  • K则交叉验证

        将数据集平均随机切分成K等分,将其中一份数据作为测试集,其余数据作为训练集,训练K个模型,得到平均准确率

  • 留一验证

        特殊的K则交叉验证。每次只留一个样本作为测试集

 

库介绍

  • 基于Python的sklearn库

  • 基于spark的mllib库

  • 基于spark的sparkR库

  • 基于Java的Weka库

深度学习库

  • 基于java的dl4j库

  • 基于python的tensorflow

  • 基于tensorflow之上的pytorch、keras等

拜师教育学员文章:作者:685-杜同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《机器学习与大数据基础知识(二)》 发布于2020-03-10

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录