自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 收藏
  • 关注

原创 使用SIFT特征提取和K-Means方法对图片进行分类

由于项目的需要,需要搜集一批有标签的图片,但是人力没有那么多,无法对图片进行分类,所以就先用无监督的方法对用机器对图片自动分类,先富集一批数据,然后再对模型进行训练,于是就想到了k-means算法,但是图片需要提取特征,于是想到了使用SIFT来对图片进行提取特征,提取的方法使用OpenCV的库来进行提取,具体安装OpenCV的方法请参考:点击打开链接。废话不多说,看代码:#-*- enco

2017-04-21 18:17:19 20259 14

原创 日语分词工具MeCab的安装和使用

由于工作的需要,需要使用到分词工具,结果调研之后发现有专门的日语分词工具可以很好地对日语进行分词,于是记录下来安装和简单的使用测试过程。首先使用的系统是Mac OSX,python版本是python3.1. 有直接源码可以安装的,但是为了方便还是使用HomeBrew来进行安装。下面使用HomeBrew进行安装。$ brew install mecab$ brew install me

2017-04-01 16:08:13 18922

原创 用 VGG 网络来作画(基于TensorFlow)

参考文献:https://github.com/anishathalye/neural-stylehttps://arxiv.org/pdf/1409.1556.pdf

2017-01-18 09:42:06 9210 1

原创 基于深度学习的色情视频鉴定

在生活中不可避免会出现色情视频,因此视频的鉴定就成为了我们需要解决的问题,本博客在NSFW项目(见下面参考文献)的基础上面改进了封装,用来检测视频是否是色情视频。首先,这个项目是基于Caffe 的,使用的网络结构是ResNet网络(可以查看参考文献中的论文)。为了完成对视频的检测,博主使用了FFMPEG,用来从视频中提取帧数,每20秒提取一次图像,当然为了检测更加精确,可以在后面修改间隔时间。

2017-01-17 13:47:44 39024 8

原创 TensorFlow 使用之 Logistics Regression

这篇文章主要讲使用 TensorFlow 进行 Logistics Regression 训练。本文要解决的问题是使用逻辑回归解决一个二分类问题,即给定了人口普查的数据如人的年龄,性别,教育程度和职业,来预测一个人的年收入是否超过5万美元,如果超过则输出1,否则输出0。1. 模型简单解释下面先简单看一下本模型的logistic regression定义。

2016-11-09 21:00:46 17494

原创 欠拟合、过拟合及其解决方法

在我们机器学习或者训练深度神经网络的时候经常会出现欠拟合和过拟合这两个问题,但是,一开始我们的模型往往是欠拟合的,也正是因为如此才有了优化的空间,我们需要不断的调整算法来使得模型的表达能拿更强。但是优化到了一定程度就需要解决过拟合的问题了,这个问题也在学术界讨论的比较多。(之前搜了很多有的博客,讲的都不太全,因此我重新整理总结了一遍,同时加入了自己的理解,方便自己和后来人查阅)1. 欠

2016-11-08 10:14:20 135061 5

原创 TensorFlow 训练 MNIST 数据(二)

上一篇博客讲了一个简单的基于 SoftMax 回归的学习模型,准确率大概在91%左右,这篇构建一个深度卷积神经网络。主要的教程还是来自于极客学院,但是讲的很琐碎,我把自己整理的思路和最后写的完整的代码在这篇博文中呈现出来。这篇文章大致构建的网络结构如下:输入层-->卷积层-->卷积层-->密集连接层-->输出层。其中每一个卷积层中还有max pooling,用来进行降维,输出层中是一个so

2016-07-26 19:46:34 11375 7

原创 TensorFlow 入门之训练 MNIST 数据

学习深度神经网络一段时间了,把当初跑的代码贴上来,这篇代码是跟着极客学院的文档做的,我把指导重新整理和汇总了一下下面贴出来。主要有以下几步:1.  新建module,我命名为my_tensorflow_code,里面新建文件__init__.py,可以是空文件2.  新建input_data.py,用于下载 MNIST 数据集并且当做输入,具体见下面代码:from __future__

2016-07-25 15:51:44 25222 7

原创 python numpy 生成 总和为固定值指定个数的随机数

总和固定 随机数

2022-03-09 11:13:12 6477

原创 RiceQuant和 JoinQuant合成月k线、周k线的极简公式

米筐和聚宽没有直接可以获取月k线,周k线的函数,为此写了一个极简函数可以获取日k线,周k线,月k线,乃至分钟k线。如下:聚宽:def get_period_price_wjlec(stock, rule='W', start_date=None, end_date=None, frequency='daily', fields=None, \ skip_paused=True, fq='pre', count=None): '''

2020-05-22 11:04:10 2643

转载 LSTM的输入输出纬度究竟是怎样的

引用知乎的回答,也当自己做一个笔记。LSTM神经网络输入输出究竟是怎样的? - YJango的回答 - 知乎https://www.zhihu.com/question/41949741/answer/124898736

2020-05-07 11:16:55 4267

原创 MAC OS 如何安装 PySpark

Apache Spark是用 Scala编程语言 编写的。为了用Spark支持Python,Apache Spark社区发布了一个工具PySpark。使用PySpark,您也可以使用Python编程语言中的 RDD 。正是由于一个名为 Py4j 的库,他们才能实现这一目标。PySpark提供了 PySpark Shell ,它将Python API链接到spark核心并初始化Spark上下文。今...

2020-04-30 14:50:27 3380

原创 python dict字典 value 排名

经常使用到的一个方法是对字典类型的数据结构根据value来进行排名,注意是排名不是排序。所以记录一下,可以供后来者使用。x = {'a':2.1, 'b':2.1, 'c':5.2, 'd':6}r = {key: rank for rank, key in enumerate(sorted(x.values(),reverse=True), 1)}print(r)# {2.1: 4...

2018-08-06 11:04:46 1662

原创 将数据归一化映射到任一区间

ymaxymaxy_{max} 要映射的目标区间最大值 yminyminy_{min} 要映射的目标区间最小值 xmaxxmaxx_{max} 目前数据最大值 xminxminx_{min} 目前数据最小值 xxx 假设目前数据中的任一值 yyy 归一化映射后的值y=ymin+ymax−yminxmax−xmin∗(x−xmin)y=ymin+ymax−yminxmax−xmin...

2018-05-25 10:51:33 16027 1

原创 股票量化因子学习

看到一篇博客文章,里面阐述了很多股票的量化因子,学习了一番,但是解释的不是很细,我之后又详细查询了很多,形成了这篇文章,特此记录一下,为自己和后来人查询使用。 最近在看《量化投资数据挖掘技术与实践(MATLAB版)》。学习了其中的常见的股票衍生变量,并且利用WIND金融数据终端的matlab借口windmatlab导出一些数据进行了一个简单的学习。特此记录。1. 移动平均线 移...

2018-04-24 10:18:23 14570

原创 深度学习优化算法解析(Momentum, RMSProp, Adam)

之前看了很多人介绍网络的优化器optimizer,无奈很多都把简单的东西讲的复杂化了,不容易让人懂,恰好之前看过吴恩达老师的最新的课程,这里结合老师讲的和个人想法写一下,方便别人同时也为自己以后回顾吧。深度学习的优化算法主要有GD,SGD,Momentum,RMSProp和Adam算法吧,还有诸如Adagrad算法,不过大同小异,理解了前面几个,后面的也就引刃而解了。GD算法,SGD算法以及m

2018-04-23 20:12:05 121188 33

原创 学习率调参问题

本问主要将两种学习率的调参方法:学习率衰减和学习率对数均匀取值。1. 学习率衰减问题2. 学习率对数均匀取值问题

2017-09-24 10:25:08 10525 2

原创 集成学习总结 & Stacking方法详解

集成学习主要分为 bagging, boosting 和 stacking方法。本文主要是介绍stacking方法及其应用。但是在总结之前还是先回顾一下继承学习。这部分主要转自知乎。1. Bagging方法: 给定一个大小为n的训练集 D,Bagging算法从中均匀、有放回地选出 m个大小为 n' 的子集Di,作为新的训练集。在这 m个训练集上使用分类、回归等算法,则可得到 m个模...

2017-07-21 18:01:59 77437 15

原创 神经网络Loss损失函数总结

这篇博文总结一下损失函数,这里重点总结一下常用的损失函数。softamx cross entropy losssoftmax 交叉熵损失函数是我们常用的一种损失函数,其公式如下: E(t,y)=−∑jtjlogyj E(t, y)=-\sum_j t_j \log y_j 其中,t 和 y 分别表示神经网络的目标标签和输出, yjy_j 表示softmax损失函数: yj=s

2017-06-25 14:17:21 62092 3

转载 Git 进阶技巧

主要来自github,另外自己在后面加上了收集的部分,方面自己以后查阅或者别人查阅。 来自 github 项目(https://github.com/xhacker/GitProTips/blob/master/zh_CN.md)Git 进阶技巧本文尚未完成。本文不适用于初学者,适合了解 Git 的基本使用,知道 commit、push、pull,希望掌握 Git 更多功能的人阅读。你可以以任何顺

2017-06-19 14:53:39 3089

翻译 神经网络激活函数比较

最近需要调参数,搜到一篇论文详细比较了目前主要的激活函数,写的挺详细的。主要比较了ReLU,Leaky ReLU, Randomized Leaky ReLU(PReLU),写的挺详细的。ReLu:Leaky ReLU:lambda 通常在(0,1)开区间。Randomized Leaky ReLU(PReLU):最后给出一张对比图:

2017-06-08 12:09:01 1141

原创 Ubuntu server 安装CUDA 8.0

最近刚刚接触到了K80 GPU,第一步需要安装cuda,安装的过程还是花了一点时间的,如果找到好的教程的话会事半功倍,那么接下来也记录一下自己的安装过程。1. 下载 CUDA tool run版本。 下载地址:https://developer.nvidia.com/cuda-toolkit-archive2. 升级Linux 对应版本的内核:sudo apt-get instal

2017-05-14 11:07:58 3941

原创 MAC OSX 下 iTerm 2 加 Oh-My-Zsh 下远程ssh的乱码问题

最近远程SSH到服务器运行程序经常出现   “UnicodeEncodeError: 'ascii' codec can't encode character in position 0: ordinal not in range(128)” 这个错误,起初以为是我用 Sublime Text 3文件设置的编码问题,后来看了编码也不是。之后用服务器本地的终端运行程序就没有出现这个错误,因此确定错误

2017-01-18 11:09:01 7251

原创 使用 Python 搭建简易版AlphaGo

参考文献:http://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650722126&idx=4&sn=96b2fa1fe3fc858d415ddddf2ac3f8e5&chksm=871b0b30b06c82262fec886bc76b0427542dcf8b1fb4bae62d851d032e4fc22d247e981f263f&mpsh

2017-01-13 13:31:58 17156 3

原创 Mac OS 安装 OpenCV (python3)

之前一篇文章讲到了Linux安装OpenCV,这篇文章讲mac安装opencv。首先不得不说OpenCV很强大,但是也确实在安装的时候费一点事情,在折腾安装opencv的时候确实耗了很多时间,不过最终还是终于搞定了,前前后后搜索了很多文章,无奈都不适合我,之前在ubuntu下安装的时候也是这样,没有一篇是万能的,只能不断搜索,整合信息最后为自己所用。写下来权当自己以后查阅,也方便他人。

2016-12-27 20:10:05 35483 13

原创 Rotated Sorted Array(旋转数组总结)

首先什么叫旋转数组,把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转。对于这样的数组,我们可以画一下的一个图来表示。对于 Rotated Sorted Array 来说,主要有两类问题:寻找Rotated Sorted Array的最小值。在Rotated Sorted Array里面查找给定

2016-12-17 09:50:39 5728

原创 Longest Increasing Subsequence

题目:给定一个没有排好序的数组,求一个其递增的子序列,返回长度。使用O(nlogn)的解法。解题思路:一般来说,要求使用O(nlogn)时间复杂度的,首先想到二分查找,设置一个非递减的数组。具体思路看下面的例子。代码: public int lengthOfLIS(int[] nums) { if (nums == null || num

2016-12-15 14:06:27 4701

原创 Verify Preorder Serialization of a Binary Tree

题目:给定一棵二叉树的前序遍历序列,如 "9,3,4,#,#,1,#,#,2,#,6,#,#"  ,# 代表空节点,判断是否是一个正确的二叉树前序遍历序列提供两种解题思路,出度&入度, 栈1. 出度& 入度/* 这道题使用出度和入度来解决,对于以下节点来说: 非空节点: 出度 2, 入度 1 空节点: 出度 0, 入度 1 那么当

2016-12-15 10:09:17 4615

原创 Remove Duplicates from Sorted Array (II)

题目:Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.解题思路:设置两个指针i和j,i记录去掉重复后的位置,j记录当前移动位置。时间复杂度O(n).代码:public int remov

2016-12-04 20:13:46 4934

原创 Find Minimum in Rotated Sorted Array (旋转数组最小值)

题目:Find Minimum in Rotated Sorted ArraySuppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).Find the minimum element.You m

2016-12-04 14:25:45 5163

原创 跳台阶 && 变态跳台阶

题目1:跳台阶一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路:对于本题,前提只有 一次 1阶或者2阶的跳法。a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1);b.假定第一次跳的是2阶,那么剩下的是n-2个台阶,跳法是f(n-2)c.由a\b假设可以得出总跳法

2016-12-01 20:27:49 4318

原创 滑动窗口的最大值

题目:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5

2016-11-30 11:04:27 4765

原创 重建二叉树

题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路:在二叉树的前序遍历中,第一个的值即二叉树的根节点,由此可以在中序遍历序列中找到根节点,根节点左边的是二叉树的左子树,右边的是

2016-11-29 16:56:33 3758

原创 数据流中的中位数

题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。解题思路:有以下几种解题思路:数组插入进去然后再排序,这种情况插入时间效率是O(n),找中位数时间效率是O(1)。排序的链表,两种时间复杂度和上面是一样的。二叉搜索树,首先

2016-11-29 15:15:15 5733

原创 对称二叉树的判断

题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。解题思路:对称二叉树的特点是抽对称,因此可以设置一种遍历方式,从而对比两种遍历方式即可看出来,前序遍历为根、左、右,可以定义一种新的遍历方式,根、右、左,即对称前序遍历。代码://前序遍历和对称前序遍历对比来判断public boolean

2016-11-26 20:35:23 4401

原创 复制复杂链表

题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)解题思路:首先有三种解法:第一种就是中规中矩的解法,首先复制next指针的节点,之后再复制random指针的节点,这种解法的缺点是时间复杂度太高,O(n^2

2016-11-26 17:02:04 5581 1

原创 二叉搜索树与双向链表

题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解题思路:由于二叉树的中序遍历具有可以实现递增的功能,同时二叉树的每一个节点都有两个指针,左指针和右指针,因此我们可以用这些特点将二叉树转换成一个双向链表,每次在递归遍历的时候设置一个pre,记录中序遍历时当前节点的前节点,然后将当前节点的左指针指向pre

2016-11-26 12:10:04 5291

原创 判断是否为二叉搜索树的后序遍历

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:二叉搜索树后序遍历的特点是数组的最后一个节点为根节点,左子树的节点都小于根节点,右子树的节点都大于根节点,那么每次取数组的最后一个元素,从数组中依次往后遍历,直到找到一个大于根节点的元素,那么它左边的一定是左子树的节点,右边的

2016-11-26 10:57:45 3993

原创 判断平衡二叉树

题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树。解题思路:首先设置一个函数用来判断树的高度,有了这个函数,我们就可以用来判断二叉树某一个分支的高度。接下来需要了解的是平衡二叉树即对于任意一个节点来说,起左右子树的高度差的绝对值小于等于1,我们可以用上面的函数判断左右子树的高度,如果高度差大于1则返回false,否则递归地判断左右子树。代码:public

2016-11-26 09:48:01 4006

原创 二叉树中和为某一值的路径

题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。解题思路:从根节点为起始节点,每次递归的时候target每次先减去当前节点的指,之后判断是否为叶节点,如果是叶节点则判断target是否为零,为零则找到一条路径。否则没有找到,则继续递归。值得注意的是,递归函数每次自动返回到它的父

2016-11-26 09:17:36 3954

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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