一、数据集的划分
1.1 通常讲数据集划分为:
训练数据集:又称训练集,是训练模型时使用的数据
测试数据集:又称测试集,是学得的模型在实际使用中用到的数据
验证数据;又称验证集,是在评估与选择模型时使用的数据
1.2 参数的选择
模型评估与选择主要是确定算法使用的参数,在机器学习中有两类,分别是
1、算法参数:又称为超参数,该参数是模型的外部设置,如K近邻算法中使用的K值。该参数由人工确定,常说的“调参”是指对算法参数进行调整。
2、模型参数:模型使用的参数,如神经网络中的权重值,该参数是通过学习过程习得的。
将整体数据划分为不同部分的方法称为留存法,在这种方法中,训练过程使用大部分数据,测试过程使用小部分数据。这会导致误差仅在很少一部分数据上体现出来。比较理想的情况是;训练过程、测试过程都能使用所有数据。
可以通过交叉验证的方式达到使用所有数据的效果。
二、模型的拟合
拟合是指用训练数据构造一个表达式,该表达式的曲线与训练数据及测试数据的分布基本一致。在机器学习中过,拟合是指根据已知数据构造一个模型,该模型能够预测测试数据。
几种状态:(这里我想到的是傅立叶变换,及任何一个函数,都可以由不同的正弦函数拟合而来,只要参数合适)
1、拟合良好:表达式对应的曲线与训练数据分布大致一致,能够用来预测未知数据
2、欠拟合:表达式对应的曲线只能与训练数据中的部分数据分布一致。这说明,在学习时没有完整地把握训练数据的规律;此时,曲线不能拟合训练数据的大致分布,更不能用来计算未知数据。
3、过拟合:表达式对应的曲线精准的与所有训练数据分布一致,导致泛化性能下降。此时,曲线能高度精准的拟合训练集,但对测试集的预测能力较差。
举例:
甲、乙、丙都通过一段演唱会来学习周杰伦的歌。然后再唱一首没有学过的周杰伦的新歌时,他们的表现不一样:
甲:唱风很像周杰伦,是拟合良好状态(抓住了主要矛盾,主要规律。当然次要的因素也存在,但被忽略了。因此能够较好的预测大的方向)
乙:唱风只有一点像周杰伦,是欠拟合状态(没有学到规律,或者学错了,因此无法预测)
丙:像周杰伦在开演唱会,不仅有歌声,还夹杂着听众的喝彩声、尖叫声。是过拟合状态。(太细了,没有把握主要规律。也就是没有抓住主要矛盾,所以预测就不精准了。
三、性能的度量
在机器学习构造模型后,需要对模型的f泛化能力进行度量,这就是性能度量。大部分性能度量只能针对特定类型的任务,如分类、回归。在实际应用中,应该采用能够代表产生错误代价的性能指标来进行性能度量。
实际情况 | 预测结果 | |
阳性 | 阴性 | |
阳性 | 真阳性TP(True Positive) | 假阴性FN(False Negative) |
阴性 | 假阳性FP(False Positive) | 真阴性TN(True Negative) |
根据上述定义,准确率ACC为:
查准率P(预测为恶性肿瘤实际也为恶性肿瘤的比例,又称为精确率)为
(真阳性/真阳性+假阳性),假阳性实际上是没有有肿瘤,但是判断有,也就是说这是预测出来的所有结果。之中包含了错误的结果
查全率R(真正的恶性肿瘤被发现的比率,又称为召回率)为
(真阳性/真阳性+假阴性) ,假阴性是实际上有,但是没有预测出来的。这里分母上是所有真有肿瘤的,所以又叫查全率。
三、偏差与方差
方差:使用相同规模的不同训练数据产生的差别
偏差:期望输出与真实标签之间的差别
四、决策树
信息增益基础知识
香浓提出来使用熵来度量信息量。
熵度量的是一条信息的不确定性,即该条信息是由信源发出的所有可能信息中的一条概率。信息越有规律,包含的信息量越大,对应概率越低。对应的熵 值也越低;信息越混乱(均衡分布),对应的概率越高,对应的熵值越大。
五、贝叶斯分类器
贝叶斯,解决逆概率问题
盒子里有80个白球,20个黑球,随机取一个球,球的是白色的概率是80%,这是正向概率。正向概率是频率统计的结果。
而贝叶斯解决的是,在事先并不知道布袋中黑球和白球比例的情况下随机取出一个球,根据该球颜色对布袋内黑白球的比例进行预测,这是逆向概率。
贝叶斯方法与传统方法有很大的不同,他认为概率是对事件发生可能性的一个估计,并逐渐优化的结果。在具体计算时,先根据经验设定一个基础概率,若对事件一无所知,则随意设定一个基础概率,然后在出现新信息时,根据新信息对基础概率进行修正。随着新信息的增多,基础概率会被修正的越来越接近实际值。
贝叶斯方法设计的重要概念有:先验概率、似然估计、后验概率
先验概率:是对事件发生作出的主观判断值
似然估计:是根据已知的样本结果信息,反推最有可能导致这些样本结果出现的模型参数值,简单理解就是条件概率,是在某个事件发生的情况下另一个事件发生的概率,例如,在已经阴天的情况下,下雨的概率。
后验概率:是对先验概率和似然估计进行计算后得到的值。每次修正后得到的后验概率是下一轮计算的先验概率。
六、支持向量机(Support Vector Machine,SVM)
是一种二分类模型,目标是寻找一个标准(超平面)对样本数据进行分割。
分割原则是确保分类最优化(类别之间的间隔最大)
SVM在分类时,先把无法先行分割的数据映射到高维空间,然后在高维空间找到分类器最优的先行分类器。
在已有的数据中,找到离分类器最近的点,确保它们离分类器尽可能地远。
离分类器最近的点叫做支持向量(Support Vector)。离分类器最近的点到分类器的距离和(两个异类支持向量到分类器的距离和)称为间隔(Margin)。我们希望间隔尽可能的大,间隔越大,分类器对数据的处理越准确。支持向量决定了分类器所在的位置。
综上:
SVM是由支持向量和机器构成的
1、支持向量是指离分类器最近的点,这些点位于最大间隔上。通常情况下,分类仅依靠这些点完成,与其他点无关。
2、机器是指分类器
也就是说,SVM是基于关键点的分类算法
一般情况下,把可以被一条直线(在更一般的情况下为一个超平面)分割的数据称为线性可分数据。所以超平面是线性分类器。
七 、随机梯度下降
(Stochastic Gradient Descent,SGD)
举例理解随机梯度下降:
有一个探险家,最大的乐趣是在一个陌生的地方蒙上眼睛寻找附近最低的洼地。地点是陌生的、探险家的眼睛是蒙上的。此时探险家的眼睛虽然看不到,但是可以通过脚来感知地面的倾斜程度,从而判断当前所在位置的坡度。如果每次都朝着当前位置坡度最大的方向前进,那么最终就能找到附近最低的洼地。(我想这个是不是不一定,如果从全局来看,总是从最近的那个最优的选择来看,可能不一定求到整体最优解吧)。
是这样的
实际上,梯度指向的是函数值降低的方向,进一步说,梯度指向的是函数值降低最快的方向。也就是说,梯度指向的是局部的低洼处。
梯度指向的是局部的低洼处,这句定了梯度是各点处函数值降低最快的方向,但是无法保证梯度的方向就是函数的最小值方向(全局低洼处),或者说应该前进的方向。
梯度法是一个迭代的过程:
1、首先在当前位置沿着梯度方向前进一段距离
2、然后在新位置重新计算梯度值,继续沿着梯度方向前进
3、重复上述过程,不断沿着梯度前进,直到收敛(梯度值不在变化)
一般情况下,用梯度下降法——计算最小值,用梯度上升法计算最大值