自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 阿里数据分析岗一面总结与反思

Q1:为什么想做数据分析?回答逻辑:1. 对这个岗位的定位是什么?2. 这个岗位有什么吸引自己的地方或对自己有价值的地方?- 1. 我个人对数据分析的定位是:从数据中挖掘出有价值的信息,指明业务发展方向、支撑业务决策、引导业务动作,是一个意义重大的岗位。- 2. 从数据中挖掘出有价值的信息就感觉像在做发明创造似的,很有趣;而且这项工作很能锻炼逻辑分析能力,能帮助自己在职场上走得更高更远。Q2:rta与rtb的异同?- 了解广告业务的基础知识。Q3:点击了某一button的..

2020-08-22 21:23:22 802

原创 ab-test概率论

ab-test显著性检验 人数n 转化人数m 转化率p 对照组A n1 m1 p1=m1/n1 实验组B n2 m2 p2=m2/n2 二项分布:事件发生概率p,记n次实验中事件发生的次数为X,X服从二项分布当n比较大时,二项分布趋近正态分布,即所以有转化人数m服从正态分布,故而转化率p服从正态分布可得对照组和实验组转化率的分布均服从正态分布,而两个正态分布的差也服从正态分布,记,可得实验组转化率大于对照组转化率.

2020-08-18 22:15:51 441

原创 C++基础知识

关键字const修饰变量:该变量不能修改 修饰引用:不能通过该引用修改其引用的对象 修饰指针: 指向常量的指针:const TYPE* pointer,不能通过该pointer修改其指向的对象; 指针常量:TYPE* const pointer,不能修改该pointer本身; 修饰成员函数:TYPE func() const,该函数不能修改类内的任何成员变量static修改变量的存储区域和生命周期,使变量存储在静态区修饰普通变量、普通函数:约束作用范围在本文件内的全局,不能

2020-07-25 13:14:22 196

原创 动态规划--leetcode之割韭菜的最佳时机

本文将通过几个例子来讲解下动态规划的基本套路。# 动态规划的套路:首先明确以下两点,# 1. 状态(状态值与求解目标有关)# 2. 动作,引发状态转移 # 画出状态转移图,然后根据状态转移图写出递推公式,# 虚构一个start state,从该state开始选择逐步动作、进行状态转移# example 1: 买卖股票的最佳时机--可买卖多次,求最大收益## 每一时刻,都有2个状态,不持有股票(记为状态S0)或持有股票(记为状态S1),状态值V为当前状态下的最大收益## 动作:S0买入

2020-07-25 09:48:14 213

原创 机器学习基础:降维之矩阵分解svd、pca、lda

本篇主要记录下svd(Singular Value Decomposition)、pca(Principal Component Analysis)、lda(Linear Discriminant Analysis)svdsvd是一种无监督的降维算法,其可以用来对任一矩阵(不要求为方阵)进行分解,如下:详细可参考:https://www.cnblogs.com/pinard/p/6251584.htmlpcapca是一种无监督的降维算法,其基本思想是如果样本在某一维度上的方差越大

2020-07-10 09:02:13 1252

原创 神经网络基础--循环神经网络RNN

在处理序列问题(如语言识别等)上,使用循环神经网络(Recurrent Neural Networks,RNN)是很自然的方式;所谓循环神经网络,其实就是把上一时刻的信息作为当前时刻输入的一部分,从而实现信息的传递;本文将先介绍基础版RNN,并说明基础版的问题,然后介绍改进版的循环神经网络LSTM、GRU。RNNRNN的基本结构如下图所示:结构比较简单,通过单元状态s的循环来实现信息的传递,其公式如下:单元状态s的更新公式就是一个递推公式,依赖当前输入和上一时刻的单元状态。RNN

2020-07-05 18:47:59 352

原创 神经网络基础3:优化方法

本篇主要讲神经网络的常见优化方法。目前,出现了很多优化方法,如SGD、AdaGrad、RMSProp、AdaDelta、Momentum、Nesterov-Momentum (Nesterov’s accelerated gradient--NAG)、Adam、AdaMax、Nadam,接下来对它们分别进行讲解:SGD最初始的梯度下降法SGD优化的缺点:选择合适的learning rate比较困难;==》可以通过自适应学习率的方法克服 SGD对所有的参数更新使用了同样的learni

2020-06-24 20:32:18 258

原创 神经网络基础--指数加权移动平均ewma

因为神经网络中的常用优化算法都会涉及到指数加权移动平均(exponential weighted moving average, ewma;也可称为exponential moving average,ema),所以这里单独写下这个知识点。ewma通过将历史的值和当前实际值进行加权求和来得到当前值的估计,常用于减小序列数据的噪声,其公式如下,将该式进行递推展开得:令初始估计值,则可以看到,历史值随着时间距离越大而被赋予越小的权重;具体来说,历史数据的影响(权重)是随时间距离变化而呈指数衰

2020-06-24 00:17:07 2114

原创 神经网络基础2:激活函数

不是所有信息都是有用的,一些只是噪音;激活函数可以帮助神经网络做这种隔离,激活有用的信息,并抑制无关的数据点。以下将介绍神经网络中常用的几种激活函数:sigmoid、tanh、ReLu、leaky ReLu、PReLu、ELU、maxout、softmax,以及它们各自的特性。...

2020-05-23 11:12:29 1434

原创 神经网络基础1:数据处理biasing与scaling

数据处理我们知道在神经网络中,通常需要对样本数据进行预处理(Z-score standardization)、对各层中间隐层进行normalization(如Batch-normalization、layer-normalization等),这些操作都涉及biasing和scaling操作,那为什么需要这些操作?我们知道,每个神经元输出都是输入的线性组合z经过线性/非线性变换得到的可以把梯度理解成是输入对输出贡献的力度,梯度大小是与输入数值大小息息相关的,中间输出z对参数W的梯度等于输入向量

2020-05-17 17:24:58 1549

原创 GBDT与xgb

GBDTGBDT,梯度提升决策树,是一种以决策树为base learner的集成方法,以串行的方式,不断的学习新的base learner,每次都朝目标前进一些,形成一系列base learner,最终由这一系列base learner进行线性加权得到最终的learner。梯度下降法,XGB...

2020-05-16 17:57:56 1061

原创 knn基础与优化2--ball tree、LSH

ball-tree为了改进KDtree的二叉树树形结构、以及沿着笛卡尔坐标进行划分的低效率,ball tree将使用超球面而不是超平面来划分空间。虽然在构建数据结构的花费上大过于KDtree,但是在高维甚至很高维的数据上都表现的很高效。LSHLSH(Locality Sensitive Hashing),局部敏感哈希...

2020-05-13 09:14:46 1765

原创 knn基础与优化1--kd-tree

KNNKNN(K-Nearest Neighbours),k最近邻算法,是一个基于距离的有监督算法,常被用于分类问题的算法,它也可以用于回归问题。所谓k最近邻,就是k个最近的邻居的意思,说的是每个数据点都可以用它最接近的k个邻居数据点来代表。当用于分类时,用k个最近邻居所属类别的多数做预测结果;当用于回归时,用k个最近邻居对应标签的平均值来表示预测结果。knn算法虽然简单,但在数据量较大时,效果还是相当不错的。注意事项:k值的选取:k值是需要预先设定的;选小了(极端k=1),数据噪音将会对结果有

2020-05-11 09:05:31 1072

原创 k-means基础

k-means、knn

2020-05-09 09:02:48 336

原创 EM算法系列--原理

本系列通过如下两部分来讲解EM算法:1. EM算法的原理2. EM算法实际应用--HMMEM算法EM算法全称是 最大期望算法(Expectation-Maximization algorithm, EM),是一类通过迭代进行极大似然估计(Maximum Likelihood Estimation, MLE)的优化算法 ,通常作为牛顿迭代法(Newton-Raphson method...

2020-05-08 08:59:32 580

原创 FM与FFM

前面写到LR是个线性的概率二分类模型,SVM是个可以通过kernel引入非线性的线性二分类模型;LR的优点是简单、方便、易于求解,但缺点在于线性模型中假设不同特征之间是独立的,即没有考虑特征间的相互影响;为了解决简单线性模型无法学得特征间交叉影响的问题,SVM通过引入核函数来实现特征的交叉,而本篇要讲的FM(Factorization Machine)与FFM(Field Factorizatio...

2020-05-02 09:22:36 481

原创 L1、L2正则的效果

L1、L2正则的几何解释等高线L1、L2正则的梯度解释从L1、L2正则的梯度可以看出,根据梯度下降法,L1正则下的参数更新,公式,有可能为0L1正则下的参数更新,公式,只能不断接近0而不为0...

2020-04-29 09:09:16 261

原创 logistic regression的概率思想

本篇将对LR(logistic regression)进行讲解,主要从以下3个方面展开:LR的两种等价表示形式 LR与线性回归 LR与最大似然LR的两种等价表示形式LR是一个线性二分类模型,表示为,当用0/1表示C1和C2时,其对应的概率表示为:当用-1/1表示C1和C2时,其对应的概率表示为:显然上述两种概率表示是相等的,只不过对y的表示不同而已。LR与线性回归...

2020-04-28 09:06:05 243

原创 非线性SVM--kernel

前面我们知道,SVM本质是一个线性分类器,如果数据本身线性不可分,那SVM就不能直接应用了;虽然不能直接应用,但还是可以先把数据变得基本线性可分再应用SVM;那如何把数据从线性不可分变成基本线性可分的状态呢?答案便是进行空间转换,把数据从一个空间转换到另一个空间;一个最自然的想法便是低维空间到高维空间的转换,既然在低维空间线性不可分,那便转换到高维空间,也许就能基本线性可分了;如下图所示,一维空间...

2020-04-25 16:07:39 411

原创 SVM系列

该系列将通过以下几篇来讲述SVM:SVM优化目标 这篇主要讲SVM的基本思想以及优化目标的推演 软件间隔 支持向量 SVM求解--对偶 这篇主要讲SVM优化目标的对偶问题,即如何将难以求解的优化目标转出容易求解的对偶问题 SVM求解--smo 这篇主要讲SVM对偶问题的高效求解算法--smo 非线性SVM--kernel 这篇主要讲非线性SVM,即通过ker...

2020-04-23 23:55:42 135

原创 SVM优化--对偶

在SVM--基本思想中讲到SVM的优化目标,这里再贴出来,如下:这是一个二次规划问题,虽然可以直接应用KKT条件进行求解,但是还是太过复杂,不易求解;首先对该问题进行一下转化,设其中、、,,也即有,参照KKT的证明,易知,当 时,,等式右边是等式左边的对偶最终,SVM的优化目标等价于先求,即将这些代入上公式,即有当时,,有当时...

2020-04-23 23:21:05 286

原创 SVM--基本思想

本篇是SVM(support vector machine)系列的第一篇,主要讲述SVM的基本思想。本文将围绕以下几个问题进行展开:1. SVM的基本思想是什么2. SVM的优化目标怎样推演而出的3. 什么是支持向量(support vector)SVM的基本思想SVM本质上来说是一个线性二分类器(可以先对输入X进行非线性变换再送入SVM从而实现非线性分类)对于一个分类...

2020-04-22 00:14:06 6401

原创 SVM优化--smo

本篇是SVM系列的最后一篇,将讲解SVM的求解,即SMO算法待优化问题回顾一下,SVM的优化问题最终可以转化为如下形式:显然,该问题同样不好直接优化求解,而Platt提出的SMO算法便是一个可以高效的求解上述问题的算法,他把原始问题的求解N个参数二次规划问题分解成多个二次规划问题进行迭代求解,即每次选择一对变量而固定其它变量来进行求解;根据问题的等式约束,当变动时,也要随之变动以满...

2020-04-19 13:16:48 1029

原创 SVM基础--超平面

超平面定义:超平面的法向量法向量:与超平面上任一向量正交的向量如图所示,点a、z为超平面上的任意两点,即有,则向量a-z为超平面上的任一向量,且有,根据法向量的定义,可知该超平面的法向量即为W,单位法向量为。点到超平面的距离d设点p在超平面的投影点为q,即,则有向量p-q与法向量W平行,即有(超平面上方的p点)或(超平面下方的p点),则有,即...

2020-04-12 17:42:35 597

原创 Lagrange与KKT的简易解释

本文将以梯度下降法的方式来解释Lagrange和KKT。关键词:梯度下降法、等高线基础定义Lagrange求解等式约束下的最优化问题Lagrange函数: (1)方程组的解是原问题的可能的最优解KKT求解不等式约束下的最优化问题Lagrange函数: (2)方程组,即KKT条件,的解是原问题的可能的最优解解释梯度的定义,等式约束因...

2020-04-12 15:53:43 549

原创 python基础---可变参数,关键字参数,装饰器

在函数定义def func(*args, **kw) 时,    参数args 前有‘*’符号,表示该参数是可变参数,即参数的数量可以为任意个;    参数kw 前有‘**’符号,表示该参数是关键字参数,即参数带有key,且数量可以为任意个;在函数调用 func(*args, **kw) 时,    参数args 前有‘*’符号,表示会把args展开,把其中的每个参数传入;args是一个list或...

2018-05-14 21:26:41 542

原创 tensorflow入门:tf.name_scope,tf.variable_scope、变量共享

1. tf.name_scope('scope_name')或tf.name_scope(named_scope)主要与tf.Variable搭配使用;当传入字符串时,用以给变量名添加前缀,类似于目录,如case1所示;当传入已存在的name_scope对象时,则其范围内变量的前缀只与当前传入的对象有关,与更上层的name_scope无关,如case2所示。import tensorflow as...

2018-04-03 17:45:18 7311 3

原创 tensorflow入门:TFRecordDataset变长数据的batch读取

在上一篇文章tensorflow入门:tfrecord 和tf.data.TFRecordDataset里,讲到了使用如何使用tf.data.TFRecordDatase来对tfrecord文件进行batch读取,即使用dataset的batch方法进行;但如果每条数据的长度不一样(常见于语音、视频、NLP等领域),则不能直接用batch方法获取数据,这时则有两个解决办法:1.在把数据写入tfre...

2018-04-02 22:40:35 16264 5

原创 tensorflow入门:tfrecord 和tf.data.TFRecordDataset

1.创建tfrecordtfrecord支持写入三种格式的数据:string,int64,float32,以列表的形式分别通过tf.train.BytesList、tf.train.Int64List、tf.train.FloatList写入tf.train.Feature,如下所示:tf.train.Feature(bytes_list=tf.train.BytesList(value=[fea...

2018-04-02 20:16:49 33349 5

原创 tensorflow入门:mnist

1. mnist数据集的获取和使用1.1获取mnistfrom tensorflow.contrib.learn.python.learn.datasets.mnist import read_data_setsmnist = read_data_sets("MNIST_data/", one_hot=True) # "MNIST_data/"是数据保存的位置,one-hot是否把label变成...

2018-03-31 22:34:38 4222

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除