zoukankan      html  css  js  c++  java
  • Lasso估计论文学习笔记(一)

    最近课程作业让阅读了这篇经典的论文,写篇学习笔记。

    主要是对论文前半部分Lasso思想的理解,后面实验以及参数估计部分没有怎么写,中间有错误希望能提醒一下,新手原谅一下。

    1.整体思路

      作者提出了一种收缩和选择方法Lasso,这是一种可以用于线性回归的新的估计方法。它具有子集选择和岭回归的各自的优点。像子集选择一样可以给出具有解释力的模型,又能像岭回归一样具有可导的特性,比较稳定。同时避免了子集选择不可导,部分变化引起整体巨大变化这一不稳定的缺点。以及岭回归不能很好的收缩到0的缺点。

    2.对文章目的理解

      为了理解这篇文章是做了什么事情,先要明白回归的收缩和选择是用来做什么的。

      我们用某一个模型F来回归拟合某一问题时,往往容易遇到过拟合的问题。这是经常是由于,模型过于复杂,比如参数过多,变量指数过高。过度拟合了训练数据,导致模型的泛化能力变差。这是需要引入正则化项(惩罚项)来使模型最后训练的结果不至于太过于复杂(过拟合)。

      正则化一般具有如下形式:

    是经验风险。J(f)是正则化项,就代表了对模型复杂度的惩罚,只要它能做到模型越复杂,J(f)值越大。所以最小化损失函数时,就会令经验风险尽量小的同时,考虑让模型复杂度也不要太大。这样虽然会提高模型的训练误差,甚至可能某些正则化操作会使模型偏差(Bias)变大,但是会提高模型的稳定程度(方差更小,模型更简单),减少模型的泛化误差。

      这里有两个问题!

    (1)  模型的简单体现在什么方面?(模型如何简化)

    (2)  正则化是怎么让模型变简单的?

      先说问题(1),考虑模型。向量X是特征向量,向量W是其对应的参数。模型复杂,一是体现在特征过多,第二是体现在X的指数过高。那么如何令模型变得简单呢,自然而然的想到若某些参数为0,那么就相当于不考虑这些特征Xi了(这就是子集选择的思想)。或者令某些参数缩小,这样不重要的特征对结果造成的影响也会变小(这就是shrinkage的思想)。当然有些参数在缩小过程中会变成0,这就是在收缩过程中起到了子集选择的效果。

      那么关键的来了,问题(2)正则化是怎么让模型变简单的呢。上一段分析出,如果让某些不重要的参数进行收缩,能够使模型变得简化。再来看看正则化的例子: 

      以J(f)取||w||为例,可以看出,如果参数W越多,或者整理模的平方和越大,||w||就越大。所以在最小化代价函数的过程,就会考虑让参数的平方和也尽可能小(整体最小的前提下)。所以设不加正则化项的估计出的向量为,加了正则化项的估计出得参数向量为。那么可以看出。所以正则化项起到了shrinkage参数的效果,如果有些参数在收缩过程中精确到0,就相当于子集选择的效果(我们是希望这样的)。

      那么这篇文章的目的就可以理解了,作者提出的Lasso就是一种具有岭回归(可导可直接求最小值)和子集选择(部分参数为0)的优点的估计方法(也可以说一种正则化的方法)。

     3.方法对比及Lasso引入

      之前是在word写的,这里为了方便截图一下。

  • 相关阅读:
    RHEL7基本命令
    RHEL7VIM编辑器
    hello world
    配置mysql允许远程连接
    c#利用HttpWebRequest获取网页源代码
    C++局部变量详解(笔试题)
    c语言文件常用的操作
    Cocos2dx v3.1 初识(一)
    创建钩子(Hook)
    Extjs4.2.0 Form 的使用
  • 原文地址:https://www.cnblogs.com/HaoPengZhang/p/9939981.html
Copyright © 2011-2022 走看看