- 博客(37)
- 资源 (2)
- 收藏
- 关注
原创 LDA
https://www.jianshu.com/p/3bbc97d05ab1线性判别方法(Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法,在二分类问题上因为最早由(Fisher)提出,亦称为“Fisher判别分析”。 (严格说来LDA与Fisher判别分析稍有不同,前者假设了各类样本的协方差矩阵相同且满秩)。4.1.投影降维L...
2019-10-10 17:02:19 682
原创 神经网络的 batch normalition
https://blog.csdn.net/meanme/article/details/486797851:背景由于在训练神经网络的过程中,每一层的 params是不断更新的,由于params的更新会导致下一层输入的分布情况发生改变,所以这就要求我们进行权重初始化,减小学习率。这个现象就叫做internal covariate shift。2:idea思想虽然可以通过whitenin...
2019-09-17 16:56:55 326
原创 python函数中的*args,**kw参数
https://blog.csdn.net/maliao1123/article/details/52152989*args是非关键字参数,用于元组,**kw是关键字参数,用于字典def foo(*args, **kwargs): print('args = ', args) print 'kwargs = ', kwargs)foo(1,2,3,4)foo...
2019-09-13 23:02:02 323
原创 机器学习的归一化和标准化
一般做机器学习应用的时候大部分时间是花费在特征处理上,其中很关键的一步就是对特征数据进行归一化,为什么要归一化呢?很多同学并未搞清楚,维基百科给出的解释:1)归一化后加快了梯度下降求最优解的速度, 主要是加快梯度下降法收敛速度。2)归一化有可能提高精度。下面我简单扩展解释下这两点。1.归一化有两种实现方法:(1)常用的方法是通过对原始数据进行线性变换把数据映射到[0,...
2019-09-10 17:05:05 292
原创 2020年携程算法工程师(1卷)第一题,每个不同字符最长字符串长度
s='aabbcddc'要求输出 2,2,4s = 'aabbcddc'dic = {}lis = []new_start = 0for index,i in enumerate(s): if index <= new_start:#如过小于上次的结束值,跳过 continue else: start = index ...
2019-09-09 20:22:39 259
原创 python学习动态规划
动态规划是什么,意义在哪里:今天花了几个小时,重新理解了一下dp。。。首先我们要知道为什么要使用dp,我们在选择dp算法的时候,往往是在决策问题上,而且是在如果不使用dp,直接暴力效率会很低的情况下选择使用dp.那么问题来了,什么时候会选择使用dp呢,一般情况下,我们能将问题抽象出来,并且问题满足无后效性,满足最优子结构,并且能明确的找出状态转移方程的话,dp无疑是很好的选择。...
2019-09-09 20:22:01 172
原创 关于Python中groupby,merge,concat的运用和这几个函数之间的区别
https://blog.csdn.net/qq_34071917/article/details/82192441
2019-09-03 17:43:32 272
原创 关于机器学习集成算法
2019年8月24开始跟新决策树(decesion tree)https://blog.csdn.net/HUNXIAOYI561/article/details/89406610(决策树)随机森林(RF)https://blog.csdn.net/qq547276542/article/details/78304454(随机森林)adaboostadaboost+决策树...
2019-09-03 17:43:18 204
原创 Dijkstra算法最清楚的讲解
https://blog.csdn.net/heroacool/article/details/51014824
2019-08-22 23:12:23 212
转载 sklearn中的交叉验证(Cross-Validation)
https://blog.csdn.net/xiaodongxiexie/article/details/71915259
2019-05-20 17:11:46 262
原创 方差,协方差
在机器学习PCA,ARIMA中涉及到了方差var和协方差cov,这里简单总结下。首先:均值,样本方差,样本协方差的公式为:均值: 方差:样本方差:样本协方差 :首先我们应该清楚的区分两个概念,即方差和样本方差的无偏估计:方差公式中分母上是N;样本方差无偏估计公式中分母上是N-1 (N为样本个数)。其中样本方差公式中为什么...
2019-05-18 18:10:46 771
原创 最正确最全面的满二叉树,完全二叉树,平衡二叉树,二叉搜索树(二叉查找树)
二叉树: 每个结点不超过2个子树的树结构。满二叉树:一个结点要么是叶子节点,要么有两个叶子结点。(国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树)完全二叉树:深度为h,除h层外,h-1层是满二叉树,h层结点连续集中在左边。(若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这...
2019-05-17 11:43:42 836
转载 准确率、精确率、召回率、F1值、ROC/AUC
https://blog.csdn.net/u013063099/article/details/80964865
2019-05-12 11:08:40 563
原创 前序遍历 中序遍历 后续遍历 的真正理解
二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们平常所说的层次遍历。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁,而对于广度遍历来说,需要其他数据结构的支撑,比如堆了。所以,对于一段代码来说,可读性有时候要比代码本身的效率要重要的...
2019-05-08 21:58:49 2359
转载 python中np.multiply()、np.dot()和星号(*)三种乘法运算的区别
https://blog.csdn.net/zenghaitao0128/article/details/78715140
2019-05-08 16:05:52 280
原创 softmax
可以参考:https://blog.csdn.net/qian99/article/details/78046329第一篇博客中将损失函数定义为下面的会更加容易理解:将 定义成: 或者: 关于损失函数的求导问题:损失函数的求导目标是 : ...
2019-05-08 16:03:41 735
原创 线性回归
1.假设函数 或者 预测函数:在一维特征空间,线性回归是通过学习一条直线,使得这条直线尽可能拟合所有已有的看到的点y,并且希望看到的(数据)也尽可能落落在这条线上(泛化能力),是预测值,y是实际值。 其中参数w0称为“偏置”,w1称为“权重”,x表示输入变量X的...
2019-05-06 11:11:32 225
转载 K-mean
k-均值是发现给定数据集的k个簇的算法。簇个数k是用户给定的,每一个簇通过其质心,即簇中所有的中心来描述。K-均值算法的工作流程是这样子的:首先,随机确定k个初始点作为质心。然后将数据集中的每个点分配到一个簇中,具体来讲,为每个点找距其最近的质心,并将其分配给该质心所对应的簇。这一步完成之后,每个簇的质心更新为该簇所有点的平均值。上述过程的伪代码如下:创建k个点作为起始质心(经常是随机...
2019-05-05 17:30:16 805
原创 K近邻算法
knn(k_nearest neighbor)是一种基本的分类与回归方法。KNN做分类预测时,一般是选择多数表决法,即训练集里和预测的样本特征最近的K个样本,预测为里面有最多类别数的类别。而KNN做回归时,一般是选择平均法,即最近的K个样本的样本输出的平均值作为回归预测值。由于两者区别不大,虽然本文主要是讲解KNN的分类方法,knn算法的三要素是:k值的选择,距离度量,分类决策规则k近邻算...
2019-05-05 16:03:43 291
转载 xgboost与gdbt
具体的xgboost可见:https://blog.csdn.net/a819825294/article/details/51206410链接1里面的盲点解释:目标函数把把这两个看成太勒展开的的x,看成。因为是常数,所以对当前迭代中可以省略掉。 对于 ,还是要遍历每个样本i的(遍历每个节点内的样本),其余都是遍历叶子节...
2019-05-04 18:07:33 241
原创 提升树
Adaboost + 分类树 = 分类算法(分类提升树)回归树+前向分布算法+拟合残差 = 回归算法(回归提升树)回归树+前向分布算法+拟合梯度 = 回归算法(梯度提升树 GDBD)bagging +决策树 = 随机森林...
2019-04-28 11:45:02 156
转载 python __slots__方法使用
__slots__:作用是限制实例的属性正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:class Student(object): pass然后,尝试给实例绑定一个属性:>>> s = Student()>>> s.na...
2019-04-26 21:06:38 153
转载 python 闭包
什么时候闭包?从上面的例子可以看出,当嵌套函数引用其封闭范围内的值时,在Python中有使用了一个闭包。在Python中创建闭包必须满足的标准将在以下几点 - 必须有一个嵌套函数(函数内部的函数)。 嵌套函数(里面的函数)必须引用封闭函数(外面的函数)中定义的值。 闭包函数(外面对函数)必须返回嵌套函数(里面的函数)。 例如:下面是个闭包函数def...
2019-04-26 11:45:14 148
原创 python 生成器 迭代器
看完这个就完全懂生成器和迭代器生成器:什么是生成器? 通过列表生成式,我们可以直接创建一个列表,但是,受到内存限制,列表容量肯定是有限的,而且创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?...
2019-04-25 23:26:41 139
原创 AdaBoost、GBDT、RF、XGboost、lightGBM
AdaBoost简单介绍AdaBoost是基于boosting的思想,通过多个弱分类器的线性组合来得到强分类器,训练时重点关注被错分的样本,准确率高的弱分类器权重大。更深一步的介绍在训练过程中,它不改变所给的训练数据,而是不断改变训练数据权值的分布,使得被误分类的数据再后一轮的分类中受到更大的关注。同时采用加权多数表决的方法,加大分类误差率小的弱分类器的权值,使...
2019-04-25 17:12:50 412
原创 Adaboost
原理介绍:(1)初始化训练数据(每个样本)的权值分布:如果有N个样本,则每一个训练的样本点最开始时都被赋予相同的权重:1/N。(2)训练弱分类器。具体训练过程中,如果某个样本已经被准确地分类,那么在构造下一个训练集中,它的权重就被降低;相反,如果某个样本点没有被准确地分类,那么它的权重就得到提高。同时,得到弱分类器对应的话语权。然后,更新权值后的样本集被用于训练下一个分类器,整个训练过程如...
2019-04-25 16:52:28 301
转载 GBDT
GBDTGBDT(GradientBoostingDecisionTree)又叫MART(MultipleAdditiveRegressionTree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化能力(generalization)较强的算法。近些年更因为被用于搜索排序的机器学习模型而引起大家关注。...
2019-04-22 11:30:29 659
原创 决策树
这是我的第一篇博客,后续会将所有的机器学习模型都逐步写下来,谢谢关注决策树是一种基本的分类与回归的方法特征选择介绍:特征选择在于选择对训练数据具有分类能力的特征,这样可以提高决策树学习效率。通常特征选择的准则是信息增益和信息增益比,gini指数。前提知识介绍:熵:熵(entropy)是表示随机变量不确定性的度量公式(1) ...
2019-04-20 21:13:20 547
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人