0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于机器学习的超全总结

nlfO_thejiangme 来源:未知 作者:李倩 2018-11-10 10:55 次阅读

时光飞逝,学习机器学习已四年有余,深感机器学习之博大精深,可能不断学习数十年也无法穷尽。但从另一方面考虑,我也学了很多,也有一些自己的感悟。本文谨代表我个人的观点和感悟,希望对大家(尤其是初学者)有所帮助,欢迎大家一起讨论与学习~

本文的目录如下:

1. 综述

1.1机器学习是什么

1.2 机器学习的过程

1.3监督学习VS无监督学习

根据训练数据是否有标记,机器学习任务大致分为两大类:监督学习和非监督学习,监督学习主要包括分类和回归等,非监督学习主要包括聚类和频繁项集挖掘等。

监督学习的过程如下:

无监督学习的过程如下:

监督学习算法VS无监督学习算法:

1.4输入空间、特征空间、输出空间、假设空间

输入空间:在监督学习中,将输入所有可能取值的集合称为输入空间。

特征空间:每个具体输入是一实例,通常用特征向量表示,所有特征向量存在的

空间为特征空间。有时输入空间和特征空间为相同的空间,有时为不同的空间,需要将实例从输入空间映射到输出空间。

输出空间:在监督学习中,将输出所有可能取值的集合称为输出空间。

假设空间:监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。由输入空间到输出空间的映射的集合,称为假设空间。举个简单的例子,在一元线性回归中,假设空间即所有的直线y=ax+b组成的集合,我们的目标就是找到一条y=a'x+b',使得损失最小。

1.5生成模型和判别模型

生成模型:生成模型由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型。之所以被称为生成方法,是因为模型表示了给定输入X产生输出Y的关系。典型的模型有朴素贝叶斯(NB)和隐马尔可夫模型(HMM)等。

判别模型:判别模型由数据直接学习决策函数f(X),或条件概率分布P(Y|X)。判别方法关心的是对给定的输入X,应预测什么样的输出Y。典型的判别模型包括k近邻算法(KNN)、决策树(DT)、逻辑回归(LR)、支持向量机(SVM)等。

1.6 过拟合VS欠拟合

解决过拟合:重新清洗数据、增大样本量、减少特征的量、增强正则化作用、dropout(适用于神经网络)等。

解决欠拟合:使用更复杂的模型、更有效的特征选择、减少正则化作用等。

1.7 特征选择

特征选择对机器学习至关重要,个人认为在大部分机器学习任务中特征就决定了效果的上限,模型的选择与组合只是无限逼近于这个上限。

特征选择的主要作用包括:减少特征数量会防止维度灾难,减少训练时间;增强模型泛化能力,减少过拟合;增强对特征和特征值的理解。

常见的特征选择方法如下:

去除取值变化小的特征:如果绝大部分实例的某个特征取值一样,那这个特征起到的作用可能就比较有限,极端情况下如果所有实例的某特征取值都一样,那该特征基本就不起作用。

单变量特征选择法:能够对每一个特征进行测试,衡量该特征和响应变量之间的关系,根据得分扔掉不好的特征。常见方法包括卡法检验、互信息、皮尔森相关系数、距离相关系数、基于学习模型的特征排序(Model based ranking)等。

正则化:L1正则化、L2正则化。

随机森林特征选择:这类方法主要包括平均不纯度减少(mean decrease impurity)和平均精确率减少(Mean decrease accuracy)两种方法。

顶层特征选择法:这类方法主要包括稳定性选择(Stability selection)和递归特征消除(Recursive feature elimination)两种方法。

1.8 方差vs偏差

偏差描述的是算法预测的平均值和真实值的差距(算法的拟合能力),低偏差对应于模型复杂化,但模型过于复杂容易过拟合。

而方差描述的是同一个算法在不同数据集上的预测值和所有数据集上的平均预测值之间的关系(算法的稳定性),低方差对应于模型简单化,但模型过于简单容易欠拟合。

高偏差(一般是欠拟合,注意跟上面低偏差时模型复杂化做区别)是模型在训练集和验证集上的误差都比较大,随着数据集的增加,模型在训练集和验证集上的误差表现如下:

解决高偏差的方法:使用更多特征,增加多项式特征,减少正则化程度λ。

高方差是针对不同的训练集,其拟合得到的参数相差很大(一般是过拟合,注意跟上面低方差时模型简单化做区别)。随着数据集的增加,模型在训练集和验证集上的误差表现如下:

解决高偏差的方法:增加训练样本,减少特征数量,增加正则化程度λ

2. 机器学习任务分类

2.1 按学习方式分类

2.2 按算法思想分类

3. 损失函数

损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的模型用的损失函数一般也不一样。

损失函数分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项。通常表示为如下:

3.1 0-1损失函数

0-1损失是指预测值和目标值不相等为1,否则为0:

3.2 绝对值损失函数

绝对值损失函数是计算预测值与目标值的差的绝对值:

3.3 log对数损失函数

log损失函数的标准形式如下:

3.4 平方损失函数

平方损失函数经常应用于回归问题,它的标准形式如下:

3.5 指数损失函数

指数损失函数的标准形式如下:

3.6 Hinge损失函数

Hinge损失函数标准形式如下:

损失函数的选择,对一般机器学习任务非常重要。很多任务就是难在不太容易确定一个比较好的损失函数。

4.监督学习

4.1监督学习的任务分类

常见监督学习任务的分类以及他们之间的对比如下;

4.2 监督学习算法

监督学习的算法非常多,后续也会有选择的分享我对一些常见算法的感悟。常见的监督学习算法具体如下:

4.3 监督学习的评估

监督学习的效果评估如下:

5.无监督学习

5.1 无监督学习的任务分类

常见的无监督学习的任务分类如下:

5.2 聚类

无监督学习—聚类

5.3 推荐

无监督学习—推荐

5.4 频繁项集挖掘

无监督学习—频繁项集挖掘

6.总结与思考

6.1总结

6.2 思考

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4332

    浏览量

    62637
  • 机器学习
    +关注

    关注

    66

    文章

    8419

    浏览量

    132670

原文标题:知识点 | 关于机器学习的超全总结

文章出处:【微信号:thejiangmen,微信公众号:将门创投】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Wifi模块全总结

    Wifi模块全总结
    发表于 08-23 10:03

    机器学习参数的如何选择

    机器学习参数的选择,余弦距离vs欧式距离vs曼哈顿距离
    发表于 04-24 07:58

    机器学习之高级算法课程学习总结

    机器学习:高级算法课程学习总结
    发表于 05-05 17:17

    改善深层神经网络--参数优化、batch正则化和程序框架 学习总结

    《深度学习工程师-吴恩达》02改善深层神经网络--参数优化、batch正则化和程序框架 学习总结
    发表于 06-16 14:52

    机器学习小白的总结

    机器学习小白第一周自我总结
    发表于 07-08 08:27

    模拟电子电路全总结

    模拟电子的相关知识学习教材资料——模拟电子电路全总结
    发表于 09-20 16:10 0次下载

    基于Android安全总结与分析

    ,Android智能手机的日益流行也吸引了黑客,导致Android恶意软件应用的大量增加,从Android体系结构、设计原则、安全机制、主要威胁、恶意软件分类与检测、静态分析与动态分析、机器学习方法、安全扩展方案等多维角度对Android安全的最新研究进展进行了
    发表于 01-18 16:58 3次下载

    关于Linux下多线程编程技术学习总结

    Linux下多线程编程技术 作为一个IT人员,不断的学习总结是我们这个职业习惯,所以我会将每个阶段的学习都会通过一点的总结来记录和检测自己的学习
    发表于 04-22 03:12 2206次阅读
    <b class='flag-5'>关于</b>Linux下多线程编程技术<b class='flag-5'>学习</b><b class='flag-5'>总结</b>

    机器学习的12大经验总结

    本文整理了关于机器学习研究者和从业者的 12 个宝贵经验,包括需要避免的陷阱、需要关注的重点问题、常见问题的答案。希望这些经验对机器学习爱好
    的头像 发表于 12-13 15:29 2686次阅读

    机器学习的logistic函数和softmax函数总结

    本文简单总结机器学习最常见的两个函数,logistic函数和softmax函数。首先介绍两者的定义和应用,最后对两者的联系和区别进行了总结
    的头像 发表于 12-30 09:04 9777次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的logistic函数和softmax函数<b class='flag-5'>总结</b>

    机器学习研究中常见的七大谣传总结

    学习深度学习的过程中,我们常会遇到各种谣传,也会遇到各种想当然的「执念」。在本文中,作者总结机器学习研究中常见的七大谣传,他们很多都是我
    的头像 发表于 02-26 14:05 2851次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>研究中常见的七大谣传<b class='flag-5'>总结</b>

    关于STM32的FLASH程序(实用)

    关于STM32的FLASH程序(实用)(嵌入式开发应用培训)-关于STM32的FLASH程序(实用),适合感兴趣的学习
    发表于 08-04 12:03 24次下载
    <b class='flag-5'>关于</b>STM32的FLASH程序(<b class='flag-5'>超</b>实用)

    RT-Thread学习笔记 --(6)RT-Thread线程间通信学习过程总结

    前两篇文章总结了RT-Thread多线程以及多线程同步的学习过程,关于前两篇学习总结,可以查看之前的文章。
    发表于 01-25 18:50 7次下载
    RT-Thread<b class='flag-5'>学习</b>笔记 --(6)RT-Thread线程间通信<b class='flag-5'>学习</b>过程<b class='flag-5'>总结</b>

    机器学习算法总结 机器学习算法是什么 机器学习算法优缺点

    机器学习算法总结 机器学习算法是什么?机器学习算法优
    的头像 发表于 08-17 16:11 1925次阅读

    机器学习8大调参技巧

    今天给大家一篇关于机器学习调参技巧的文章。参数调优是机器学习例程中的基本步骤之一。该方法也称为
    的头像 发表于 03-23 08:26 628次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>8大调参技巧