统计学习笔记之基础篇

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26564783/article/details/82149043

一、简述

只看知识点的绕路,以下是个人学习经历之谈。

接触机器学习半年多来,一开始对理论云云一脸蒙圈,于是直接上手看代码。虽然过程还是略头疼,但事实证明,“talk”确实“cheap”,"show code”确实是个简单粗暴却好用的方式。就我个人学习习惯来说,对于一些看不见摸不着的理论没什么耐心,我知道有些论文说得很好,然而对于有的文章就呵呵了,还不如贵坛某些经验之谈有意义。到现在,在彻底算搞清了一个平台的这些时日,渐渐回过头去看《统计学习》, 很多理论一下便落地了。

二、统计学习三要素

说到底,机器学习本质也就是统计学习。不过是通过假设模型,不断通过训练样本去调整模型参数使之成为一个有较好预测问题结论的能力即泛化能力。简言之,统计学习就是在讲三件事:模型、策略、算法,即 统计学习方法=模型+策略+算法

  1. 模型:所要学习的条件概率分布或决策函数。对应到实际工程中就是我们训练得到的model的抽象,就是说解决这个问题,我们用直线这样去模拟呢,还是这个问题更接近正弦形式,这里可能我们有甚多假设。这是任何一个统计学习问题首要考虑的问题。(深度学习中对应多维空间中的权重,直白说就是矩阵,就好像确定直线y=kx+b需要确定参数k和b,同样我们类推到多维空间,确定N维空间的一个模型需要一系列参数,也就是这里的用矩阵所表示的数据,最后存在了一个文档里,便于日后重新加载这个模型来处理问题。)
  2. 策略:对于以上我们所选定的任何一个模型,我们可以为一个模型选定不同参数去使得该类问题在该模型上的泛化能力较好。这些根据不同参数确定的(一般无穷多)模型假设空间中,策略便是帮助去确定那份最优的参数,即如何选择这些参数。这便是如何选择最优模型的问题,比如可以通过选择一个合适的损失函数,使得学习到的模型达到尽量优的泛化能力。
  3. 算法:学习模型的 具体计算方法。统计学习根据学习策略选择最优模型,最后需要考虑用什么样的计算方法求解最优模型。于是统计学习的算法便成了最优化问题的算法。举个例子,很多论文中在介绍他们的方法时都会给出算法。

三、相关概念

损失函数:损失即衡量模型误差的 一种方法。这里不再列举,常见即 0-1,平方损失,绝对损失,对数损失。

风险函数(经验风险):按理说损失越小,模型越优。模型输入输出满足联合分布P(X,Y),损失函数期望(泛化误差)即:

                  R_{exp}=E_{p}[L(X,f(x))]=\int_{x×y}^{}L(y,f(x))P(x,y)d_{x}d_{y}    \approx R_{emp}=\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i})))

过拟合:模型在训练集变现出几乎完美的预测能力,但在验证集上预测能力极差,样本容量极少易发生。

结构风险:为避免过拟合,提出一个策略——正则化,结构风险便是在经验风险上加一个正则项。使得模型不仅损失越小 越优,而且模型复杂度还要尽可能还要小。(越复杂越可能造成过拟合,3次曲线和9次曲线便是很好例子。

正则化:即结构风险最小化策略的实现,在经验风险上加一个正则化项或叫罚项,一般是模型越复杂,正则化值越 大,常见的正则化项可以是模型参数向量的范数。比如有:

                                                 min\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda J(f)(第一项经验损失,第二项正则化项,\lambda为系数)

交叉验证:在数据不充足时,可采用交叉验证方法。即把给定的数据切分集组合成训练集和测试集,反复训练和验证。一般有,简单交叉验证(70%训练啊,30%验证),S折交叉验证(切分S份,每次S-1训练,1份验证,重复S次),留一交叉验证(S=数据集容量)。

猜你喜欢

转载自blog.csdn.net/qq_26564783/article/details/82149043