1 为什么随机梯度下降法能work?

https://www.zhihu.com/question/27012077中回答者李文哲的解释

 
2 随机梯度下降法的好处?
(1)加快训练速度(2)噪音可以使得跳出局部最优
 
3 权衡方差和偏差
偏差反映的是模型的准确度(对训练数据的吻合程度),方差则反映模型的稳定性(对测试数据的泛化能力)。模型越复杂,偏差越小,方差越大。
 
 4 减少过拟合的方法
(1)减少特征个数
(2)增大数据量
(3)引入正则项
 
 
 5 L1和L2正则
(1)

L0范数:||x||0为x向量各个非零元素的个数

L1范数:  ||x||1 为x向量各个元素绝对值之和。
L2范数:  ||x||2为x向量各个元素平方和的1/2次方,L2范数又称Euclidean范数或者Frobenius范数

(2)

L0正则的特点是:防止过拟合,并给出稀疏结果用于特征选择,但由于加L0后问题很难求解,所以一般用L1来做稀疏。

L1正则的特点是:防止过拟合,给出稀疏结果,常用于特征选择。

L2正则的特点是防止过拟合。

(3)

L0能得到稀释结果比较好理解,那么为什么L1也能得到稀疏结果呢?

首先,加了正则之后的优化问题可以如下等价:

然后来看看W是二维的情况下:

可以发现,L2所规定的约束范围与等高线的交点通常不在坐标轴上,而L1由于范围是一个棱形,等高线与其交点刚好落在坐标轴上,对应于w1为0。当W是一个更高维的情况也是类似,这就解释了为什么L1能给出一个稀疏的结果,而L2不能。

 
*(4)L2正则的梯度很好求解,但是L1则不能简单求导解决,往往是用下面三种方法来解决:
 
(5)L1正则有什么问题?

如果有几个变量相关性比较大,它会随机选出其 中之一, 而不考虑其他的变量。

机器学习tips的更多相关文章

  1. 【笔记】机器学习 - 李宏毅 - 10 - Tips for Training DNN

    神经网络的表现 在Training Set上表现不好 ----> 可能陷入局部最优 在Testing Set上表现不好 -----> Overfitting 过拟合 虽然在机器学习中,很容 ...

  2. 【机器学习基础】关于深度学习的Tips

    继续回到神经网络章节,上次只对模型进行了简要的介绍,以及做了一个Hello World的练习,这节主要是对当我们结果不好时具体该去做些什么呢?本节就总结一些在深度学习中一些基本的解决问题的办法. 为什 ...

  3. 【Scala-ML】使用Scala构建机器学习工作流

    引言 在这一小节中.我将介绍基于数据(函数式)的方法来构建数据应用.这里会介绍monadic设计来创建动态工作流,利用依赖注入这种高级函数式特性来构建轻便的计算工作流. 建模过程 在统计学和概率论中, ...

  4. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)

    ##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...

  5. 6条 Tips 为你照亮 GitHub 寻宝之路

    找房子.找保姆.找装修......在Github是不行的,但是:找Demo,找构架,找工具,找资源......就上Github!Github,啥都有.今天跟大家分享几条快速在Github找到想要的资源 ...

  6. 谷歌大规模机器学习:模型训练、特征工程和算法选择 (32PPT下载)

    本文转自:http://mp.weixin.qq.com/s/Xe3g2OSkE3BpIC2wdt5J-A 谷歌大规模机器学习:模型训练.特征工程和算法选择 (32PPT下载) 2017-01-26  ...

  7. 人工智能_机器学习——pandas - 箱型图

    箱型图对数据的展示也是非常清晰的,这是箱型图的一些代码 #导报 机器学习三剑客 import numpy as np import pandas as pd from matplotlib impor ...

  8. Andrew Ng机器学习课程笔记(一)之线性回归

    Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ...

  9. 学习TF:《TensorFlow机器学习实战指南》中文PDF+英文PDF+代码

    从实战角度系统讲解TensorFlow基本概念及各种应用实践.真实的应用场景和数据,丰富的代码实例,详尽的操作步骤,带你由浅入深系统掌握TensorFlow机器学习算法及其实现. <Tensor ...

随机推荐

  1. idea中的beautiful插件-自动生成对象set方法

    1. 描述 从前端获取VO对象后,好多时候又要生成数据库对象,需要进行赋值,一个个写很浪费时间,介绍一款idea中的beautiful插件,代码开发过程中自动生成对象的set方法,很好用. 2 .插件 ...

  2. Contiki源码分析--CPU为cc253x里的uart0.c

    我所使用的Contiki系统是contiki-sensinode.理解该文需要有cc2530里uart的相关知识,具体寄存器的用法不做介绍. 先放上所有代码,然后再仔细分析. #include < ...

  3. Python入门基础(7)

    这一篇来介绍一下函数里面的一些东西 函数的参数 必须参数:必须参数必须以正确的顺序传入函数.调用时的数据必须和声明时的一样 如果根据参数名来传入参数值,则无须遵守定义形参的顺序,这种方式被称为关键字( ...

  4. Your project specifies TypeScriptToolsVersion 2.3, but a matching compiler ...... 出现这种警告解决方式

  5. java开发---关于ORA00604和ORA12705

    MyEclipse和oracle连接中出现的一个问题: 在使用工具连接orcale数据库时报了这两个异常  ORA-00604和ORA12705 ; 查找问题原因: 大概猜测是与字符集有关系 , 确认 ...

  6. findBugs英文代号的对照表

    findBugs错误英文翻译rule.findbugs.IMSE_DONT_CATCH_IMSE.name=不良实践 - 捕获可疑IllegalMonitorStateException rule.f ...

  7. css 图片裁剪显示

    用object-fit:cover object-fit属性详解 object-fit:CSS 属性指定替换元素的内容应该如何适应到其使用的高度和宽度确定的框. object-fit:fill 被替换 ...

  8. 「Sqlserver」数据分析师有理由爱Sqlserver之九-无利益关系推荐Sqlserver书单

    在前面系列文章的讲述下,部分读者有兴趣进入Sqlserver的世界的话,笔者不太可能在自媒体的载体上给予全方位的带领,最合适的方式是通过系统的书籍来学习,此篇给大家梳理下笔者曾经看过的自觉不错值得推荐 ...

  9. 利用TCP协议,实现基于Socket的小聊天程序(初级版)

    TCP TCP (Transmission Control Protocol)属于传输层协议.其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送.可靠性.有效流控.全双工操作和多路复用 ...

  10. 使用Java实现数据库编程 项目(宠物商店)

    创建数据库代码: DROP DATABASE IF EXISTS petShop; CREATE DATABASE petShop; USE petShop; /*创建表*/ CREATE TABLE ...