自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

null的专栏

Keep your eyes open and your feet moving forward. You'll find what you need.

原创 《Python机器学习算法》勘误

本书在出版的过程中已经经过详细的检查,但是大小问题依旧存在,感谢各位细心的读者为本书指出的错误。 第34页的错误在Python2.7.9版本上不会报错。 第1版第一次印刷勘误 页码 原文 修改 XVI (目录)12.3.2 Mean ...

2017-09-15 21:43:56 3673 15

原创 《Python机器学习算法》的写作历程

最近有两个多月的时间没来更新博客,是一直在忙着一件事——将博客中的一些文章整理成书。一开始写博客,给自己的文章建了一个响亮的标题《简单易学的机器学习算法》,但是发现写着写着,每一个算法也变得没那么简单易学,因此想对这些零散的知识点做一次全面的整理。最初是一年前有了这个念头,一直没有去实践,自己给自...

2016-09-28 14:30:59 16796 23

原创 新的10大数据挖掘、机器学习算法

一、原来的10大算法 2006年,IEEE的数据挖掘会议选出了10大算法:[见点击打开链接] C4.5k-MeansSupport Vector Machines(SVM)AprioriExpectation Maximization(EM)PageRankAdaBoostk-Nearest N...

2015-01-18 14:07:17 6597 0

原创 深度学习算法原理——RCNN

相比较于图像分类来说,目标检测(Object Detection)不仅需要标记出图像中的物体(通常使用边框标记),同时需要指出该物体是什么。一般比较直观的想法包括以下的三个步骤: 得到候选区域; 提取候选区域的特征; 对该候选区域分类; RCNN(Region with CNN f...

2019-10-02 15:19:05 735 0

原创 深度学习算法原理——Attention BiLSTM

论文地址:Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification 文章中提到使用双向的LSTM(Bidirectional LSTM)加上Attention的机制处理文本分类...

2019-07-01 23:31:55 3215 1

原创 深度学习算法原理——TextCNN

论文地址:Convolutional Neural Networks for Sentence Classification 这篇文章是首次将CNN模型应用在文本分类中,在我的工作中,也是经常需要使用到TextCNN这样的文本分类方法。 1. TextCNN的网络结构 TextCNN的模型结构中...

2019-06-29 16:04:21 698 0

原创 深度学习算法原理——Deep Structured Semantic Models(DSSM)

参考文献 https://blog.csdn.net/shine19930820/article/details/78810984

2019-06-22 15:17:42 1280 1

原创 深度学习算法原理——经典CNN结构之AlexNet

AlexNet卷积神经网络是具有历史意义的网络结构,其在2012年的ImageNet图像分类竞赛中,top-5错误率比上一年的冠军下降了十个百分点,而且远远超过当年的第二名。 1、AlexNet的网络结构 参考文献

2019-06-22 13:33:19 478 0

原创 深度学习算法原理——经典CNN结构之LeNet-5

参考文献

2019-06-15 09:21:05 320 0

原创 python技巧——将list中的每个int元素转换成str

在Python中,有时需要将list以字符串的形式输出,此时可以使用如下的形式: ",".join(list_sample) 其中,,表示的是分隔符 如需要将a_list = ["h","e","l","...

2018-07-05 20:19:32 40276 4

原创 情感分析——深入snownlp原理和实践

一、snownlp简介 snownlp是什么? SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK...

2018-06-26 11:23:16 36341 14

原创 TensorFlow实践——Multilayer Perceptron

本文是在Softmax Regression的基础上增加了一个隐含层,实现了Multilayer Perceptron的一个模型,Multilayer Perceptron是深度学习模型的基础,对于Softmax Regression的TensorFlow实现,可以参见博文“TensorFlow实...

2018-04-26 22:53:25 677 0

原创 TensorFlow实践——Softmax Regression

Softmax Regression是Logistic回归在多分类上的推广,对于Logistic回归以及Softmax Regression的详细介绍可以参见: 简单易学的机器学习算法——Logistic回归 利用Theano理解深度学习——Logistic Regression 深度学习算法...

2018-04-18 10:38:29 784 0

原创 挑战数据结构和算法面试题——二叉搜索树的后序遍历

题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。 分析: 根据二叉查找树的定义,二叉查找树或者是一棵空二叉树,或者是具有一下特性的二叉树: 若它的左子树不为空,则左子树上的所有结点的值均小于根节点的值; 若它的右子树不为空,则右子树上的...

2018-04-09 15:23:31 803 1

原创 挑战数据结构和算法面试题——连续最长数字串

题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。 问题分析:字符串的处理,判断每一位是不是数字,用到了函数isdigit 方法: int continumax(char *outputstr, char * inputstr){ ...

2018-04-07 12:08:45 736 0

原创 挑战数据结构与算法面试题——统计上排数在下排出现的次数

题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。 分析: 本题应该是一个确定的问题,即上排的是个数是题目中给定的十个数。 其基本的解题过程为: [10,0,0,0,0,0,0,0,0,0] [9,0,0,0,0,0,0,0,0,1] [8...

2018-03-19 20:14:59 372 0

原创 挑战数据结构和算法面试题——最大间隔

题目来自伯乐在线,欢迎有不同答案的同学来一起讨论。 分析: 本题首先需要理解清楚最大间隔的最小: 最初的间隔为:[1,1,4,1],此时最大间隔为4 删除2后的间隔为:[2,4,1],此时最大间隔为4 删除3后的间隔为:[1,5,1],此时最大间隔为5 删除7后的间隔为:[1,...

2018-03-15 20:45:26 516 0

原创 挑战数据结构和算法——栈的push、pop序列

题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。 问题分析:本题考查栈的基本操作,栈是一种“先进后出”的数据结构。判断一个序列是否是栈的pop序列是一种常见的问题,可以通过模拟push和pop的过程,push和pop总是成对出现的,如: 方...

2018-03-14 14:20:41 3493 0

原创 挑战数据结构和算法——整数的二进制表示中1的个数

题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。 问题分析:本题涉及到二进制的处理,在本题使用到&操作和>>操作。 方法: int get_num(int n){ int num = 0...

2018-03-14 14:18:54 404 0

原创 挑战数据结构和算法——跳台阶问题

题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。 问题分析:假设f(n)f(n)f\left ( n \right )为跳台阶的总跳法,当n=1n=1n=1时,f(n)=1f(n)=1f\left ( n \right )=1;当n=2n=2n=...

2018-03-14 14:15:49 464 0

原创 挑战数据结构和算法面试题——左旋转字符串

题目来源“数据结构与算法面试题80道”。在此给出我的解法,如你有更好的解法,欢迎留言。 问题分析:本题是常见的旋转字符串的问题,解决的方法是两步旋转的方法: 方法: void do_reverse(char *p_start, char *p_end){ if (...

2018-03-14 14:11:36 289 0

原创 机器学习中的基本问题——log损失与交叉熵的等价性

1、log损失 log损失的基本形式为: log(1+exp(−m))log(1+exp(−m))log\left ( 1+exp\left ( -m \right ) \right ) 其中,m=y⋅y^m=y⋅y^m=y\cdot \hat{y},y∈{−1,1}y∈{−1,1}y\...

2018-03-09 20:20:43 7202 1

原创 挑战数据结构和算法面试题——最大差值

题目来自伯乐在线,欢迎有不同答案的同学来一起讨论。 分析: 基本方法是遍历数组,找到当前值前面所有数组元素的最小值。 方法: int get_max_distance(int *a, const int n) { int max_distance = 0; // 纪录最...

2018-02-28 23:32:10 524 2

原创 简单易学的深度学习算法——Wide & Deep Learning

这篇文章是阅读《Wide & Deep Learning for Recommender Systems》后的总结,该文章中提出结合Wide模型和Deep模型的组合方法,对于提升推荐系统(Recommendation System)的性能有很重要的作用。 1、背景 ...

2017-10-07 20:10:16 26820 4

原创 论文阅读——利用Binary Hash Codes的深度图像检索

这篇文章是阅读《Deep Learning of Binary Hash Codes for Fast Image Retrieval》后的总结,该文章提出了一种利用CNN处理基于内容的图像检索的方法。 文章的重点 图像的binary hash code的生成方法 两阶段的检索方法—...

2017-08-29 14:03:25 2535 0

原创 推荐系统——(论文阅读笔记)YouTube推荐中的深层神经网络

这篇文章是阅读YouTube的《Deep Neural Networks for YouTube Recommendations》后的一点总结,这篇文章值得详细阅读,因此将其中的核心点整理出来。 文章的重点 1、总结推荐系统的架构 2、如何利用深度模型做召回 3、如何利用深...

2017-08-25 13:17:07 4914 3

原创 机器学习算法实现解析——liblbfgs之L-BFGS算法

在博文“优化算法——拟牛顿法之L-BFGS算法”中,已经对L-BFGS的算法原理做了详细的介绍,本文主要就开源代码liblbfgs重新回顾L-BFGS的算法原理以及具体的实现过程,在L-BFGS算法中包含了处理L1正则的OWL-QN算法,对于OWL-QN算法的详细原理,可以参见博文“优化算法——O...

2017-08-20 17:27:34 4675 3

原创 算法类面试题解析——美团2016校招:棋子翻转

题目来自伯乐在线,欢迎有不同答案的同学来一起讨论。 分析: 本题主要是二维数组的操作,对指定的位置上的数字进行翻转,其具体过程如下所示: 其基本的过程如下: 遍历数组二,如上图中的红色位置: 找到其周围的四个位置,注意数组的上下界 验证没有越界的条件下,对其进行修改 ...

2017-08-07 13:30:52 2082 0

原创 挑战数据结构与算法面试题——80题全解析(三)

题目来源“数据结构与算法面试题80道”。这是第三部分,包含其中的第11题到第15题。 在此给出我的解法,如你有更好的解法,欢迎留言。 问题分析:涉及的知识点是二叉树的遍历,遍历的方法主要有: 先序遍历 中序遍历 后序遍历 层次遍历 在本题中,使用先序遍历的方法。 方法...

2017-08-04 11:26:01 1709 0

原创 挑战数据结构与算法面试题——80题全解析(一)

题目来源“数据结构与算法面试题80道”。这是第一部分,包含其中的第1题到第5题。 在此给出我的解法,如你有更好的解法,欢迎留言。 问题分析:二叉查找树是一种二叉树的结构,其中,根节点的值大于左子树的值,小于右子树的值。而二叉查找树的中序遍历即为排序的结果。对于根节点,前驱指针指...

2017-07-22 22:23:11 13132 9

原创 机器学习算法实现解析——libFM之libFM的训练过程之Adaptive Regularization

本节主要介绍的是libFM源码分析的第五部分之二——libFM的训练过程之Adaptive Regularization的方法。5.3、Adaptive Regularization的训练方法5.3.1、SGD的优劣在“机器学习算法实现解析——libFM之libFM的训练过程之SGD的方法”中已经...

2017-06-16 20:00:21 2927 1

原创 机器学习算法实现解析——libFM之libFM的训练过程之SGD的方法

本节主要介绍的是libFM源码分析的第五部分之一——libFM的训练过程之SGD的方法。5.1、基于梯度的模型训练方法在libFM中,提供了两大类的模型训练方法,一类是基于梯度的训练方法,另一类是基于MCMC的模型训练方法。对于基于梯度的训练方法,其类为fm_learn_sgd类,其父类为fm_l...

2017-06-15 18:56:28 5424 3

原创 机器学习算法实现解析——libFM之libFM的模型处理部分

本节主要介绍的是libFM源码分析的第三部分——libFM的模型处理。3.1、libFM中FM模型的定义libFM模型的定义过程中主要包括模型中参数的设置及其初始化,利用模型对样本进行预测。在libFM中,首先定义FM模型,在fm_model类中实现对FM模型的定义,fm_model类在“\lib...

2017-06-13 19:27:15 5150 3

原创 Hive——巧用transform处理复杂的字符串问题

相比于Map-Reduce,Hive对数据的处理相对简单,但是Hive本身提供的函数,对于处理复杂的字符串问题,就显得不是很方便,此时,可以借助transform,引入外界的Python程序对字符串进行处理。

2017-05-25 14:39:14 6157 0

翻译 梯度下降优化算法综述

本文翻译自Sebastian Ruder的“An overview of gradient descent optimization algoritms”,作者首先在其博客中发表了这篇文章,其博客地址为:An overview of gradient descent optimization al...

2017-04-14 17:28:56 29334 15

原创 C/C++——排序

在C/C++中的排序,使用到的函数主要有: sort() qsort() 下面详细分析sort()函数和qsort()函数。1、sort()函数sort()是STL中提供的算法,头文件为:#include<algorithm> using namespace std;函数原型如下:te...

2017-03-27 10:02:07 2464 0

原创 机器学习算法实现解析——word2vec源码解析

在阅读本文之前,建议首先阅读“简单易学的机器学习算法——word2vec的算法原理”,掌握如下的几个概念: 什么是统计语言模型 神经概率语言模型的网络结构 CBOW模型和Skip-gram模型的网络结构 Hierarchical Softmax和Negative Sampling的训练方法 Hie...

2017-03-16 16:32:44 26939 7

原创 Linux C 编程——互斥锁mutex

1、多线程的问题引入多线程的最大的特点是资源的共享,但是,当多个线程同时去操作(同时去改变)一个临界资源时,会破坏临界资源。如利用多线程同时写一个文件:#include <stdio.h> #include <pthread.h> #include <malloc.h...

2017-03-14 20:37:54 22403 8

原创 Linux C 编程——多线程

线程是计算机中独立运行的最小单位,运行时占用很少的系统资源。与多进程相比,多进程具有多进程不具备的一些优点,其最重要的是:对于多线程来说,其能够比多进程更加节省资源。1、线程创建在Linux中,新建的线程并不是在原先的进程中,而是系统通过一个系统调用clone()。该系统copy了一个和原先进程完...

2017-03-13 16:30:36 1775 0

原创 C/C++——柔性数组

1、问题来源在博文数据结构和算法——kd树中,在构建kd树的过程中,有如下的一段代码:#define MAX_LEN 1024typedef struct KDtree{ double data[MAX_LEN]; // 数据 int dim; // 选择的维度 ...

2017-02-16 20:29:33 1752 0

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