mathjax

机器学习算法GBDT

烈酒焚心 提交于 2020-04-10 11:38:43
http://www-personal.umich.edu/~jizhu/jizhu/wuke/Friedman-AoS01.pdf https://www.cnblogs.com/bentuwuying/p/6667267.html https://www.cnblogs.com/ModifyRong/p/7744987.html https://www.cnblogs.com/bentuwuying/p/6264004.html 1.简介 gbdt全称梯度下降树,在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一,在前几年深度学习还没有大行其道之前,gbdt在各种竞赛是大放异彩。原因大概有几个,一是效果确实挺不错。二是即可以用于分类也可以用于回归。三是可以筛选特征。这三点实在是太吸引人了,导致在面试的时候大家也非常喜欢问这个算法。 gbdt的面试考核点,大致有下面几个: gbdt 的算法的流程? gbdt 如何选择特征 ? gbdt 如何构建特征 ? gbdt 如何用于分类? gbdt 通过什么方式减少误差 ? gbdt的效果相比于传统的LR,SVM效果为什么好一些 ? gbdt 如何加速训练? gbdt的参数有哪些,如何调参 ? gbdt 实战当中遇到的一些问题 ? gbdt的优缺点 ? 2. 正式介绍 首先gbdt 是通过采用加法模型(即基函数的线性组合)

Numerical Sequence (easy version)

亡梦爱人 提交于 2020-04-10 08:12:07
http://codeforces.com/problemset/problem/1216/E1 E1. Numerical Sequence (easy version) time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output The only difference between the easy and the hard versions is the maximum value of k . You are given an infinite sequence of form " 112123123412345 … " which consist of blocks of all consecutive positive integers written one after another. The first block consists of all numbers from 1 to 1 , the second one — from 1 to 2 , the third one — from 1 to 3 , … , the i -th block consists of all numbers from

常用的概率分布:伯努利分布、二项式分布、多项式分布、先验概率,后验概率

那年仲夏 提交于 2020-04-09 01:05:50
一,伯努利分布(bernouli distribution) 又叫做0-1分布,指一次随机试验,结果只有两种。也就是一个随机变量的取值只有0和1。 记为: 0-1分布 或B(1,p),其中 p 表示一次伯努利实验中结果为正或为1的概率。 概率计算: P ( X = 0 ) = p 0 P ( X = 1 ) = p 1 期望计算: E ( X ) = 0 ∗ p 0 + 1 ∗ p 1 = p 最简单的例子就是,抛一次硬币,预测结果为正还是反。 二,二项式分布(binomial distrubution) 表示n次伯努利实验的结果。 记为: X~B(n,p) ,其中n表示实验次数,p表示每次伯努利实验的结果为1的概率,X表示n次实验中成功的次数。 概率计算: 期望计算: 例子就是,求多次抛硬币,预测结果为正面的次数。 三,多项式分布(multinomial distribution) 多项式分布是二项式分布的扩展,不同的是多项式分布中,每次实验有n种结果。 概率计算: 期望计算: 最简单的例子就是多次抛筛子,统计各个面被掷中的次数。 四,先验概率,后验概率,共轭分布 先验概率和后验概率 :   先验概率和后验概率的概念是相对的,后验的概率通常是在先验概率的基础上加入新的信息后得到的概率,所以也通常称为条件概率。比如抽奖活动,5个球中有2个球有奖,现在有五个人去抽,小名排在第三个

Introduction to Advanced Machine Learning, 第一周, week01_pa(hse-aml/intro-to-dl,简单注释,答案,附图)

故事扮演 提交于 2020-04-06 19:28:21
这是俄罗斯高等经济学院的系列课程第一门,Introduction to Advanced Machine Learning,第一周编程作业。 这个作业一共六个任务,难易程度:容易。 1. 计算probability 2. 计算loss function 3. 计算stochastic gradient 4. 计算mini-batch gradient 5. 计算momentum gradient 6. 计算RMS prop gradient 从3到6,收敛应该越来越快,越来越稳定。 Programming assignment (Linear models, Optimization) In this programming assignment you will implement a linear classifier and train it using stochastic gradient descent modifications and numpy. import numpy as np %matplotlib inline import matplotlib.pyplot as plt import sys sys.path.append( ".." ) import grading Two-dimensional classification To make

Reducing Overfitting in Deep CNNs

馋奶兔 提交于 2020-04-06 19:01:45
这是一篇不错的博文,感谢分享。 http://blog.csdn.net/yhl_leo/article/details/66969915 ================================================================================================================================= 大家好,今天我要讲的内容是在深度学习的卷积神经网络中,如何减弱过拟合问题的相关研究,最近刚好在修改论文,就把相关的方法和技术整理出来,对于怎样选择和设计网络模型具有一定的指导性,希望对大家有帮助。 内容主要分为三个模块,首先对过拟合问题的产生原因、以及解决方向进行简单的介绍,然后会就不同的解决方案,讲解一些解决方法;最后是简单说一下自己的一些研究工作(最后一部分略)。 在讲过拟合问题前,先简单介绍一下偏差和方差权衡的问题,假设存在一组观测数据 x , y x,y ,如果存在一组理想的映射,使得每个观测值经过该映射后,能够与它对应的预测值一一对应,这就是识别、分类以及回归问题的本质,这里我们先不管怎么去优化这个理想的映射中的未知参数,我们也意识到对于观测数据,本身其实也是有噪声的,我们假设观测数据满足这样一个分布模式,也就是观测值经过理想的映射后还含有一个随机的高斯噪声项 ϵ ϵ

Introduction to Advanced Machine Learning, 第二周,Tensorflow-task(hse-aml/intro-to-dl,简单注释,答案,附图)

拜拜、爱过 提交于 2020-04-06 17:00:42
这是俄罗斯高等经济学院的系列课程第一门,Introduction to Advanced Machine Learning,第二周第一个编程作业。 这个作业一共两个任务,难易程度:容易。 1. 熟悉TensorFlow,计算RMS 2. 使用Logistic Regress对MNIST图片进行分类,是一个二元分类问题。 Going deeper with Tensorflow In this video, we’re going to study the tools you’ll use to build deep learning models. Namely, Tensorflow . If you’re running this notebook outside the course environment, you’ll need to install tensorflow: * pip install tensorflow should install cpu-only TF on Linux & Mac OS * If you want GPU support from offset, see TF install page import sys sys.path.append( ".." ) import grading Visualization Plase

Coursera 吴恩达 DeepLearning Sequence model 第二周作业 Emojify

一笑奈何 提交于 2020-04-06 12:28:39
自动表情符号 在这个练习中,首先完成基准模型Emojifier-V1,使用word embeddings求平均值。可以通过输入的句子输出一个表情符号。这个模型无法识别单词的顺序和复杂的句子结构。然后将会结合LSTM来建立一个更加复杂的模型Emojifier-V2。 我的总结 实验的结果发现复杂的LSTM模型并没什么卵用,V1的综合性能比V2要好。除了作业的训练集和测试集,我另外用了两个极端测试例。这两个例子无论V1,V2都无法得到正确的分类。 1) I could not agree anymore. label:happy 2) this movie is not good and not enjoyable label:unhappy 在训练集中添加上面两个例子,会导致训练结果变差,cost很大。因为对于word embedding求平均的方法,上面两个例子本来就无法得到合适的编码。如果硬添加到训练集中,属于outlier。 添加learning rate decay功能,并增加epoch 数量,V1的training accuracy 和test accuracy都可以超过作业中的预期。分别达到98.49%和91.07%。‘not feeling happy’也可以猜对。 尝试过从句子中删除stopword,并且修改过对应的predict函数,但结果不如预期。我的解释是首先

Introduction to Advanced Machine Learning, 第四周,Autoencoders-task(hse-aml/intro-to-dl,简单注释,答案,附图)

▼魔方 西西 提交于 2020-04-06 02:44:33
这是俄罗斯高等经济学院的系列课程第一门,Introduction to Advanced Machine Learning,第四周第一个编程作业。 这个作业一共四个任务,难易程度:容易。 0. 使用dense做autoencoder,不用写代码。MSE为0.0065。 1. 使用conv+pool做autoencoder,评分部分。MSE为0.0056。在同样的codesize下,conv+pool layers(deep network),要比dense layers 的MSE更低。 2. denoising,通过autoencoder给图片降噪。因为高斯噪声不会被编码。 3. image retrieval找到相似的图片。比较两张图片编码之间的距离。 4. image morph 图片变形。 Denoising Autoencoders And Where To Find Them Today we’re going to train deep autoencoders and apply them to faces and similar images search. Our new test subjects are human faces from the lfw dataset . Import stuff import sys sys.path.append( "..

Linux 安装 python 及其他

柔情痞子 提交于 2020-03-29 23:12:24
>>配置网络 TYPE=Ethernet #网卡类型 DEVICE=eth0 #网卡接口名称 ONBOOT=yes #系统启动时是否自动加载 BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议 IPADDR=192.168.1.11 #网卡IP地址 NETMASK=255.255.255.0 #网卡网络地址 GATEWAY=192.168.1.1 #网卡网关地址 DNS1=10.203.104.41 #网卡DNS地址 HWADDR=00:0C:29:13:5D:74 #网卡设备MAC地址 BROADCAST=192.168.1.255 #网卡广播地址 /etc/init.d/network reload --启动; ifup,ifdown;service network xxx; netstat -r //查看路由网关等信息; >>yum--本地源--so mount -o loop /dev/cdrom /media/CentOS baseurl=file:///media/CentOS/ >>安装vim,gcc,gcc-c++, --出现以下错误, Python build finished, but the necessary bits to build these modules were not found

SVMtrain的参数c和g的优化

给你一囗甜甜゛ 提交于 2020-03-25 08:22:10
3 月,跳不动了?>>> h i t 2015 s p r i n g 晨 凫 追 风 在svm训练过程中,需要对惩罚参数c和核函数的参数g进行优化,选取最好的参数 知道测试集标签的情况下 是让两个参数c和g在某一范围内取离散值,然后,取测试集分类准确率最佳的参数 不知道测试集标签的情况下 (1)利用交叉验证的方法:(k-fold cross validation) Start bestAccuracy = 0 bestc = 0 bestg = 0 //n1 , n2 ,k都是事先给定的值 for c = 2 ^(-n1) : 2 ^(n1) for g = 2 ^(-n2) : 2 ^(n2) 将训练集平均分为k部分,设为 train( 1 ),train( 2 ), ... ,train(k). 分别让每一部分作为测试集进行预测(剩下的k- 1 部分作为训练集对分类器进行训练)取得最后得到的所有分类的准确率的平均数,设为cv if (cv>bestAccuracy) bestAccuracy = cv; bestc = c; bestg = g end end end over (2)leave-one-out cross validation(loo交叉验证) 设原始数据有N个样本,那么LOO-CVj就是N-CV,即每一个样本作为验证集,其余的N-1个样本作为训练集