- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 沉淀一
时隔好久没有动笔了,趁这段时光对以往的知识进行下梳理,沉淀下自己吧。 希望能尽快找回那个两耳不闻窗外事,一心只管敲代码的自己。2020.6.23知识回放最长子序列解题思路:为了快速的查找,考虑vector存储变为hash结构。【vector底层是线性遍历的查找时间复杂度是O(n),set的底层是红黑树查找时间是O(logn)。】因为是求连续序列,那么定好查找顺序,从每个新的起点向上查找,一旦不连续就更新起点,得到最长子序列长度。...
2020-06-23 21:50:26
210
原创 tensorboard could not bind to unsupported address family问题解决
解决方法tensorboard --logdir=模型路径--port 8023 --host 本机ip
2019-07-17 14:57:05
910
转载 ssh快捷登录通道机
iTerm2 结合 Linux expect 实现 ssh 自动登陆, 通过跳板机登录服务器内网功能https://segmentfault.com/a/1190000009826457
2018-07-17 11:13:30
675
原创 ZMQ理解(一)
看了几篇博客和ZMQ文档,总结如下:1. 封装了socket API, 支持多对多的连接,异步消息处理机制。2. 3种基本通信模式:“Request-Reply “,”Publisher-Subscriber“,”Parallel Pipeline”。 Request-Reply:客户端请求一个消息,服务端回复一个消息。客户端和服务端都支持1对多的关系,这种1对多也被称作路由,主要由它的信封机制...
2018-04-27 22:51:46
1203
原创 腾讯angel中实现的GBDT解析
看了论文《TencentBoost: A Gradient Boosting Tree System with Parameter Server》,主要从以下三个方面阐述论文思想:一 ,woker端的工作(其中有一个节点是leader worker主要负责sample features,合并梯度图): 1.每个worker根据分配到的数据,统计部分特征的分位图,然后把统计的分位图Push到s...
2018-04-23 21:01:37
1162
1
原创 ps-lite源码解读
本片文章主要解读参数服务器源码,关于参数服务器的基本工作原理请移步https://www.zybuluo.com/Dounm/note/529299。1.代码的类图2. 程序启动流程(1)首先执行PostOffice.start():{记录每个worker或者server所在的组(即可以与之通讯的节点),然后调用van.start(){读取schedule节点的信息,判断当前节点的属性,如果当前节...
2018-04-17 23:04:48
962
原创 win10安装protobuf for python
背景:最近在写一个python的项目时,需要用到protobuf数据结构,本人的python环境是python3.5。前提准备:在protobuf下载地址 下载 protobuf-python-3.5.1.zip和protoc-3.5.1-win32.zip并解压。1. 首先把protoc-3.5.1-win32文件夹下面的protoc.exe移至protobuf-python-3.5.1/sr...
2018-04-08 10:56:53
5089
1
原创 numpy.random中shuffle 和permutation的区别
共同点:shuffle与permutation这两个函数都是对打乱原来数组的顺序。不同之处: shuffle直接在原来数组上操作,而permutation不改变原有数组顺序,只是返回一个新的乱序的数组。代码示例:a=np.arange(10)print(a)np.random.shuffle(a)print(a)a=np.arange(10)b=np.random.permutation...
2018-03-16 21:50:13
558
原创 tensorboard导入错误
本人在安装tensorflow后执行 tensorboard --logdir="./graphs" --port 6006提示no mudule import tensorflow.tensorboard.tensorboard解决方式: 执行conda update tensorflow 更新下tensorflow就搞定了...
2018-03-11 15:27:38
1095
原创 ubuntu下安装tensorflow
环境ubuntu64位+Anaconda(python2.7)1.虽然ubuntu自身带有python解释器,但是Anaconda含有更多的库,因此我用的是Anaconda,这个直接在官网下载相应的版本就好了,ubuntu默认的python解释器是自带的版本,因此若改为Anaconda注意修改环境变量。修改环境变量的方式sudo vim ~/.bashrc export PATH=
2018-01-21 20:15:59
1130
转载 windows64位 +Anaconda+python3.5安装xgboost
本贴参考博客xgboost安装教程准备工作安装git1.执行 git clone https://github.com/dmlc/xgboost.git e:\xgboost-setup (其中e:\xgboost-setup 是自定义的安装xgboost的目录)2. 在http://www.picnet.com.au/blogs/guido/post/2016/09/22/xg
2018-01-20 10:35:05
235
原创 git操作指南
详细操作流程请移步至:http://blog.jobbole.com/78960/1.首先在官网下载相应的git,安装完成后打开git bash .2.初次使用的话先设置自己的用户名和邮箱,命令格式为git config --global user.name "name" (使用global参数之后,同一台电脑上所有的仓库都是同一账号设置)git config --global user.ema...
2018-01-19 11:12:00
286
原创 xcode 中使用freetype库
因为在图像中显示中文文字,因此需要引入freetype的库。因此需要在building setting中配置两个地方。1.在other linker flags中添加freetype.a这个静态库 -lfreetype2.在头文件的查找路径中添加freetype2.h的路径 /usr/local/include/freetype2 (因为freetype在此目录下面)
2017-06-02 19:36:16
1292
1
原创 深度学习21天实战Caffe学习笔记一
在ubuntu中配置好环境后,运行手写体数字识别例程时,通过执行脚本 ./examples/mnist/create_mnist.sh把下载到的原始数据集转换为LMDB时报错了:然而我目前还不知道这个错误怎么解决? 后续更新
2017-04-04 22:57:04
1242
原创 混合硬盘装双系统
本人笔记本型号:联想小新310,128的固态硬盘+1T的机械硬盘,打算在机械硬盘中安装一个ubuntu系统,参考了多人的博客,比如http://www.jianshu.com/p/2eebd6ad284d这个博主写的,虽然操作系统是装上了,但是开机启动项怎么采用easybcd的增加条目没有任何卵用,所以虽然安装系统成功,但永远无法进入ubuntu系统。经过两天两夜的卸载,安装,卸载,安装...
2017-04-04 22:48:22
2159
原创 流水账学习0320
1.linux下常用的命令: 查看当前进程状态:htop服务器和本机之间文件夹的拷贝: scp -r username@ip:/path/file destpath权限的切换 sudo -iu rootname查看当前目录: pwd2. C++知识补充 字符串分割字符串的分割除了使用strtok这个函数外,还可以使用Boost库的split函数。使用方法如
2017-03-20 17:56:00
324
原创 python跳过第一行快速读取文件内容
Python编程时,经常需要跳过第一行读取文件内容。简单的做法是为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作。相应的Python代码如下:input_file = open("C:\\Python34\\test.csv") line_num = 0 for line in input_file: line_num +=
2017-01-08 16:27:30
14938
1
原创 浅谈正则化
在机器学习中为了避免过拟合,我们往往会引入正则化,正则化的原因是对模型的结构复杂度加一个惩罚,以便选择经验风险与模型复杂度同时较小的模型。正则化项有L0,L1,L2范数。下面从数学的定义来探讨这几个范数的不同。L0范数:表示向量中所有非零元素的个数,利用这个特性可以寻找最少最优的稀疏特征项。不过由于求解L0范数的最小化问题是NP难问题,所以在实际应用中一般使用L1,L2范数。L1范数:
2016-12-31 20:37:28
372
原创 SVM总结
SVM总结在学习机器学习的常用算法中,在SVM上花费了大量的时间,今天写个知识点总结吧! SVM包括:线性可分向量机、线性支持向量机和非线性支持向量机。线性可分向量机:顾名思义,构建它的条件是训练数据线性可分,学习策略是最大间隔法。可以表示为凸二次优化规划问题,其原始最优化问题为 minw,b12||w||2min_{w,b} \frac{1}{2} ||w|| ^{2} s.t. yi(
2016-12-27 11:09:06
444
原创 GBDT那些事
看完GBDT详解,才发现GBDT这四个 词已经完全概括了这个算法的思想,Gradient是核心关键词,算法的目的是减少残差,采取的策略是在残差减少的梯度方向上建立新的模型。算法伪代码如下图: 由算法流程图,可以清晰地发现一、起初,先获得loss的初始值,这里的loss可以是Table10.2中的多个标准,对于每一种loss得到的梯度表达式也不一样。二、下面的
2016-12-22 17:23:09
366
转载 仿射函数
知识点补漏:1.仿射函数和线性函数的区别:简单来说仿射变换就是线性变化加上一个平移。知乎上看到的一个很好的解释:搬---作者:Cascade链接:https://www.zhihu.com/question/20666664/answer/15790507来源:知乎著作权归作者所有,转载请联系作者获得授权。以下内容仅涉及图形变换,未考虑更为抽象的概念。为了方
2016-12-14 21:18:11
12463
原创 python 读写csv文件(一)
csvfile=open(filepath,'w'),在python2版本中可以用file()函数打开writer=csv.writer(csvfile)第二个参数表示写入的模式,几种常见的模式参数常用值模式参数常用值值模式'r'读模式‘w’写模式‘a’追加模式‘b'’二进制模式‘+
2016-10-10 09:47:33
643
原创 C++学习笔记(一)
1.虚函数与纯虚函数,如果在父类中有纯虚函数void fx()=0,那么它的任何一个子类必须要实现这个纯虚函数,而如果是void fx(){},那么子类则可以选择实现。2.关于引用作为函数参数。引用做参数传入的是实参本身,不创建副本,提高了效率,如果要避免对实参改变可以在函数参数中加上const ;3.引用与指针的区别一个引用必须要指向某些对象,即不能为空值而指针可以指向一段无效的地址。例
2016-09-17 15:48:26
308
原创 python 包pandas的学习之路(-)
1.打开csv文件使用data= pandas.csv_file(filename) 如果打开的数据是乱码则,在参数里面设置下encoding 2.读取前m行 、后m行分别使用data.head(m)和data.tail(m)
2016-05-27 14:57:39
329
原创 机器学习-支持向量机SVM学习笔记二
上一篇讲到了,支持向量机的目标就是求解数据点到分割超平面的最大几何距离,目标函数为:这个问题等价于(为了方便求解,我在这里加上了平方,还有一个系数,显然这两个问题是等价的值):min12∥w∥2s.t.,yi(wTxi+b)≥1,i=1,…,n很明显,我们已经将原来的目标函数转换为了一个凸函数问题,可以用任何现成的 QP (Quadratic Pro
2016-05-15 21:16:10
337
原创 机器学习-支持向量机SVM学习笔记一
支持向量(support vector)就是离分割超平面最近的点。而支持向量的学习就是求解最大化支持向量到分割面的距离的问题。首先确定 n 维的数据空间中的超平面方程: w^Tx + b = 0 其中x是数据点。如下图所示:两种颜色的点分别代表两个类别,红颜色的线表示一个可行的超平面。在进行分类的时候,我们将数据点x代入 f(x) 中,如果得到的结果小于 0 ,
2016-05-15 20:21:35
409
原创 机器学习-基于Logistic回归和Sigmoid函数的分类
Logistic回归1.先给出Sigmoid函数由这个函数生成的曲线称为Sigmoid曲线对于二元分类,符合伯努利分布(the Bernoulli distribution, 又称两点分布,0-1分布),因为二元分类的输出一定是0或1,典型的伯努利实验。所以:由最大似然函数可知两边同时取对数:因为求似然函数的最大值,所以采用梯度上
2016-05-11 15:30:51
4968
Piece-wise Linear Models
2018-11-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人