coursera 上的 华盛顿大学 machine learning: regression 第四周笔记

通常, 过拟合的一个表现是拟合模型的参数很大

为了防止过拟合

Total cost = measure of fit + measure of magnitude of coefficients

前者描述训练集拟合程度,后者评估回归模型系数大小,小则不会过拟合。

评估训练集拟合程度( measure of fit ):

    

  RSS(w) 越小,拟合程度越好。

评估回归模型系数(measure of magnitude of coefficients):

(1)系数绝对值之和 |w|, L1范数

(2)系数平方和 ||w||2L2范数 

岭回归:计算回归系数时使( RSS(w)+λ||w||2 )最小

    其中λ为平衡训练集拟合程度 和 拟合系数大小 的调整参数。

λ的选择上体现了 bias-variance tradeoff:

对于大的λ:high bias, low variance

对于小的λ:low bias, high variance

如何确定 λ 大小?

  理想条件下(数据集足够大):

  training set: 训练集用于拟合回归模型

  validation set: 检测系数大小,用于确定λ

  test set: 测试集,计算泛化误差(generalization error)

  

  实际情况下,数据集有限,常用方法有:

     K - fold cross validation

    步骤:

    对于每一个需要评估的 λ:

      将数据集分为training set 和 test set;

      将其中training set 打乱顺序(随机排序),分成 k 等分。

      k 次循环,每次将k等份中其中一份作为 validation set, 剩下部分作为 training set

      每次根据validation set 计算 error (λ), 结果为k次计算的平均值。

      average (error (λ))最小的为最合适的λ

梯度下降法求回归系数:

total cost = RSS(w)+λ||w||2

Cost(w)= SUM[ (prediction - output)^2 ]+ l2_penalty*(w[0]^2 + w[1]^2 + ... + w[k]^2).

求导:

derivative = 2*SUM[ error*[feature_i] ] + 2*l2_penalty*w[i].

(其中没有2*l2_penalty*w[0]这一项)

每次迭代:

 predictions = predict_output(feature_matrix, weights)errors = predictions - outputfor i in xrange(len(weights)): feature = feature_matrix[:, i]derivative = compute_derivative_ridge(errors, feature, weights[i], l2_penalty)weights[i] = weights[i] - step_size * derivative

转载于:https://www.cnblogs.com/smartweed/p/8486059.html

week 4 ridge regression相关推荐

  1. R语言使用caret包构建岭回归模型(Ridge Regression )构建回归模型、通过method参数指定算法名称、通过trainControl函数控制训练过程

    R语言使用caret包构建岭回归模型(Ridge Regression )构建回归模型.通过method参数指定算法名称.通过trainControl函数控制训练过程 目录

  2. R语言glmnet拟合岭回归模型实战:岭回归模型的模型系数(ridge regression coefficients)及可视化、岭回归模型分类评估计算(混淆矩阵、accuracy、Deviance)

    R语言glmnet拟合岭回归模型(ridge regression)实战:岭回归模型的模型系数(ridge regression coefficients)及可视化.岭回归模型分类评估计算(混淆矩阵. ...

  3. R构建岭回归模型(Ridge Regression)实战

    R构建岭回归模型(Ridge Regression)实战 目录 R构建岭回归模型(Ridge Regression) 岭回归模型 选择最优λ值 交叉验证

  4. 脊回归(Ridge Regression) 岭回归

    岭回归(英文名:ridge regression, Tikhonov regularization)是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的 ...

  5. 线性回归——lasso回归和岭回归(ridge regression)

    目录 线性回归--最小二乘 Lasso回归和岭回归 为什么 lasso 更容易使部分权重变为 0 而 ridge 不行? References 线性回归很简单,用线性函数拟合数据,用 mean squ ...

  6. 机器学习基础(三十一)—— 岭回归(Ridge Regression)到 LASSO

    如果数据集的特征比样本点还多(XN×d,d>NX_{N\times d},d> NXN×d​,d>N)怎么办?是否还可以使用线性回归来做预测?答案是否定的,因为在计算 (XTX)−1 ...

  7. ridge regression and lasso analysis-reproduced from csdn

    岭回归.Lasso及其分析 2017年08月30日 15:06:27 阅读数:5381 基本概念 前段我们讨论了线性回归模型的原理策略,假定可以表示为 f(xi)=∑k=1nwkxik+w0=wxif ...

  8. Basics Algorithms| 岭回归(Ridge regression)

    Ridge Regression is a linear regression with L2 regularization. 1. 线性回归(Linear Regression, LR) LR就是用 ...

  9. Python 实现Ridge Regression教程

    一般多重线性回归,使用p个预测变量和一个响应变量拟合模型,形式如下: Y = β 0 + β 1 X 1 + β 2 X 2 + - + β p X p + ε {β_0 + β_1X_1 + β_2 ...

  10. Ridge Regression and Kernel Ridge Regression

    http://blog.sina.com.cn/s/blog_eb23a2510102xe4o.html ridge regression可以用来处理下面两类问题:一是数据点少于变量个数:二是变量间存 ...

最新文章

  1. 1.试述大数据对思维方式的重要影响。 2.详细阐述大数据、云计算、物联网之间的区别与联系。 3.简述你对大数据应用与发展的看法,以及你在这次大数据浪潮中想扮演什么角色。...
  2. 简述在虚拟机中安装 centos 的过程_从零构建Fabric开发运行环境手册(一):安装OS虚拟机(CentOS)...
  3. 2021年广州如何申请失业补助金最全攻略
  4. Kotlin学习笔记19 阶段复习1
  5. android sharedpre,android 数据存储一SharedPrenference存储简单数据
  6. ubuntu保存_Arch与Ubuntu安装软件对比
  7. lane是什么意思_什么是Trunk?Trunk详解
  8. GitHub上的私有仓库转换为共有仓库以及共有仓库转换为私有仓库
  9. matlab2c使用c++实现matlab函数系列教程-binopdf函数
  10. 2019年最新资料!共7T!
  11. Hadoop环境搭建 MYSQL环境配置
  12. 基于javaweb的在线学习系统
  13. office2018自动图文集_怎么才算工作里要求的“熟练使用office办公软件”?
  14. _ZN10tensorflow8internal21CheckOpMessageBuilder9NewStringB5cxx11Ev
  15. eclipse下改变 匹配标签和匹配括号的颜色
  16. 计算机网络应用云计算,计算机网络云计算技术应用
  17. 【ubuntu】搭建lamp架构
  18. # unity shader 后期轮廓(更新中)
  19. 气象雷达在民航中的运用
  20. 大数据在保险界的应用

热门文章

  1. Python基础06 循环
  2. adaptiveThreshold函数
  3. 无重复字符的最长子串【哈希算法】-O(n)
  4. 讲解泊松融合文章推荐
  5. mysql5.6.28安装教程百度经验_Linux(Ubuntu)下Mysql5.6.28安装配置方法图文教程
  6. matlab函数画图创建gui,如何在MATLAB中的函数内创建GUI?
  7. 推荐大家一个保护视力的Visual Studio皮肤
  8. 06. 用css实现三角形
  9. 正确理解python中二分查找
  10. ACM_变形课(并查集)