首页 > 代码库 > 机器学习的监督学习在研究什么

机器学习的监督学习在研究什么

什么是监督学习

简单来说,监督学习是对给定的输入输出样本进行学习并建立一个模型,该模型能对任意输入做出好的输出预测。
技术分享

监督学习核心思想

  • 所有可能的模型函数的集合称为假设空间,H={f|Y=f(X)}<script type="math/tex" id="MathJax-Element-27">H=\left \{ f|Y=f(X) \right \}</script>。
  • 对于所有的模型函数集合,可能不知道是该用用逻辑回归模型、或贝叶斯模型、或神经网络模型还是用支持向量机模型。这个过程通常是一个不断迭代的过程,只有在不断地尝试比较才知道哪个模型比较好。
  • 假设选定一个模型f,对于输入X,预测值为f(X),预测值与Y可能存在差别,这个差别用损失函数L(Y,f(X))表示,而平均损失则称为经验风险,记为Remp(f)=1NNi=1L(yi,f(xi))<script type="math/tex" id="MathJax-Element-28">R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))</script>。
  • 为了得到最优的模型需要将经验风险最小化,minRemp(f)<script type="math/tex" id="MathJax-Element-29">\min R_{emp}(f)</script>,即 min1NNi=1L(yi,f(xi))<script type="math/tex" id="MathJax-Element-30"> \min\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))</script>。
  • 当样本数较少时,有时会为了迎合经验风险最小化而导致过拟合现象,这时需要引入正则项,这也是符合奥卡姆剃刀原理。则变为Rsrm(f)=1NNi=1L(yi,f(xi))+λΩ(f)<script type="math/tex" id="MathJax-Element-31">R_{srm}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda \Omega(f)</script>,模型f越复杂,复杂度就越大,复杂度是对模型复杂程度的惩罚。

常见损失函数

  • 0-1损失函数
    L(Y,f(X))={1,0Y != f(X)Y = f(X)<script type="math/tex" id="MathJax-Element-51">L(Y,f(X))=\begin{cases}1,& \text{Y != f(X)}\\0& \text{Y = f(X)}\end{cases}</script>
  • 平方损失函数
    L(Y,f(X))=(Y?f(X))2<script type="math/tex" id="MathJax-Element-52">L(Y,f(X))=(Y-f(X))^{2}</script>
  • 绝对损失函数L(Y,f(X))=|(Y?f(X))|<script type="math/tex" id="MathJax-Element-53">L(Y,f(X))=|(Y-f(X))|</script>
  • 对数损失函数L(Y,P(Y|X))=?logP(Y|X)<script type="math/tex" id="MathJax-Element-54">L(Y,P(Y|X))=-logP(Y|X)</script>

模型选择

  • 要怎么选择模型?怎样评判模型的好坏?这时就需要一些评判标准:训练误差和测试误差。
  • 训练误差,假设确定了一个模型f,训练误差就是训练数据集关于该模型f的平均损失,损失函数见上面。
  • 测试误差,假设确定了一个模型f,测试误差就是测试数据集关于该模型f的平均损失,损失函数见上面。
  • 关于过拟合问题,我们需要正则项λΩ(f)<script type="math/tex" id="MathJax-Element-56">\lambda \Omega(f)</script>去抑制模型的复杂度,典型的正则化项可以使用模型f的参数向量的范数。
  • 通过上面策略可以得到最优的模型。
  • 另外方法是使用交叉验证,将样本预留一部分来检查不同模型的误差。

泛化能力

使用训练方法学习到的模型对未知数据的预测能力。一般通过泛化误差来评价一个模型的泛化能力,泛化误差越小,模型的泛化能力就越强。

欧卡姆剃刀原理

所有可能的模型中,能够很好地解释已知数据并且十分简单的才是最好的模型,从贝叶斯估计角度看,正则化项对应于模型的先验概率,负责的模型有较小的先验概率,简单的模型有较大的先验概率。

一句话

监督学习就是在正则化项约束下去寻找最小化误差的模型。

欢迎关注:
技术分享

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    机器学习的监督学习在研究什么