来源 | 尤而小屋

本文仅作学术分享,如有侵权请联系删文

图解机器学习算法系列 以图解的生动方式,阐述机器学习核心知识 & 重要模型,并通过代码讲通应用细节。本文为系列第1篇,梳理机器学习最常见的知识要点。

1. 机器学习概述

1)什么是机器学习

人工智能

大概在上世纪50年代,人工智能开始兴起,但是受限于数据和硬件设备等限制,当时发展缓慢。

机器学习

深度学习

让我们看看国外知名学者对机器学习的定义:

机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构,使之不断改善自身

从实践的意义上来说,机器学习是在大数据的支撑下,通过各种算法让机器对数据进行深层次的统计分析以进行「自学」,使得人工智能系统获得了归纳推理和决策能力。

垃圾邮件过滤

2)机器学习三要素

数据、模型、算法

(1)数据

数据驱动

(2)模型&算法

模型

算法

3)机器学习发展历程

人工智能一词最早出现于1956年,用于探索一些问题的有效解决方案。1960年,美国国防部借助「神经网络」这一概念,训练计算机模仿人类的推理过程。

2010年之前,谷歌、微软等科技巨头改进了机器学习算法,将查询的准确度提升到了新的高度。而后,随着数据量的增加、先进的算法、计算和存储容量的提高,机器学习得到了更进一步的发展。

4)机器学习核心技术

分类

聚类

异常检测

回归

5)机器学习基本流程

机器学习工作流(WorkFlow)包含数据预处理(Processing)、模型学习(Learning)、模型评估(Evaluation)、新样本预测(Prediction)几个步骤。

数据预处理

模型学习

模型评估

新样本预测

6)机器学习应用场景

作为一套数据驱动的方法,机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别和机器人等领域。

智能医疗

人脸识别

机器人的控制领域

2.机器学习基本名词

监督学习

无监督学习

强化学习

示例/样本

属性/特征

属性空间/样本空间/输入空间X

特征向量

标记

分类

假设

真相

学习过程

泛化能力

3.机器学习算法分类

1)机器学习算法依托的问题场景

机器学习在近30多年已发展为一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动「学习」的算法。

机器学习算法从数据中自动分析获得规律,并利用规律对未知数据进行预测。

机器学习理论关注可以实现的、行之有效的学习算法。很多推论问题属于无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。

机器学习最主要的类别有:监督学习、无监督学习和强化学习。

监督学习

更多监督学习的算法模型总结,可以查看ShowMeAI的文章 AI知识技能速查 | 机器学习-监督学习(公众号不能跳转,本文链接见文末)。

无监督学习

更多无监督学习的算法模型总结可以查看ShowMeAI的文章 AI知识技能速查 | 机器学习-无监督学习。

强化学习

2)分类问题

分类问题是机器学习非常重要的一个组成部分。它的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。分类问题可以细分如下:

二分类问题

多类分类

多标签分类

了解更多机器学习分类算法:KNN算法、逻辑回归算法、朴素贝叶斯算法、决策树模型、随机森林分类模型、GBDT模型、XGBoost模型、支持向量机模型等。(公众号不能跳转,本文链接见文末)

3)回归问题

了解更多机器学习回归算法:决策树模型、随机森林分类模型、GBDT模型、回归树模型、支持向量机模型等。

4)聚类问题

了解更多机器学习聚类算法:聚类算法。

5)降维问题

了解更多机器学习降维算法:PCA降维算法。

4.机器学习模型评估与选择

1)机器学习与数据拟合

机器学习最典型的监督学习为分类与回归问题。分类问题中,我们学习出来一条「决策边界」完成数据区分;在回归问题中,我们学习出拟合样本分布的曲线。

2)训练集与数据集

我们以房价预估为例,讲述一下涉及的概念。

训练集

测试集

当然,test set这并不能保证模型的正确性,只是说相似的数据用此模型会得出相似的结果。因为在训练模型的时候,参数全是根据现有训练集里的数据进行修正、拟合,有可能会出现过拟合的情况,即这个参数仅对训练集里的数据拟合比较准确,这个时候再有一个数据需要利用模型预测结果,准确率可能就会很差。

3)经验误差

在训练集的数据上进行学习。模型在训练集上的误差称为「经验误差」(Empirical Error)。但是经验误差并不是越小越好,因为我们希望在新的没有见过的数据上,也能有好的预估结果。

4)过拟合

过拟合,指的是模型在训练集上表现的很好,但是在交叉验证集合测试集上表现一般,也就是说模型对未知样本的预测表现一般,泛化(Generalization)能力较差。

如何防止过拟合呢

正则化

数据集扩增

DropOut

5)偏差

偏差

简单模型是一组直线,平均之后得到的平均模型是一条直的虚线,与真实模型曲线的差别较大(灰色阴影部分较大)。因此,简单模型通常高偏差。

复杂模型是一组起伏很大波浪线,平均之后最大值和最小组都会相互抵消,和真实模型的曲线差别较小,因此复杂模型通常低偏差(见黄色曲线和绿色虚线几乎重合)。

6)方差

方差

复杂模型的对应的函数千奇百怪,毫无任何规则,但平均模型的函数也是一条平滑的曲线,因此复杂模型的方差很大,并且对数据的变动很敏感。

7)偏差与方差的平衡

8)性能度量指标

性能度量

(1)回归问题

关于模型「好坏」的判断,不仅取决于算法和数据,还取决于当前任务需求。回归问题常用的性能度量指标有:平均绝对误差、均方误差、均方根误差、R平方等。

平均绝对误差

平均绝对百分误差

均方误差

均方根误差

R平方,决定系数

(2)分类问题

分类问题常用的性能度量指标包括错误率(Error Rate)、精确率(Accuracy)、查准率(Precision)、查全率(Recall)、F1、ROC曲线、AUC曲线和R平方等。更详细的内容可见 模型评估方法与准则(链接见文末)。

错误率

精确率

查准率

查全率

F1

ROC曲线

AUC

从一个比较高的角度来认识AUC:仍然以异常用户的识别为例,高的AUC值意味着,模型在能够尽可能多地识别异常用户的情况下,仍然对正常用户有着一个较低的误判率(不会因为为了识别异常用户,而将大量的正常用户给误判为异常。

9)评估方法

我们手上没有未知的样本,如何可靠地评估?关键是要获得可靠的「测试集数据」(Test Set),即测试集(用于评估)应该与训练集(用于模型学习)「互斥」。

常见的评估方法有:留出法(Hold-out)、交叉验证法( Cross Validation)、自助法(Bootstrap)。更详细的内容可见 模型评估方法与准则(链接见文末)。

留出法

交叉验证法

自助法(Bootstrap)是一种用小样本估计总体值的一种非参数方法,在进化和生态学研究中应用十分广泛。

Bootstrap通过有放回抽样生成大量的伪样本,通过对伪样本进行计算,获得统计量的分布,从而估计数据的整体分布。

10)模型调优与选择准则

我们希望找到对当前问题表达能力好,且模型复杂度较低的模型:

表达力好的模型,可以较好地对训练数据中的规律和模式进行学习;

复杂度低的模型,方差较小,不容易过拟合,有较好的泛化表达。

11)如何选择最优的模型

(1)验证集评估选择

切分数据为训练集和验证集。

对于准备好的候选超参数,在训练集上进行模型,在验证集上评估。

(2)网格搜索/随机搜索交叉验证

通过网格搜索/随机搜索产出候选的超参数组。

对参数组的每一组超参数,使用交叉验证评估效果。

选出效果最好的超参数。

(3)贝叶斯优化

基于贝叶斯优化的超参数调优。

机器学习100天计划!

视频讲解 + 实战代码 + 社群交流 + 直播答疑

教学视频、实战代码

扫描下方二维码,加入学习!

点击

阅读原文

即刻报名

,值了。


原文链接

作者: 易贝贝 https://www.zhihu.com/question/64371326/answer/2251105460 北航博士,2019 年 7 月毕业,入职西安某所。 先发个收入截图吧。 首先声明我这个收入是要低于跟我同年上大学,2014年硕士入所的同学的,我比较熟的技术部门的同学收入加公积金在30左右了,不是很多人想的博士才这么点硕士更少了。我要达到这个数字估计还得两年左右。 有人说说博士才这点钱,对于不了解行情的,我只能回答:能赚很多钱是世人对博士最大的误解;对于秀优越的,你先看看自己是不是下面两种情况里的反面典型。对于我来说,可能因为是穷苦人家的孩子,从小没见过啥钱,所以觉得这个收入还可以。 还有一些学弟也是博士纠结待遇问题,问我收入问什么这么少,我这里有点心得跟你们分享下,不一定全对。 首先我司名声在外,确实不愁招不到人,所以没有安家费,博士也没有什么特殊的照顾,就按正常的工资体系发钱。 有些单位会给博士安家费,为什么给安家费你可以琢磨一下,据我所知北京的几个大总体基本都没有安家费,

毫不夸张的说 , 没有无监督学习就没有 ChatGPT 。 需要用 海量的互联网文本进行训练,因此无监督学习也就成为必然选择。 我们可以把机器学习理解成“通过训练数据和算法模型让机器具有人工智能的方法。” 而“训练数据 ” 的方式 一定程度上决定了机器学习的学习方式。 通常分为有监督学习、半监督学习和无监督学习。 监督学习是通过人工标注数据对模型进行训练的机器学习方式。例如给 计算机猫和狗的图片,然后告诉计算机哪个是猫,哪个是狗。计算机根据给出的“图片和答案的特征”去学习。 而无监督学习则是,给出猫和狗的图片,但并不告诉计算机哪个是猫哪个是狗,需要计算机 自己去判断总结,以此来完成猫和狗的分类。 无监督学习可以直接学习数据中的规律,因此无监督学习也称为 知识发现。 近年来无监督学习的相关研究取得了很大的突破,包括 因此, 向大家推荐 3 月 2 日关于机器学习、无监督学习算法的公开课。 讲师为新加坡名校博士 Bobby 老师,目前已发表十余篇顶会和高区论文,