? ? ? ?之前对机器学习有所了解,但一直没有进行系统的学习,这次借吃瓜机会补全一下机器学习上一些知识的漏洞,主要是标注一下自己需要注意的地方在这与大家分享,今日分享的是西瓜书一、二章中自己之前不太重视的地方:
? ? ? ?1.在获得样本时,通常假设为每个样本都是独立的从某一分布上采样获得的,即“独立同分布”(independent and identically,简称i,i,d),比如做分类算法时,检验样本的时候除去常规的空缺值、奇异值检查外,其实第一步应该考虑是否满足i,i,d。
? ? ? ?2.在考虑算法的归纳偏好时,常常采用“奥卡姆剃刀”,即“若有多个假设与观察一致,则选最简单的那个”,当然,光使用这一机制不可能做到一劳永逸。如考虑集成学习时,采取“多释原则”即保留与经验观察一致的所有假设可能是更为合理的选择。因此,在面对具体现实问题时,算法的归纳偏好是否与问题本身匹配,直接决定算法的性能。
? ? ? ?3.NFL定理——总误差与学习算法无关。该定理存在两个假设上的问题:第一、所有“问题”出现的机会相同、或者问题同等重要。第二、假设了样本的均匀分布,而实际情况并非如此。因此,在算法选择上一定要具体问题具体分析,问题的独特的地方就埋藏着突破的钥匙。(P9)
? ? ? 4.评估方法:
? ? ? 4.1留出法:注意分层抽样的问题与训练集、测试集占比问题,一般而言2/3~4/5用于训练。
? ? ?4.2交叉验证法:一般为10次10折交叉验证,当k=m时为留一法(Leave-One-Out,LOO)结果比较准确,但数据集较大时训练模型太多,计算开销太大。
? ? ?4.3自助法(包外估计,out-of-bag estimate):保证了实际评估模型与期望评估模型都使用m个训练样本,但仍大约有1/3没在训练集中出现的样本用于测试。优点在于处理数据集较少、难以有效划分训练/测试集时很有效。缺点在于改变了初始数据集分布,引入了估计偏差。
? ? ?5.训练集、测试集与验证集的区别?
? ? ?训练集用于训练模型参数,测试集用于估计模型对样本的泛化误差,验证集用于“训练”模型的超参数。(超参数是限制模型复杂度,控制模型的表达能力,限制模型的解空间的,例如回归分析中确定多项式的项数。)
|