• 机器学习笔记(一)----基本概念【华为云技术分享】


    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/devcloud/article/details/101101758

    好记性不如烂笔头,打算以博客连载的方式把最近机器学习的一些学习笔记记下来,机器学习涉及的知识点很多,时间一长很容易遗忘,写在博客上也方便自己随时查阅及复习。学习笔记偏重实用工程,尽量不涉及复杂的数学推导。

    机器学习分类

    -- 监督学习:训练数据中带有标记(分类、回归);

    -- 无监督学习:训练数据中无标记(聚类、异常检测、密度分析);

    -- 半监督学习:训练数据中带有少量标记(分类、回归);

    -- 强化学习:通过状态空间的大量试错学习达成最佳决策(决策);

    -- 深度学习:利用多层神经网络进行监督、无监督或是强化学习的方法(分类、回归、聚类)。

    数据划分

    -- 留出法:直接将数据集D划分为两个互斥的集合,一个集合作为训练集S,另一个作为测试机T。

    -- 交叉验证法:将数据集D划分为k个大小相同的互斥子集,每次用k-1个子集作为训练集,余下的作为测试集,可进行k次训练和验证,最后取测试结果的均值。

    -- 自助法:有m个样本的数据集D,每次随机从D中挑选一个样本放入D‘,再把此样本放回D中,重复执行m次后,得到训练数据集D’。约有1/3的数据没在训练数据中出现过,用于包外估计。(数据集较小时使用效果较好)

    模型评估

    泛化能力:指模型对未知数据的预测能力。

    -- 泛化误差:偏差、方差、噪声之和。

    -- 过拟合:模型在训练及上表现很好,但在未知数据上不能很好的预测。

    -- 欠拟合:模型在训练集和测试集上都不能很好的预测。

    性能度量指标

    -- 均方误差:m个样本的方差的平均数,均方误差小的模型性能好,主要用于回归。

    -- 错误率:分类错误的样本占样本总数的比例。

    -- 精度:分类正确的样本占样本总数的比例。

    -- 查准率:真正例样本数(TP)和预测结果是正例的样本数(TP(真正例数)+FP(假正例数))的比值。

    -- 查全率(召回率):真正例样本数(TP)和真实正例样本数(TP(真正例数)+FN(假反例数))的比值。

    -- P-R图:以查全率做x轴,查准率做y轴的平面图。判断模型优劣的两种方式:1、平衡点(查全率=查准率时的取值)更大的性能更好;2、曲线没有交叉的情况下,被“包住”的曲线模型性能弱于外侧的模型,如下图,A模型优于C模型。

    -- 混淆矩阵:用在分类问题中的NxN矩阵,N为分类的个数。如下图猫、狗、兔子的三分类系统,每一列代表预测值,每一行代表实际值,对角线两边的都是预测错误的,从混淆矩阵中可以很直观地发现问题在哪里。

    -- ROC和AUC:ROC(受试者工作特征曲线)以假正例率为x轴,真正例率为y轴,AUC是ROC曲线下的面积,面积越大分类效果越好(真正例率越高,假正例率越低越好)。

    偏差(Bias):反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,高偏差,即为欠拟合。

    方差(Variance):反映的是同样大小的训练集的变动导致的学习性能的波动,即刻画了数据扰动所造成的影响,即模型的稳定性。高方差,即为过拟合。
    模型复杂度和偏差、方差的关系如下图,随着模型复杂度增大,偏差减小,方差变大,预测错误率在模型复杂度到达一定程度后,反而会增大,偏差和方差从某种程度上说是一对矛盾体,很难做到偏差和方差都很低,只能从偏差、方差和模型复杂度中找到一个平衡点。

    作者:华为云专家周捷

    HDC.Cloud 华为开发者大会2020 即将于2020年2月11日-12日在深圳举办,是一线开发者学习实践鲲鹏通用计算、昇腾AI计算、数据库、区块链、云原生、5G等ICT开放能力的最佳舞台。

    欢迎报名参会

  • 相关阅读:
    const void *a 与 void *const a 的差别
    unity中的MonoBehaviour.OnMouseDown()
    ZooKeeper场景实践:(2)集中式配置管理
    也谈測试核心竞争力
    关于静态与动态编译arm平台程序的比較
    使用Nexus搭建企业maven仓库(二)
    cocos2dx手写js绑定C++
    HDU2037 今年暑假不AC 【贪心】
    Android的NDK开发(2)————利用Android NDK编写一个简单的HelloWorld
    Android的NDK开发(1)————Android JNI简介与调用流程
  • 原文地址:https://www.cnblogs.com/huaweicloud/p/11865915.html
Copyright © 2020-2023  润新知