第一章:绪论
- 基本概念与术语 :
机器学习就是让计算机从数据中"学习"出规律,然后利用规律对未知的数据进行预测等操作。比如我们有一堆西瓜的数据(大小、色泽、敲起来的声音等特征),想通过这些数据来总结出什么样的西瓜是甜的,这就是在做机器学习啦。
训练集就是拿来让计算机学习的那部分已知的数据,像一堆已经知道甜不甜的西瓜的数据集合。测试集则是之后用来检验计算机学得好不好的另外一部分数据,好比新拿来一些西瓜,看按之前学的规律能不能判断对它们甜不甜。
样本就是单个的数据记录,比如一个具体西瓜的相关特征描述就是一个样本,特征就是描述样本的那些属性,像西瓜的色泽就是一个特征,而标记就是对应样本的结果,比如这个西瓜对应的是甜或者不甜这个结果就是标记,有标记的学习任务叫监督学习(知道西瓜甜不甜去学规律),没标记的(只看西瓜各种特征,不知道甜不甜去总结规律)就叫无监督学习。
第二章:模型评估与选择
- 评估的重要性 :
我们训练出一个机器学习的模型后,得知道它好不好呀,就像做了个挑西瓜的"小助手",得看看这个助手判断西瓜甜不甜到底准不准。 - 常见评估方法 :
留出法就是把数据分成两部分,一部分训练,一部分测试,不过要注意划分得合理些,别数据分布太偏了。交叉验证法呢,是把数据分成好几份,轮流用不同的部分当测试集,其他当训练集,综合起来看模型的表现。还有自助法,简单说就是通过有放回抽样的方式构造训练集和测试集,这样能在数据量不大的时候也能较好地评估模型。 - 性能度量指标 :
像准确率,就是预测对的样本数占总样本数的比例,好比判断西瓜甜不甜,判断对的西瓜个数除以总的西瓜个数,越高说明模型越准。还有错误率(和准确率相反啦)、查准率、查全率等,查准率就是预测是甜西瓜里真正甜西瓜的比例,查全率是真正甜西瓜里被预测出来甜的比例,不同场景下关注不同指标来衡量模型好坏。
第三章:线性模型
- 大致原理 :
线性模型就是假设我们要预测的结果(比如西瓜甜不甜对应的某个数值表示)和输入的特征(西瓜的大小、色泽等)之间存在一种线性关系,就好像可以用一个直线方程那样的形式来表示。比如通过西瓜的重量和色泽等特征通过一定的系数组合起来(类似 y = ax + b 里的 a、b 是系数,x 是特征,y 是预测结果),来判断西瓜甜的程度。 - 主要术语 :
权重(系数)就是前面说的那个 a、b 这些东西,它决定了每个特征对结果影响的大小,特征值越大,对应的权重越大,那这个特征对最终结果影响就越大啦。线性回归就是一种典型的线性模型,目标是找到最合适的权重,让预测的结果和真实结果尽可能接近,比如找到合适的系数让根据西瓜特征预测出来的甜的程度和实际吃起来的甜的程度误差最小。
第四章:决策树
- 大致原理 :
想象做决策挑西瓜,先看西瓜的色泽,如果是青绿色,再看敲起来的声音等等,一层一层地根据特征做判断,最后得出这个西瓜好不好的结论,决策树就是这样一种模仿人做决策过程的模型。它从根节点开始,根据不同特征的不同取值进行分支,每个分支节点又是下一轮判断的起点,最后到叶子节点就是最终的决策结果,比如是甜西瓜或者不甜西瓜这样的分类。 - 主要术语 :
属性就是前面说的那些特征,像色泽、声音等。节点就是树结构里的一个个分叉点,根节点是最开始的那个判断点,叶子节点就是最终的判断结果所在的地方,分支就是根据属性取值不同分出去的路径,信息增益是用来衡量选择哪个特征来做分支能让分类分得更清楚的一个指标,通过计算它来决定树怎么生长。
第五章:神经网络
- 大致原理 :
可以把神经网络想象成一个超级复杂的"大脑",里面有很多神经元(就像一个个小计算单元),它们相互连接在一起。输入层接收西瓜的各种特征(比如大小、色泽等),然后这些特征值经过不同神经元之间的传递和计算(有点像互相传递信号,然后汇总、处理),最后在输出层输出结果,比如判断这个西瓜甜不甜或者甜的程度数值等。就好像大脑接收外界信息,经过思考后给出一个判断一样,只不过这里是按照设定好的连接方式和计算规则来进行的。 - 主要术语 :
神经元就是前面说的基础计算单元啦,它有输入、输出,还有激活函数,激活函数决定了神经元接收到一定的输入后怎么输出,不同的激活函数有不同的特点和作用。权重在这里也是连接神经元之间的那些"影响力"大小的参数,它决定了信号传递的强弱,就像不同神经连接之间传递信号的强度不一样,影响着最终的输出结果。隐藏层是除了输入层和输出层之外的中间层,它对输入的特征进行更复杂的转换和处理,让模型可以学习到更复杂的关系。
第六章:支持向量机
- 大致原理 :
简单说就是想在不同类别的数据(比如甜西瓜和不甜西瓜对应的特征数据)之间找到一条最好的分界线(在二维空间想象是直线,高维空间就是超平面啦),让两类数据分得尽可能开,并且对新的数据分类的时候准确性最高。它会找那些距离这条分界线最近的数据点(叫支持向量),重点关注这些点来确定分界线的位置,这样就算有一些新的数据来了,也能根据它和这条分界线的相对位置很好地判断属于哪一类。 - 主要术语 :
支持向量就是刚才说的离分界线最近的那些关键的数据点啦,核函数是当数据在原本的空间不好分类,不好找分界线的时候,通过一种函数把数据映射到另外一个空间(可能在那个空间里就能更容易找到分界线了),常见的有线性核、高斯核等不同类型的核函数,不同核函数适用于不同特点的数据分类情况。
第七章:贝叶斯分类器
- 大致原理 :
基于概率的思想,就是考虑各种情况发生的概率来判断类别。比如对于西瓜,我们知道不同色泽、大小等特征的西瓜是甜或者不甜的概率,然后新拿来一个西瓜,根据它的这些特征,计算在已知这些特征情况下它是甜西瓜的概率和是不甜西瓜的概率,哪个概率大就判断它属于哪一类。就好像我们根据以往经验知道什么样特征的西瓜大概率甜,什么样大概率不甜,然后按这个经验去判断新西瓜。 - 主要术语 :
先验概率就是在没有看到具体西瓜特征之前,对西瓜是甜或者不甜的一个大概的概率估计,比如我们大概知道市场上甜西瓜和不甜西瓜本身各自占的比例。后验概率就是看到了具体西瓜的特征之后,再去计算这个西瓜是甜或者不甜的概率,条件概率就是在某个条件发生的情况下,另外一件事发生的概率,贝叶斯分类器就是利用这些概率之间的关系来进行分类的。
第八章:集成学习
- 大致原理 :
就是把多个机器学习模型(比如多个挑西瓜的"小助手")组合在一起,让它们发挥各自的优势,然后综合它们的判断结果来得到一个更好的最终判断。就好像找好几个人来判断西瓜甜不甜,有的人可能看色泽准,有的人听声音准,把他们的意见综合起来,往往比单个人判断更靠谱。常见的集成方式有投票法(像分类问题,多数模型觉得是甜西瓜那就判断是甜西瓜),还有加权平均法(对于预测数值的情况,根据不同模型的好坏给它们不同权重,然后加权算最终结果)等。 - 主要术语 :
个体学习器就是组成集成学习的那些单个的模型啦,比如单个的决策树、单个的神经网络等都可以是个体学习器。基学习器有时候和个体学习器类似意思,不过更强调它是构建集成学习的基础单元。弱学习器就是那种单独拿出来表现一般,准确率不是特别高的学习器,但是把很多弱学习器集成起来往往能变成很强的学习器哦。
第九章:聚类
- 大致原理 :
聚类就是在没有事先知道西瓜甜不甜这些标记的情况下(无监督学习),根据西瓜的各种特征(大小、色泽等),把相似的西瓜聚到一起,比如把颜色差不多、大小相近的西瓜归为一类,它不管这些类具体代表什么意思(不像分类知道是甜还是不甜类),只是按照特征的相似性来划分,可能聚出来的一类西瓜有甜有不甜,但它们外观等特征相似。 - 主要术语 :
簇就是聚类后形成的一个个类别群体啦,比如把一堆西瓜聚成了三堆,这三堆就是三个簇。相似度度量就是衡量两个西瓜或者说两个样本之间相似程度的方法,常用的有欧式距离(就像空间里两点的直线距离概念),还有余弦相似度等,通过这个来判断哪些西瓜该聚到一起。
第十章:降维
- 大致原理 :
有时候数据的特征特别多(比如描述西瓜有好多好多不同方面的特征),这样不仅处理起来复杂,还可能有很多特征是冗余的、没什么用的,降维就是想办法把这些高维的数据(很多特征维度)变成低维的数据,同时又尽量保留原来数据里重要的信息,就好像把西瓜很多方面的描述简化一下,提炼出最关键的几个方面,让后续的机器学习模型处理起来更容易,还不丢失西瓜关键特征信息。 - 主要术语 :
主成分分析(PCA)是一种很常用的降维方法,它通过找到数据中方差最大的那些方向(可以想象成在数据分布里最能体现数据变化的方向),把数据投影到这些方向上,减少了维度,同时保留了大部分的信息,特征值和特征向量在这个过程中就和找这些关键方向有关系,通过计算它们来确定怎么进行投影降维。
第十一章:特征选择与稀疏学习
- 大致原理 :
特征选择就是从众多的西瓜特征(大小、色泽、声音等)里挑选出对判断西瓜甜不甜最有用的那些特征,把没用或者作用很小的特征去掉,就像筛选出真正影响西瓜甜度的关键因素,这样可以让模型更简单高效,还不容易过拟合(就是模型在训练数据上表现很好,到新数据上就不行了)。稀疏学习呢,是让模型学习出来的特征表示是稀疏的,也就是很多特征对应的系数是 0 或者接近 0,相当于自动把那些不重要的特征忽略掉了,突出重要特征的作用。 - 主要术语 :
过滤式方法就是通过一些统计指标等先对特征进行筛选,不管后面用什么模型,先把那些看起来就不太重要的特征过滤掉,像根据特征和目标的相关性大小来过滤。包裹式方法则是把要使用的机器学习模型包裹进来,根据模型的性能好坏来决定用哪些特征,哪个特征组合让模型表现好就选哪个。嵌入式方法是在模型训练的过程中本身就融入了特征选择的机制,一边训练一边确定哪些特征重要哪些不重要。
第十二章:计算学习理论
- 大致原理 :
主要是从理论层面去研究机器学习能学到多好,在什么样的条件下能保证学出来的模型是靠谱的等问题。就好比从原理上去分析,给计算机多少西瓜的数据、这些数据有什么特点的时候,它能准确地判断出西瓜甜不甜,以及能准确到什么程度,有点像给机器学习这件事定一些理论上的"规矩"和判断依据。 - 主要术语 :
PAC(概率近似正确)学习框架就是在一定的概率保证下(比如大概率),学习器输出的假设和真实的目标函数的误差在一个可接受的范围内,也就是保证学出来的东西差不多是对的啦。样本复杂度就是说学习器要学到一个比较好的效果,大概需要多少个西瓜的数据样本才行,不同的学习任务、模型等样本复杂度是不一样的。
第十三章:半监督学习
- 大致原理 :
介于监督学习(知道西瓜甜不甜去学)和无监督学习(不知道甜不甜学)之间,就是既有一部分西瓜的数据是知道甜不甜的(有标记数据),又有一部分西瓜只知道它的特征,不知道甜不甜(无标记数据),利用这两部分数据一起让模型学习,往往能比只用有标记数据或者只用无标记数据学习的效果更好,比如让模型既能从已知甜不甜的西瓜里总结规律,又能从那些没标记的西瓜特征相似性里发现更多有用的信息。 - 主要术语 :
纯半监督学习就是一开始训练就同时用有标记和无标记数据一起训练模型,自训练是先只用有标记数据训练出一个模型,然后用这个模型去预测无标记数据的标记,再把一部分预测比较靠谱的无标记数据当成有标记数据,加入到训练里继续训练模型,半监督支持向量机也是一种结合了半监督思想和支持向量机特点的方法来进行分类等任务。
第十四章:概率图模型
- 大致原理 :
用图的结构(像有节点、边的那种图,节点可以代表变量,边代表变量之间的关系)来表示变量之间的概率关系,比如西瓜的甜度和它的色泽、大小等变量之间的概率联系可以用这样的图表示出来,通过这个图以及相关的概率计算规则,就可以去推断一些未知的情况,比如已知西瓜的色泽、大小,推断它甜不甜的概率,让复杂的概率关系可视化、好处理。 - 主要术语 :
贝叶斯网是一种常见的概率图模型,它是有向无环图,节点表示随机变量(比如西瓜的不同特征、甜度这些变量),有向边表示变量之间的因果关系或者依赖关系,马尔可夫随机场是无向图模型,通过定义节点之间的势函数等来描述概率关系,条件随机场则更多用在标注等任务中,给定一些观测条件下去计算标记的概率分布。
第十五章:规则学习
- 大致原理 :
就是从数据里学习出一些规则来,比如对于西瓜,如果色泽是青绿色并且敲起来声音很清脆,那么这个西瓜大概率是甜的,这样的一条条规则,有点像我们自己总结挑西瓜的经验规则一样,通过分析已知的西瓜数据,让计算机自动归纳出这些可以用来判断西瓜情况的规则,然后用这些规则去对新西瓜做判断。 - 主要术语 :
命题规则就是简单的那种规则,直接描述特征和结果之间的关系,像前面说的色泽、声音和甜度的关系那种。一阶规则就更复杂一些,涉及到变量、逻辑关系等更丰富的表达,比如对于不同产地的西瓜,不同色泽、大小等特征怎么组合起来判断甜度,逻辑蕴含就是规则里表达一种条件推出结果的这种逻辑关系,在规则学习里很关键。
第十六章:强化学习
- 大致原理 :
想象有个智能体(比如一个挑西瓜的机器人)在一个环境里(比如西瓜地或者水果店这样的场景),它通过不断地做动作(比如挑选西瓜、切开尝尝等动作),然后环境会给它反馈(比如这个西瓜甜,给个奖励,不甜给个惩罚),它根据这些反馈不断调整自己的行为策略,目的是让自己获得的奖励最多,也就是慢慢学会怎么挑选到甜西瓜的最优策略,经过多次尝试和学习后,就能在类似场景下表现得很好啦。 - 主要术语 :
智能体就是执行动作、进行学习的主体,像前面说的机器人。环境就是智能体所处的外部空间以及相关的情况,状态就是智能体在某个时刻所处的具体情况描述,比如机器人当前在西瓜地的哪个位置,面前有哪些西瓜等,动作就是智能体可以采取的行为,奖励就是环境根据智能体的动作给出的好或者不好的反馈,策略就是智能体决定采取什么动作的规则,根据策略它会选择当下做什么动作来最大化奖励。