- 博客(137)
- 资源 (1)
- 收藏
- 关注

原创 Isolation Forest算法实现详解
本文算法完整实现源码已开源至本人的GitHub(如果对你有帮助,请给一个 star ),参看其中的 iforest 包下的 IForest 和 ITree 两个类: https://github.com/JeemyJohn/AnomalyDetection前言 本文介绍的 Isolation Forest 算法原理请参看我的博客:Isolation Forest异常检测算法原理详解,本文
2017-06-26 22:32:29
15602
23

原创 Isolation Forest算法原理详解
本文只介绍原论文中的 Isolation Forest 孤立点检测算法的原理,实际的代码实现详解请参照我的另一篇博客:Isolation Forest算法实现详解。 或者读者可以到我的GitHub上去下载完整的项目源码以及测试代码(源代码程序是基于maven构建): https://github.com/JeemyJohn/AnomalyDetection。前言 随着机器学习
2017-06-18 18:39:18
33281
37
原创 推荐算法—序列特征Attention方式总结
文章目录1、MLP的Attention Pooling方法2、DIN中的Attention1、MLP的Attention Pooling方法从图中可以看出,在对物品序列和物品特征序列处理的时候,不是直接采用sum/max/mean pooling进行融合,而是对每个物品和每个物品特征分别进行了加权融合。因为考虑到这样一种情况,比如当前用户要书,那么在用户的历史购买行为中,我们应该去多关注该用户之前都买什么样的书,而该用户在其他方面的购买记录就相对显得没有那么重要。因此基于此想法,权重的计算就是根据当前
2021-09-11 17:10:50
1370
原创 IntelliJ IDEA平台下JNI编程全解
文章目录1、前言2、搭建gcc编译环境3、编写Java代码1、前言众所周知,Java语言是基于虚拟机的解释性语言(Java代码经过编译器编译之后并不是能够直接在机器上执行的二进制代码,而是JVM虚拟机能够识别的字节码,依靠Java虚拟机进行解释执行)。而C/C++是编译型语言(编译完成后是能够直接在机器上运行的二进制指令)。虽然,随着Java虚拟机技术的改善和优化,Java性能相对于刚出来那会已经有了极大地提升,但是C/C++语言的性能还是会比Java要高,这是不争的事实。2、搭建gcc编译环境3、
2020-06-06 16:37:35
3304
1
原创 面试题—有重复序列全排列问题
最近面试遇到个高频面试题:有重复序列全排列问题,现在Java代码展示给大家,原理稍后有空补充。public class Demo { public static void main(String[] args) { char a1[] = {'a', 'b', 'c'}; perm(a1, 0, 3); System.out.printl...
2020-03-05 12:34:59
573
原创 面试题—三个数之和小于某个值的组合个数
本题是阿里蚂蚁金服面试题:给定一个数组s,和一个数a,在数组s里面找到3个数使这3个数的和小于a,即s[i]+s[j]+s[k]<a,请你设计一个函数返回数组s里这样的组合有多少个? int f(double s[], double a) { int cnt = 0; Arrays.sort(s); int i = 0; ...
2020-03-05 11:57:15
1725
1
原创 Python计算相关性
计算相关性import numpy as npimport pandas as pd# load datadata = pd.read_csv('result.csv', header=0)print(data)df = data.drop(['experiment'], axis=1)# 计算不同的相关系数corr = df.corr(method='pearson')p...
2018-11-14 14:35:48
2442
原创 实战微课:机器学习在推荐系统中的应用-章华燕-专题视频课程
在机器学习领域,“没有免费的午餐”是一个不变的定理。简而言之,没有一种算法是完美的,可以作为任何问题的佳解决方案。本课程后通过完整的大型项目,帮助学员从 构建数据集、特征选择 、模型调参 、模型评估与验证 一步步掌握机器学习项目开发的完整流程,同时能够完整地学习到推荐系统的相关基础知识。...
2018-07-27 15:51:30
854
原创 机器学习小咖养成记视频教程-章华燕-专题视频课程
本视频课程是机器学习算法入门的升级课程。从机器学习、深度学习基础入手,以模型为基础,以算法与数学推导为核心,以算法调参与应用为导向。通过对机器学习中几个经典核心算法:朴素贝叶斯、逻辑回归、决策树、集成学习算法、聚类算法、神经网络、SVM等从而帮助学员彻底理解每个模型的运行原理与效果。后通过完整的大型项目,帮助学者从 构建数据集、特征选择 、模型调参 、模型评估与验证 一步步掌握机器学习项目开发的完...
2018-06-20 15:43:31
654
原创 机器学习路线-章华燕-专题视频课程
机器学习路线: 机器学习能做什么; 机器学习有哪些方向; 怎么入门和转行机器学习; 怎么入门和转行机器学习; 人脸识别技术的漏洞; 高光谱图像技术的原理;应用高光谱与机器学习区分真人和照片...
2018-06-01 17:39:08
732
原创 机器学习核心算法各个击破
0. 前言 近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个IT界。所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无不在布局人工智能技术和市场。百度,腾讯,阿里巴巴,京东,等互联网巨头甚至都在美国硅谷大肆高薪挖掘人工智能人才。现在在北京,只要是机器学习算法岗位,少则月薪 20k,甚至100k 以上…… ...
2018-04-28 20:08:20
1850
原创 LightGBM大战XGBoost,谁将夺得桂冠?
0.引言 如果你是一个机器学习社区的活跃成员,你一定知道 提升机器(Boosting Machine)以及它们的能力。提升机器从AdaBoost发展到目前最流行的XGBoost。XGBoost实际上已经成为赢得在Kaggle比赛中公认的算法。这很简单,因为他极其强大。但是,如果数据量极其的大,XGBoost也需要花费很长的时间去训练。 绝大多数人可能对 Light Gradie...
2018-04-13 15:36:45
2815
3
原创 Vim实战技巧锦集
1、VIM的概念和基础操作 vi 命令行下面的文本编辑工具,vim是vi的增强版本。命令vim可以启动vim编辑器。一般可以通过vim+目标文件路径的形式使用vim。如果目标文件存在,则vim打开该文件;若目标文件不存在,则新建该文件。1.1 VI拥有三种模式:命令模式、插入模式和ex模式 1、任何模式都可以通过esc键回到命令模式; 2、在命令模式中按”i“键可以进入到插入模式
2018-02-12 11:54:49
687
原创 Spark资源调优
Spark作者:章华燕 编辑:龚 赛概述1 在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业
2018-01-08 00:00:00
730
原创 CNN模型之ShuffleNet
CNN作者:叶 虎 编辑:李文臣引言1 ShuffleNet是旷视科技最近提出的一种计算高效的CNN模型,其和MobileNet和SqueezeNet等一样主要是想应用在移动端。所以,ShuffleNet的设计目标也是如何利用有限的计算资源来达到最好的模型精度,这需要很好地在速度和精度之间做平衡。ShuffleNet的核心是采用了两种操作:pointwi
2018-01-03 00:00:00
3045
原创 系列学习——推荐算法综述
作者:章华燕 编辑:祝鑫泉前言1随着移动互联网技术和社交网络的发展,每天都有大量包括博客,图片,视频,微博等等的信息发布到网上。我们正处于大数据的时代,传统的信息检索技术已经不能满足用户对信息发现的需求,推荐引擎的出现,可以帮用户获取更丰富,更符合个人口味和更加有意义的信息。个性化推荐主要是根据用户的兴趣和和利时行为特点,向用户推荐所需的信息或商品,帮助用户在海量信息
2018-01-01 00:00:00
5339
1
原创 浅析深度学习在实体识别和关系抽取中的应用
实体识别作者:蒙 康 编辑:黄俊嘉命名实体识别1命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型,如下图。命名实体识别是NLP领域中的一些复杂任务的基础问题,诸如自动问答,关系抽取,信息检索等 ,其效果直接影响后续处理的效果,因此是NLP研究的一个基础问题。NER一直是NLP领域
2017-12-31 00:00:00
16986
1
原创 一步步教你理解LSTM
作者:王千发编辑:田 旭什么是LSTM1LSTM全名是Long Short-Term Memory,长短时记忆网络,可以用来处理时序数据,在自然语言处理和语音识别等领域应用广泛。和原始的循环神经网络RNN相比,LSTM解决了RNN的梯度消失问题,可以处理长序列数据,成为当前最流行的RNN变体。LSTM应用举例2假设我们的模型的输入是依次输入一句话的每个单词,我们需要对单词做分类,比如有两句话:(1
2017-12-29 00:00:00
4269
原创 Spark问题集锦
使用外部链接对象(如Jedis客户端)在Streaming RDD中发送数据时,一定要使用单例。否则会出现各种Bug。在IDEA中使用maven混合Scala和Java打Jar包时,Java的类要写在Java目录里。如果将Java类定义在scala目录下,会出现 NoClassDefFoundError 异常。持续更新中…… 对机器学习和人工智能感兴趣,请扫码关注微信公众号!
2017-12-28 21:36:34
670
原创 机器学习实战---线性回归提高篇之乐高玩具套件二手价预测
作者:崔家华 编辑:王抒伟PS(欢迎访问作者个人网站:www.cuijiahua.com)线性回归零前言:本篇文章讲解线性回归的缩减方法,岭回归以及逐步线性回归,同时熟悉sklearn的岭回归使用方法,对乐高玩具套件的二手价格做出预测。一岭回归:如果数据的特征比样本点还多应该怎么办?很显然,此时我们不能再使用上文的方法进行计算了,因为矩阵X不是满秩矩阵,非满秩矩阵在求逆时会出现问题。为了解
2017-12-24 00:00:00
2760
原创 Spark资源调优
0. 概述 在开发完Spark作业之后,就该为作业配置合适的资源了。Spark的资源参数,基本都可以在spark-submit命令中作为参数设置。很多Spark初学者,通常不知道该设置哪些必要的参数,以及如何设置这些参数,最后就只能胡乱设置,甚至压根儿不设置。资源参数设置的不合理,可能会导致没有充分利用集群资源,作业运行会极其缓慢;或者设置的资源过大,队列没有足够的资源来提供,进而导致各种异常。总
2017-12-23 13:24:32
1524
原创 Spark Streaming之妙用foreachRDD和foreachPartition
0. 前言 DStream中的foreachRDD是一个非常强大函数,它允许你把数据发送给外部系统。因为输出操作实际上是允许外部系统消费转换后的数据,它们触发的实际操作是DStream转换。所以要掌握它,对它要有深入了解。下面有一些常用的错误需要理解。经常写数据到外部系统需要创建一个连接的对象(例如根据TCP协议连接到远程的服务器,我们连接外部数据库需要自己的句柄)和发送数据到远程的系统。为此,开
2017-12-20 21:24:24
11014
1
原创 Object Detection系列(三) Fast R-CNN
作者:张 旭编辑:黄俊嘉该内容是目标检测系列的第三篇,系列前部分内容如下,点击可查看:Object Detection系列(一) R-CNN Object Detection系列(二) SPP-Net Fast R-CNN简介在之前的两个文章中,我们分别介绍了R-CNN与SPP-Net,于是在2015年RBG(Ross B. Girshick)等结合了SPP-Net的共享卷积计算思想,对R-C
2017-12-20 00:00:00
789
原创 Git命令之分支操作
1. 查看全部分支$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/jeemy2. 查看本地分支$ git branch * master3. 切换分支切换到 jeemy 分支$ git checkout -b jeemy ori
2017-12-19 19:46:22
841
原创 你必须要知道CNN模型:ResNet
作者:叶 虎编辑:张 欢PART01 ResNet简介引言深度残差网络(Deep residual network, ResNet)的提出是CNN图像史上的一件里程碑事件,让我们先看一下ResNet在ILSVRC和COCO 2015上的战绩:图1 ResNet在ILSVRC和COCO 2015上的战绩ResNet取得了5项第一,并又一次刷新了CNN模型在ImageNet上的历史:图2 Imag
2017-12-18 00:00:00
49146
1
原创 GAN系列学习(2)——前生今世
作者:刘威威编辑:李文臣 本文是GAN系列学习--前世今生第二篇,在第一篇中主要介绍了GAN的原理部分,在此篇文章中,主要总结了常用的GAN包括DCGAN,WGAN,WGAN-GP,LSGAN-BEGAN的详细原理介绍以及他们对GAN的主要改进,并推荐了一些Github代码复现链接。 本文旨在对GAN的变种做一些梳理工作,详细请看下文。31.DCGAN【Paper】 :
2017-12-17 00:00:00
2849
原创 从损失函数的角度详解常见机器学习算法(1)
作者:章华燕编辑:赵一帆1、机器学习中常见的损失函数一般来说,我们在进行机器学习任务时,使用的每一个算法都有一个目标函数,算法便是对这个目标函数进行优化,特别是在分类或者回归任务中,便是使用损失函数(Loss Function)作为其目标函数,又称为代价函数(Cost Function)。损失函数是用来评价模型的预测值 Y_hat=f(X) 与真实值Y的不一致程度,它是一个非负实值函数。通常使用
2017-12-15 00:00:00
2780
原创 Mac开发总结
1. 添加环境变量在这里我以添加maven环境变量为例进行讲解:我的maven地址为:/Jeemy/apache-maven-3.5.2/bin;在终端输入命令:sudo vi ~/.bash_profile;在打开的文件中输入:export PATH=$PATH:/Jeemy/apache-maven-3.5.2/bin ;保存并退出后,在终端输入:source ~/.bash_prof
2017-12-13 12:11:30
495
转载 应用TF-Slim快速实现迁移学习
作者:张旭编辑:张欢这是一篇以实践为主的入门文章,目的在于用尽量少的成本组织起来一套可以训练和测试自己的分类任务的代码,其中就会用到迁移学习,TF-Slim库的内容,所以我们分为下面几个步骤介绍::什么是迁移学习;什么是TF-Slim;TF-Slim实现迁移学习的例程;应用自己的数据集完成迁移学习。 操作系统:Win10 开发语言:Python3.5 算法:TensorFlow1.11
2017-12-11 00:00:00
4667
2
转载 GAN系列学习(1)——前生今世
作者:刘威威编辑:李文臣11.GAN的 ‘前世’?大家都知道GAN是Ian Goodfellow 2 014年放出的一篇开山之作,在深度学习界评价很高,可以说GAN的出现,给深度学习界带来了很多的研究(shui)课(lun)题(wen)。但是如果说GAN是另外一种网络的变种,不知道你是否相信呢?但是有一个人是坚信不疑的,这个人就是德国AI科学家Jürgen Schmidhuber,说到这个人可能很
2017-12-09 00:00:00
6142
转载 Object Detection系列(一)R-FCN
作者:张 旭 编辑:祝鑫泉Object Detection系列(一) R-FCN R-FCN简介上面这张图在这个系列文章中都会出现,可以看到,在时间轴上R-FCN并不应该出现在第五篇中,但是R-FCN在内容上是承接Faster R-CNN的,同样是何凯明团队提出,所以在这里把R-FCN移到了前面。CNN的旧形态用于图像分类的基础CNN模型,有一个旧形态与新形态的区分,基于旧形态的CNN结构如Al
2017-12-07 00:00:00
714
原创 Linux创建定时任务
在Linux下,经常需要定期的执行一些脚本从而来实现一些功能。在Linux下我们用crontab来实现定期的执行脚本这个功能,下面就介绍一下crontab的使用。以及我遇到的一些问题
2017-12-05 22:45:14
745
转载 CNN模型之MobileNet
作者: 叶虎 编辑:王抒伟 本文6500字30图,阅读约。。。分钟 算了爱看多久看多久零引言:卷积神经网络(CNN)已经普遍应用在计算机视觉领域,并且已经取得了不错的效果。图1为近几年来CNN在ImageNet竞赛的表现,可以看到为了追求分类准确度,模型深度越来越深,模型复杂度也越来越高,如深度残差网络(ResNet)其层数已经多达152层。图0 CNN在ImageNet上的表现
2017-12-05 00:00:00
9395
转载 机器学习/深度学习入门资料汇总
作者:刘才权 编辑:栾志勇经常被同学和朋友询问机器学习或深度学习入门,有哪些不错的参考资料。老实讲,这个问题在网上随便一搜就是一大把的答案。我自己在最开始的时候也有同样的困惑,同样在搜索引擎和论坛里翻找答案。但大多数答案并不怎么让人满意:搜索结果要么星稀零散,只见树木不见森林;要么过于详尽,让人无从下手(很多资料作者自己都没看过)。在这篇文章里,我把自己在学习过程中的参考资
2017-12-03 00:00:00
5442
1
转载 Object Detection系列(二) SPP-Net
作者:张 旭 编辑:黄俊嘉该内容是目标检测系列的第二篇,第一篇请移步:Object Detection系列(一) R-CNN SPP-Net简介在上一篇R-CNN的文章中,详细介绍了R-CNN算法,同时也说明了R-CNN的致命缺陷,超长的训练时间(84h)和测试时间(47s),造成这个问题的主要原因就是重复性的卷积计算,在R-CNN中,输入到CNN网络中的图片
2017-12-01 00:00:00
719
原创 基于用户的协同过滤算法详解
0. 前言 基于领域的推荐算法是推荐系统中最基本的算法,此类算法不仅在学术界得到了深入研究,而且在工业界也得到了广泛地应用。基于领域的推荐算法主要分为两大类:一类是基于用户的协同过滤算法(User Based Collaborative Filtering,UserCF);一类是基于物品的协同过滤算法(Item Based Collaborative Filtering ItemCF)。而本文就着
2017-11-30 19:11:00
2094
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人