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 - output
for 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

week 4 ridge regression的更多相关文章

  1. Ridge Regression(岭回归)

    Ridge Regression岭回归 数值计算方法的"稳定性"是指在计算过程中舍入误差是可以控制的. 对于有些矩阵,矩阵中某个元素的一个很小的变动,会引起最后计算结果误差很大,这 ...

  2. support vector regression与 kernel ridge regression

    前一篇,我们将SVM与logistic regression联系起来,这一次我们将SVM与ridge regression(之前的linear regression)联系起来. (一)kernel r ...

  3. Jordan Lecture Note-4: Linear & Ridge Regression

    Linear & Ridge Regression 对于$n$个数据$\{(x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n)\},x_i\in\mathbb{R}^d,y ...

  4. Ridge Regression and Ridge Regression Kernel

    Ridge Regression and Ridge Regression Kernel Reference: 1. scikit-learn linear_model ridge regressio ...

  5. How and when: ridge regression with glmnet

    @drsimonj here to show you how to conduct ridge regression (linear regression with L2 regularization ...

  6. ISLR系列:(4.2)模型选择 Ridge Regression & the Lasso

    Linear Model Selection and Regularization 此博文是 An Introduction to Statistical Learning with Applicat ...

  7. 再谈Lasso回归 | elastic net | Ridge Regression

    前文:Lasso linear model实例 | Proliferation index | 评估单细胞的增殖指数 参考:LASSO回歸在生物醫學資料中的簡單實例 - 生信技能树 Linear le ...

  8. 岭回归(Ridge Regression)

    一.一般线性回归遇到的问题 在处理复杂的数据的回归问题时,普通的线性回归会遇到一些问题,主要表现在: 预测精度:这里要处理好这样一对为题,即样本的数量和特征的数量 时,最小二乘回归会有较小的方差 时, ...

  9. Kernel ridge regression(KRR)

    作者:桂. 时间:2017-05-23  15:52:51 链接:http://www.cnblogs.com/xingshansi/p/6895710.html 一.理论描述 Kernel ridg ...

  10. 机器学习方法:回归(二):稀疏与正则约束ridge regression,Lasso

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. "机器学习方法"系列,我本着开放与共享(open and share)的精神撰写,目的是 ...

随机推荐

  1. oracle 10g函数大全--其他函数

    DUMP(w[,x[,y[,z]]]) [功能]返回数据类型.字节长度和在内部的存储位置. [参数] w为各种类型的字符串(如字符型.数值型.日期型……) x为返回位置用什么方式表达,可为:8,10, ...

  2. Spark Streaming on Kafka解析和安装实战

    本课分2部分讲解: 第一部分,讲解Kafka的概念.架构和用例场景: 第二部分,讲解Kafka的安装和实战. 由于时间关系,今天的课程只讲到如何用官网的例子验证Kafka的安装是否成功.后续课程会接着 ...

  3. chrome护眼模式

    chrome护眼模式 使用stylish插件: 学习:https://jingyan.baidu.com/article/b907e627f74df146e6891c67.html 插件下载:http ...

  4. 可伸缩Web架构与分布式系统(2)

    开源软件近年来已变为构建一些大型网站的基础组件.并且伴随着网站的成长,围绕着它们架构的最佳实践和指导准则已经显露.这篇文章旨在涉及一些在设计大型网站时需要考虑的关键问题和一些为达到这些目标所使用的组件 ...

  5. C# 鼠标全局钩子

    /// <summary> /// 鼠标全局钩子 /// </summary> public class MouseHook { private const int WM_MO ...

  6. Linux /bin, /sbin, /usr/bin, /usr/sbin 区别(转)

    在linux下我们经常用到的四个应用程序的目录是:/bin./sbin./usr/bin./usr/sbin    bin:  bin为binary的简写主要放置一些系统的必备执行档例如:cat.cp ...

  7. unsupported major.minor version 解决方法

        转载自http://hi.baidu.com/fatchong/blog/item/191da23b478bbfef15cecbae.html         一直以来都是用jdk1.5,这次 ...

  8. mysql的innodb数据库引擎详解

    http://www.jb51.net/softjc/158474.html   这篇文章主要介绍了mysql的innodb数据库引擎,需要的朋友可以参考下   一.mysql体系结构和存储引擎 1. ...

  9. 《深入PHP:面向对象、模式与实践》(二)

    第4章 高级特性 本章内容提要: 静态属性和方法:通过类而不是对象来访问数据和功能 抽象类和接口:设计和实现分离 错误处理:异常 Final类和方法:限制继承 拦截器方法:自动委托 析构方法:对象销毁 ...

  10. node-webkit 开发环境搭建

    node-webkit支持的操作系统类型: Linunx:32bit / 64bit Windows: win32 Mac:32bit,10.7+ 开发环境 1,根据自己的操作系统下载响应的nw二进制 ...