- 博客(63)
- 收藏
- 关注
原创 C++基础知识
Null空指针: 在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个 NULL 值是一个良好的编程习惯,未初始化的变量存有一些垃圾值,导致程序难以调试。
2023-10-25 09:19:33 119
原创 沟通训练营笔记
课前资料出门遇贵人先说事情,再约时间让你的成长性被看见办公位保持整洁、办公桌加升降台强化日常的郑重感出门工作时,准备好各种需要的工具出现频率决定了贵人帮助谁关注行业内前5的人,关注他们的所有资讯见面前做准备,给对方掌控感...
2022-01-21 23:44:04 965
原创 模型融合方法总结
1、简介简介:模型融合就是通过多个模型共同决策去提升任务的效果,是一种基本可以稳定提升任务效果的方法。融合原则:挑选效果尽可能好,而差异尽可能大的模型进行融合。常见方法:投票、求均值、stacking、blending2、常见方法简介2.1 投票法 vote少数服从多数,仅适用于分类算法。2.2 均值 avg多个模型的输出求均值。2.3 stackingstacking和blending都是希望使用一个模型去融合模型,而不是简单的投票或者相加。但是如果使用相同的数据去训练用于融合的模
2021-11-10 13:26:11 4170
原创 【数据结构算法】前缀和
一、前缀和算法简介前缀和就是一个数组前N个数只和,利用前N个数和数组作为辅助数据解题。二、例题此类题目比较简单,一般如果不要求记录具体位置坐标还可以构造字典,降低时间复杂度,不过构造时要注意边界条件,如一开始要把0加进字典里面。1、leetcode 560【解题思路】求前缀和的字典,因为不需要知道具体位置,然后对数组求和,每到一个位置前N个之和sum与目标值k对比,相减就是需要的数据,再去字段中寻找改数字的数量。【解题代码】class Solution(object): def su
2021-05-19 02:40:57 383
原创 【基础算法】差分数组
一、算法简介差分其实就是数据之间的差,什么数据的差呢?就是上面所给的原始数组的相邻元素之间的差值,我们令 d[i]=a[i+1]-a[i],一遍for循环即可将差分数组求出来。其实差分数组是一个辅助数组,从侧面来表示给定某一数组的变化,一般用来对数组进行区间修改的操作。二、相关例题此类题目比较简单,只需要注意边界的位置即可。1. leetcode 1094【解题思路】遍历trips数组构造差分数组,trip的开始处增加该站上的人数,同时在trip的结束处减去相应的人数。【代码】class S
2021-05-17 22:38:20 418
原创 《番茄工作法图解》阅读笔记
简介本书主要介绍了番茄工作法的方式,番茄工作法是一个帮人保持专注的方式,它是一种工作-休息-工作-休息 交替进行,每次工作只专注于一件事的一种模式,它的理论背景是人的注意力是有限的,它需要养成一种习惯去锻炼,所以需要番茄时钟,而因为人短期的容量记忆容量有限,所以一次只专注于一件事,工作是一件消耗能量和专注力的事情,所以工作一段时间后需要休息恢复去专注力。名词解释:番茄时钟:一般25分钟一个,时钟内只完成一件事休息时间:一般5分钟,完成4个番茄钟,进行一次大休息30分钟活动清单:近期需要完成的事情
2021-01-17 20:57:45 632 1
用户体验元素读书笔记
用户体验要素读书笔记第一章:简介与定义第一章介绍了用户体验的重要性,并定义了一下用户体验:用户体验是指产品如何与外界发生联系并发挥作用。设计通常有两个方面,外观和功能,而注重用户体验的设计,不是仅仅是要做好这两个方面,而是要做到外观服务于功能。在用户体验上做努力,都是为了提高效率,帮助人们工作得更快或者减少他们犯错的概率。第二章:用户要素的5层元素对设计用户体验的工作进行分层,然后对每层进行了简要的介绍表现层:用户看到的网页,图片和文字组成。(感知体验)框架层:网页的布局,按钮、控件照片和文本
2020-12-20 19:27:22 203
原创 REST api 设计风格
REST api 设计风格1、什么是 REST 的设计风格REST是一种面向资源URL设计风格,URL地址表示资源(也就是一个名词),而请求的方法对应对资源的操作,URL中不会出现动词,例如:请求含义错误正确获取所有小狗狗GET /rest/api/getDogsGET /rest/api/dogs添加一个小狗狗GET /rest/api/addDogsPOST /rest/api/dogs修改一个小狗狗GET /rest/api/editDogs/:dog
2020-11-25 02:35:40 340
原创 Docker基础--天池Docker入门
Docker基础1、Docer基础概念镜像(Images):就是静态的文件系统,里面有源代码、依赖的库、配置文件等,类似于github下载的代码包,但是是一个完整的系统,可以直接运行。可以用docker images查看系统中的镜像。容器(Container):容器是运行中的镜像,他的实质是进程,通过docker ps可以查看运行中的容器。仓库(Repository):首先我们需要登陆一...
2020-02-02 22:52:13 1660
原创 SpringBoot 之 IOC
1、IoC的作用IoC(控制反转),主要的作用就是降低代码之间的耦合程度。2、Bean的装配使用Spring boot生成对象需要几个步骤:1、为需要生成对象的类打上@Component的注解标记,这些类会被放到IoC容器中。Component注解有一个Value属性,指定这个类用于被检索的名字,如果不指定,默认是把类名的首字母小写其余不变作为检索名。在这些类的属性上打上@Value注解可...
2019-10-04 15:53:45 513
原创 Java反射
1、反射概述2、反射的使用在另一个包中新建一个类,用于体验反射的效果:package kfk.test.JavaLearning.reflectClass;public class ReflectClass { public String name; public float hp; private int moveSpeed; public R...
2019-09-15 19:43:41 217
原创 背包问题及其变体(Java)
背包问题:最经典的0-1背包背包问题是有一个一定容量的背包,然后有一堆物品,这些物品有一定的重量,要求在不超过背包容量的情况下,装最多的重量的问题。背包问题的变体背包问题有很多的变体,主要有以下几个:物品不仅仅有重量还会对应不同的价值,求价值最高,而不是重量最高每个物品有无限个而不是只有一个不是求最大重量,而是求达到重量的组合的个数背包问题的解法:背包问题是用动态规划的方法解...
2019-07-26 15:51:25 750
原创 归并排序练习题(Java)
1、算法原理:首先归并排序的基本是将两个数组合并,将两个有序的数组合并为一个有序的数组,需要一个额外的辅助数组,例如a、b数组,合并为cc[0] 是 a[0] 和 b[0] 中较小的数,假设是a[0],然后a数组的指针加1 变为a[1]c[1] 是 a[1] 和 b[0] 中较小的数,如此类推这样进行一次合并时间复杂度是O(n)归并排序的思想是,将整个数组2等分地无限拆分为每组只有1...
2019-07-25 01:52:19 835
原创 快速排序练习题(Java)
快速排序1、算法实现快速排序的核心方法:partition,它首先随机选择一个数,然后以这个数为轴,小于它的放在它前面,大于它的放在后面,然后放回这个轴数的排序位置。有很多种实现方法,选择我比较熟悉的一种:private int partition(int[] nums, int begin, int end){ int pivot = nums[end]; i...
2019-07-24 15:56:46 2234
原创 《代码整洁之道》部分笔记
1、命名名副其实:让读者看名字就明白它的作用避免误导:不要用有歧义的词语,例如不是List就不要带有List有意义的区分:不要加一些废话,例如NameString,例如ProductData和ProductInfo,不能区别它们的作用。使用读得出来的名称:使用英语单词使用可搜索的名称:不要使用a、b、c这种变量名,使用便于搜索的名字避免使用编码:不要加一些无意义的前后缀避免思维映射...
2019-07-22 18:38:13 181
原创 Spark 实现常用的map reduce功能 (Java版本)
记录利用spark core的函数,完成一些map reduce功能的练习,spark core有Transformation和Action两种算子,Transformation完成中间转变过程,不会把运算真的算出来,Action才会最终把运算计算出来,所以运算必须以Action算子作为结束。Transformation算子:map、filter、 flatMap、groupByKey 、re...
2019-07-17 17:09:28 1556
原创 Java多线程
1、多进程与多线程多进程是指多个进程在单个处理器上并发执行,CPU在某个时间点,只能执行一个程序,CPU计算较快,多个进程轮换使用CPU使用户感觉好像多个进程同步执行。而多线程则是扩展了多进程的概念,同一个进程可以并发处理多个任务,进程之间的系统资源是相互独立的,而线程之间共享父进程的系统资源,而自身有独立的堆栈、计数器和局部变量,使用起来有一定的优势,但也要更加小心。多线程的优势:共享...
2019-07-13 18:24:12 107
原创 Java的异常处理
1、关键字Java异常处理中有5个关键字:try:try{可能发生异常的代码}catch:catch(异常类型 e){处理异常e的代码块}finally:finally{回收资源代码块},由于try中代码可能出现异常,catch代码不一定会被执行,所以在这两个代码块区中回收资源都是不合理的,finally则是无论try-catch执行情况如何,除非退出虚拟机,fianlly中代码一定会被...
2019-07-06 20:44:10 108
原创 Java三大特性:封装、继承、多态
每个特性围绕含义、目的、知识点记录:封装1、含义:将对象的状态信息隐藏在内部,不允许外部程序直接访问,通过该对象的类所提供的方法进行访问。2、目的:1、限制不合理的访问2、保证对象信息的完成性,便于修改,提高可维护性设计类的原则是,高内聚(功能尽量在内部独立完成),低耦合(暴露尽量少的方法供外部使用)3、知识点:访问权限表:privatedefaultprot...
2019-07-05 14:07:50 172
原创 Notes:文本分类任务
1 传统方法一般采用步骤:a.文本预处理b.特征提取,得到文本表示c.分类器分类a.文本预处理先根本停用词表去除停用词后,分词(用字会损失n-gram特征)b.特征提取,得到文本表示词袋模型、语义相关的主题模型(LSI、NMF、LDA)提取特征。c.分类器分类使用SVM、xgboost、LightGBM等分类器分类。2 深度学习的文本分类方法2.1 fastText...
2019-02-22 05:54:18 1110
原创 深度学习优化方法总结
SGDSGD一般指小批量梯度下降,每一次迭代计算小批量的梯度,然后对参数进行更新,是最常见的优化方法了即:gt=∇θt−1f(θt−1)g_t = \nabla_{\theta_{t-1}}f(\theta_{t-1})gt=∇θt−1f(θt−1)Δθt=−η∗gt\Delta\theta_t = -\eta*g_tΔθt=−η∗gt其中η\etaη是学习率,θ\thetaθ...
2019-02-12 02:02:38 435
原创 Attention在NLP领域的一些知识点
先简单记录一下基础的知识点,阅读完综述《Attention, please! A Critical Review of Neural Attention Models in Natural Language Processing》后会更新。1、Attention 简介Attention可以理解为一种文本聚焦的方法,基本思想是对单词的embedding分配不同的权重,把注意力集中在相关的文本内容...
2019-02-10 22:02:30 724
原创 词向量经典模型:从word2vec、glove、ELMo到BERT
前言词向量技术将自然语言中的词转化为稠密的向量,相似的词会有相似的向量表示,这样的转化方便挖掘文字中词语和句子之间的特征。生成词向量的方法从一开始基于统计学的方法(共现矩阵、SVD分解)到基于不同结构的神经网络的语言模型方法。这里总结一下比较经典的语言模型方法:word2vec、glove、ELMo、BERT。其中BERT是最新Google发表的模型,在11个经典的NLP任务中全面超越最佳模型...
2018-12-05 23:39:27 34996 2
原创 海量数据编程常见问题及编程题(附解法)
常用方法:1)利用hash映射和堆进行排序。例如找出出现最多的前K个id,先映射为一个hash表,key是id,value是出现次数。然后遍历hash表,维护一个有K个节点的小顶堆,得到前K个出现最多的id。2)用Bloom filter。在做数据判重时,例如A出现的id是否在B出现过,如果对准确率没有严格的要求,可以牺牲一点点的准确率换取高的判断效率。3)用Bitmap。如果要对大量整数...
2018-11-19 15:15:11 492
原创 Hive笔记(查询和建表)
1、数据类型和文件格式数据类型创建表时需要指定字段的数据类型,hive支持一些集合数据类型,STRUCT、MAP和ARRAY:STRUCT:STRUCT <<>>> struct(5, ‘jack’) 通过字段名.first 和 字段名.second访问内容MAP:MAP<<&
2018-08-22 02:18:13 1636
原创 深度文本匹配发展总结
1、背景介绍文本匹配是自然语言处理中的一个核心问题,很多自然语言处理的任务都可以抽象成文本匹配问题,例如信息检索可以归结成查询项和文档的匹配,问答系统可以归结为问题和候选答案的匹配,对话系统可以归结为对话和回复的匹配。针对不同的任务选取合适的匹配模型,提高匹配的准确率成为自然语言处理任务的重要挑战。2、数据集介绍论文中经常用到的数据集:SNLI:570K条人工标注的英文句子对...
2018-07-28 02:39:15 12394 2
原创 在中文大语料库上训练word2vector
目录:1、词向量的作用2、词向量的训练方法3、gensim实现大语料库的word2vec1、词向量的作用传统使用one-hot表示一个词,用multi-hot表示一个文档。这样做主要的问题是: 1)维度大,独热向量稀疏。 2)损失语义信息,每个词用一个维度进行编号,词之间的余弦相似度都为0word embedding的优势: 1)分布式的表示(distribution...
2018-07-25 22:02:47 4346 1
原创 强化学习(reinforcement learning)原理
1、简介强化学习的任务对应一个四元组: E=<X,A,P,R>E=<X,A,P,R>E=X:当前状态A:可采取的动作总体集合P:各个转移状态的概率值R:奖赏函数整体的过程是,对于当前状态X,从动作集合A中选择一个动作,作用在X上,使得X按照概率转移函数P转移到另外一种状态
2018-05-16 19:06:40 9553
原创 数据挖掘--常用的回归模型调参总结
一、XBGoost调参步骤:1、设定一个稍大的学习率(0.1),利用xgboost里的cv方法去确定一个合适的迭代次数(也就是树的个数)2、根据参数的重要性,分别对参数进行调参,利用GridSearchCV,先进行大范围粗调再小范围精调,参数重要性排序:max_depth和min_child_weightgammasubsample和colsample_bytreere...
2018-04-21 14:27:00 6129
原创 机器学习--特征选择
1、特征选择特征选择是重要的数据预处理过程,特种选择有两个重要的原因:1 如果属性过多,会造成维数灾难,也就是随着属性变多,总体的特征数量呈指数级增长2 去除不相关的特征可以降低机器学习的难度。2、子集搜索与评价子集搜索子集搜索方法包含:向前、向后、双向搜索。 采用贪心的思想,“向前”选取特征,特征集初没有参数,每一轮选取一个加入后模型最佳的特征,也可以“向后”选取特征,一开始选取所有的特征
2018-04-10 10:28:57 539
原创 hadoop--HBase
1 简介HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。 2 逻辑思路和主要概念逻辑视图: ...
2018-04-09 01:23:51 293
原创 hadoop--MapReduce
1 MapReduce整体概述MapReduce是一种分布式计算模型,由Google提出,主要用于搜索领域,解决海量数据的计算问题。它分为两个阶段Map和Reduce。Map将问题进行拆分,并逐行的解析内容,将解析好的内容传给reduce进行业务操作。 map:读取一行的文件内容,将内容进行解析,处理为键值对传给reduce。 reduce:对map传入的键值对按照任务需求进行处理,形成新的键值
2018-04-08 21:40:07 213
原创 hadoop--HDFS
1 简介HDFS是一个分布式文件储存系统,数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件。是一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。 它具有通透性和容错性: 通透性:让实际上是通过网络来访问文件的动作,由程序与用户看来,就像是访问本地的磁盘一
2018-04-08 14:16:33 222
原创 大数据--hadoop 伪分布式环境搭建
1.安装JDK1.1下载JDK1.2解压jdk创建文件夹:mkdir /usr/java解压:tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/1.3将java添加到环境变量中vim /etc/profile 在文件最后添加 export JAVA_HOME=/usr/java/jdk1.7.0_55 export PATH=$PATH:
2018-04-06 09:00:16 382
原创 机器学习--评估指标
1 、损失函数种类0-1损失函数 J(θ)=1Y≠f(x)J(\theta) = 1 Y\ne f(x)J(θ)=0Y=f(x)J(\theta) = 0 Y = f(x)感知损失函数 J(θ)=1|Y−f(X)|>tJ(\theta) = 1 |Y-f(X)|>tJ(θ)=0|Y−f(X)|<tJ(\theta) = 0 |Y-f(X)|<t平方和损失函数 J(θ)=∑i=1m(h
2018-04-03 00:20:03 295
原创 机器学习实战--决策树
分类决策树APIclass sklearn.tree.DecisionTreeClassifier(criterion=’gini’, splitter=’best’, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None, random_sta
2018-04-02 02:04:28 172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人