4 bitcarmanlee

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 312

scopt解析参数实例

1.简介scopt是github上有人开发的一个用来解析参数的轻量级小工具,对于日常解析参数的场景基本够用,项目中使用也比较多,现在稍微记录一下用法。2.依赖在pom.xml文件中加入以下依赖 <dependency> <groupId>com.github.scopt</groupId> <artifactId>scopt_2.10</artifactId>

2020-07-15 19:54:19

itellij jdk多重选择Class JavaLaunchHelper is implemented in both

1.问题描述intellij运行java代码时,提示如下问题objc[xxx]: Class JavaLaunchHelper is implemented in both xxx and xxx. One of the two will be used. Which one is undefined.2.问题解决问题描述得比较清楚了,是系统中现在有两个JDK,intellij不知道选择哪个。所以重新配置一下就好2.1 打开idea.properties文件点击help -> edit

2020-06-21 09:29:09

树算法系列之四:XGBoost

1.CART树回顾在正式讲Xgboost之前,我们先回顾一下CART树。CART树的生成过程,就是递归构建二叉树的过程,本质上是在某个特征维度对样本空间进行划分。这种空间划分是一种NP Hard问题,因此一般都是用启发式的方式去求解,即求某个特征j的且分点s,使得min⁡j,s[min⁡c1∑xi∈R1(j,s)(yi−c1)2+min⁡c2∑xi∈R2(j,s)(yi−c2)2]\min_ { j , s } \left[ \min _ { c _ { 1 } } \sum _ { x _ { i

2020-06-18 23:24:26

树算法系列之三:GBDT

1.GBDT(Gradient Boosting Decison Tree)梯度提升树GBDT与提升树有非常密切的关系。为方便阅读本文,可以先参考提升树一文。在提升树一文中,我们提到每一轮迭代,都是去拟合上一轮的"残差",如果用一个简单的公式表示就是yi−fm−1(x)y_i - f_{m-1}(x)yi​−fm−1​(x)GBDT与上面普通提升树的不同在于,其拟合的不是残差,而是梯度下降的方向。也就是将残差的计算替换为损失函数梯度的计算:rmi=−[∂L(yi,f(xi))∂f(xi)]f(x)=

2020-06-18 18:05:29

树算法系列之二:boosting,bagging,提升树

0.集成学习(ensemble learning)集成学习是目前一种比较流行的学习算法,是一大类学习算法的统称,而不是单独的某个算法。其核心思想是三个臭皮匠,顶个诸葛亮。某一个学习器的能力可能比较弱,但是将多个学习器集合在一起,发挥集体的智慧,可能就能迸发出强大的战斗力。集成学习主要有两个问题需要解决:第一是如何得到若干个弱学习器,第二则是采取一种什么样的策略让这些弱学习器组合到一起。对于第一个问题,我们目前采取的方式一般都是将同一种弱学习器训练多个,比如常见的GBDT,采用的弱学习器就是决策树这种结

2020-06-18 16:21:37

树算法系列之一:CART回归树

0.前言在深度神经网络崛起之前,基于树类的算法是表现比较优异,非线性性能比较好的一大类算法,深受广大人民群众的喜爱。比如常见的基于树的算法有随机森林(Random Forest),GBDT, XGboost, LightGBM等。而所有的这些算法,都是基于决策树(Decision Tree)进化而来的。因此了解熟悉决策树是我们学习算法过程中一个必不可少的环节。决策树可以分为分类树与回归树。回归树一般只能处理连续型数据,而分类树则即可以处理连续型数据又可以处理离散型数据。1.什么是CART树CART树

2020-06-18 11:18:42

反转链表与分组反转链表

1.反转链表经典的反转链表,先上代码public class ListNode { int data; ListNode next; public ListNode(int data) { this.data = data; }}public class PrintList { public static void print(ListNode root) { while (root != null) {

2020-06-14 21:38:32

Guava LoadingCache用法

1.Guava中的cachecache在任何系统中都是一种被广泛使用的数据中间件。对于小规模的缓存数据,Guava中的cache会很实用,使用得也很多。下面我们就针对Guava中的cache做个简单分析。/** * A semi-persistent mapping from keys to values. Cache entries are manually added using * {@link #get(Object, Callable)} or {@link #put(Object, Ob

2020-06-02 19:16:18

线性相关 线性无关

1.线性相关(linearly dependent)与线性无关的(linearly independent)定义线性相关的定义为:对于一组向量v1,v2,⋯ ,vnv_1, v_2, \cdots, v_nv1​,v2​,⋯,vn​,如果存在一组不全为0的整数k1,k2,⋯ ,knk_1, k_2, \cdots, k_nk1​,k2​,⋯,kn​,使得k1v1+k2v2+⋯+knvn=0k_1v_1 + k_2v_2 + \cdots + k_nv_n = 0k1​v1​+k2​v2​+⋯+kn​vn

2020-06-01 22:34:43

Faiss从入门到实战精通

1.Faiss是什么Faiss是Facebook Ai Research开发的一款稠密向量检索工具。引用Faiss Wiki上面的一段简介Faiss is a library for efficient similarity search and clustering of dense vectors.It contains algorithms that search in sets of vectors of any size, up to ones that possibly do not fi

2020-05-30 21:54:30

java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification

1.ConcurrentModificationException有如下代码处理ArrayList @Test public void test1() { List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.add(4); for(int num: list

2020-05-29 17:14:23

No module named swigfaiss

本地ubuntu系统装了faiss以后,运行相关测试代码还会报如下错误:No module named '_swigfaiss'查阅了一下github上faiss相关文档,还需要安装如下组件sudo apt-get install libopenblas-devsudo apt-get install libomp-devopenblas这种东西,那必然就是与科学计算有关系了…...

2020-05-24 16:53:36

推荐系统矩阵分解详解之spark ALS

1.推荐系统与spark做推荐系统的同学,一般都会用到spark。spark的用途相当广泛,可以用来做效果数据分析,更是构建特征与离线训练集的不二人选,同时spark streaming也是做实时数据的常用解决方案,mllib包与ml包里面也实现了很多常用的算法,是针对大数据集分布式算法最常用的算法框架。因此能熟练掌握spark的使用算是做推荐系统的基本功。2.ALS算法spark mllib/ml中,recommendation包里只有一个算法:ALS,估计做过推荐系统相关的同学,都会或多或少用过A

2020-05-17 23:40:02

推荐系统中的矩阵分解详解

0.前言推荐系统最常见的两种场景为评分预测与排序。评分预测的典型场景为豆瓣上一个用户对电影的评分,淘宝上对某个商品的评分。排序的场景更为普遍,比如信息流业务中,从海量的内容中挑选出最合适的topN内容给用户展示,就是一个典型的排序问题。推荐系统中非常经典的技术之一就是矩阵分解(Matrix Factorization)。矩阵分解具有优秀的可扩展性,而且实现起来也不困难,因此在实际中使用非常广泛。下面我们针对推荐系统中的矩阵分解相关内容做一个详细梳理。1.特征值分解说到矩阵分解,一般先会提到特征值分解

2020-05-13 23:15:46

SparkStreaming kafka zookeeper本地环境调试安装

1.需求线上需要使用流式数据实时反馈CTR,因此想用spark streaming计算相关数据。之前一直没有在本地配置streaming的调试环境,因此在本地安装一下streaming的调试环境并记录。2.需要安装的组件spark streaming一般会接消息队列作为数据源,以kafka为例,所以需要在本地安装kafka。kafka又依赖zookeeper,所以还需要安装zookeeper。3. 安装zookeeper3.1 下载zk先去zookeeper官网下载zookeeper对应的.bi

2020-05-12 15:52:54

解压tar.gz文件与tar.bz2文件

解压tar.gz文件与tar.bz2文件的命令是不一样的。其中解压tar.gz的命令为tar -zxvf ×××.tar.gz解压tar.bz2的命令为tar -jxvf ×××.tar.bz2主要区别在于,一个参数为-z,一个参数为-j。-z即询问是否有gzip属性,-j询问是否有bzip2属性...

2020-05-11 14:51:50

ubuntu dock栏添加应用启动图标

1.问题描述新安装的ubuntu18系统,自己下载的软件包安装好以后,无法将启动图标固定在dock栏上,导致每次启动都要去软件安装的目录中执行对应的启动脚本,非常不方便。为了解决上述问题,可以采用如下解决方案。2.解决办法以pycharm为例在~/.local/share/applications目录中,新建pycharm.desktop文件[Desktop Entry]Encoding=UTF-8Name=PyCharmExec=.../soft/pycharm-community-

2020-05-11 14:27:52

ubuntu修改源为阿里云

1.备份先备份原有的配置,以防不测。sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak2.修改配置讲sources.list原有内容全部删除,加上如下配置deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic main restrict

2020-05-08 17:37:32

python 时间戳转换,求时间差等常见用法

1.常用的模块from datetime import datetimeimport timefrom dateutil.parser import parse2.得到当前时间def getCurrentTime(): now = datetime.now() print(now) print(type(now))结果为2020-05-07 09:39:0...

2020-05-07 09:49:43

tensorflow手动实现算法之三逻辑回归

1.逻辑回归算法逻辑回归是日常工作中最常用的算法之一。虽然逻辑回归很简单,出现的年代也比较久远,但是实现简单,可解释性强,一般效果也不会太差,尤其在处理海量数据集的时候具有性能上的巨大优势,因此逻辑回归一般会被用作线上算法的baseline版本之一。之前逻辑回归系列文章为什么要使用logistic函数损失函数(cost function)详解梯度下降训练方法2.tensorflow实现...

2020-04-29 16:34:54

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。