自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

keep forward, go, go, go

主要用于自己备忘,写的不太好,请轻拍,有疑问请留言,共同讨论交流^_^

  • 博客(118)
  • 资源 (1)
  • 收藏
  • 关注

原创 读书笔记-深度学习推荐系统4-推荐与embedding

本篇结合了书籍 《深度学习推荐系统》和吴恩达老师的视频课程 《Natural Language Processing and Word Embeddings》。embedding技术是深度学习的一种基础核心操作,有很多的应用场景。1. embedding基础概念word embedding差不多表示为词表示,如何用数字化的形式表示一个单词。简单解释embedding就是用一个低维稠密的向量表示一个对象。embedding可以表达对象的一些特征,在向量距离上反应了对象之间的相似性。1.1 embedd

2021-12-20 17:36:14 1615

原创 读书笔记-深度学习推荐系统9-推荐系统知识框架

针对某一个领域,建立自己的技术框架是最重要的,只有建立了知识框架,才能在这个框架中开枝散叶,思考细领域的问题时,见微知著的同时,也不会忘记整体。9.1 知识架构图9.2 推荐发展时间线9.3 优秀的推荐工程师要成为一名优秀的推荐工程师,不应仅仅是擅长机器学习相关知识,更应该从业务实践的角度出发,提升各方面的能力。4项能力:知识:推荐系统的理论知识,推荐算法、排序模型等工具:写代码能力,工具使用能力(tensorflow、spark、flink),服务搭建能力逻辑:思考有逻辑、条理,能从

2021-12-04 08:30:38 206

原创 读书笔记-深度学习推荐系统1-概述章节

推荐系统充斥于互联网的各个角落,听音乐、看视频、看新闻、购物、学习课程等等。1.1 推荐系统的作用用户:在信息过载的情况下,帮助用户高效获得感兴趣的信息。公司:通过推荐吸引用户留存、增加用户黏性、提高转化率。1.1.1 推荐系统的目标不同的商业形态,有不同的目标商业形态目标youtube视频播放时长天猫转化率、gmv1.2 推荐系统的架构推荐系统考虑在场景信息(上下文信息,时间、地点、天气等)下,实现用户信息(历史行为、关系网络、基本属性)和物品信息(商品推

2021-12-04 08:26:52 194

原创 适用各种语言的字符串jaccard相似度的计算

参考文档https://medium.com/better-programming/identify-similarities-between-sentences-in-python-e9f71d454d1d写的非常好

2021-10-21 21:01:54 983

原创 用mac进行图片的自由裁剪

用mac上自带的图片预览工具,即可完成对图片的自由裁剪

2021-05-17 20:19:52 1044

原创 mac下office文档自动恢复

恢复由“自动恢复”功能保存的文件通常情况下,在发生电源故障或其他意外关机后,该应用程序将在你再次打开该应用时检测存在的自动恢复文件并自动将其打开,从而自动恢复你的工作。 如果想要保留已恢复的文件,应在关闭或编辑该文件之前立即将其保存。如果想要查找计算机上任何已自动恢复的文件,请切换到 Finder,然后单击“前往”>“前往文件夹”(或按 SHIFT + COMMAND + G),并输入下表中相应的文件夹路径。 将 替换为你的用户名:Excel/Users//Library/Containe

2021-04-09 17:54:52 817

原创 tensorflow错误 Assign requires shapes of both tensors to match. lhs shape= rhs shape=

在跑tensorflow任务的时候,有时候会碰到这种错误Tensorflow Assign requires shapes of both tensors to match. lhs shape= [20] rhs shape= [48]多半是因为保存的checkpoint文件和新跑的代码模型结构冲突了,尝试删除保存的checkpoint文件,一般问题可以得到解决...

2020-12-07 20:42:41 1677 1

原创 python读取csv文件,并获取某行某列的值

python读取csv的文件,可以用pandas包来读取,比如import pandas as pd df = pd.read_csv("filename.csv")print(df)读取数据后,若要获取某一行某一列的值,# 获取某一行的值print(df.iloc[1])# 获取某一列的值print(df["item_id"]) # 列名是item_id的列# 获取某一行某一列的值print(df.iloc[1]["item_id"])...

2020-12-01 19:11:31 42118 4

原创 python矩阵array判断某个元素的个数

python中numpy包的array矩阵,判断某个元素的个数import numpy as npa=np.array([[ 2, 7, 4, 2], [35, 9, 1, 5], [22, 12, 3, 2]])print(np.sum(a==2)) ## 2的个数输出为3

2020-11-21 16:06:58 11823

原创 python有序字典OrderedDict

python2和python3.6之前的python版本,默认的字典类型都是无序的,若需要用有序的字典,可以用collection包中的OrderedDict来实现from collections import OrderedDictprint("Regular dictionary")d={}d['a']='A'd['b']='B'd['c']='C'print(d)print("Order dictionary")d1 = OrderedDict()d1['a'] = 'A'd

2020-11-16 18:57:01 227

原创 python矩阵获取某行/列的值

python中基于numpy构建的矩阵,若需要获取其中一行/列的值,详细如下import numpy as npa=np.array([[ 2, 7, 4, 2], [35, 9, 1, 5], [22, 12, 3, 2]])print(a[:, [0]]) ## 第0列print(a[[1],:]) ## 第1行输出为[[ 2] [35] [22]][[35 9 1 5]]...

2020-11-15 15:19:47 5222

原创 python字典get方法

python中字典的get方法,返回对应key的value值,并可以指定默认值a = {}a["bob"] = "beijing"a["tom"] = "shanghai"print(a.get("bob", "hangzhou"))print(a.get("lily", "hangzhou"))输出为beijinghangzhou

2020-11-15 15:17:27 163

原创 python字典遍历

对python中的字典进行遍历操作a = {}a["bob"] = "beijing"a["tom"] = "shanghai"for key in a.keys(): print(a[key])

2020-11-15 15:13:55 137

原创 python中的三元运算符

python中没有类似java或c++中的“ ? : ”三元运算符,如果想用类似的结构,可以用if else来代替x = 1 y = 2res = 1 if x > y else 0print(res)输出为0

2020-11-15 15:10:44 128

原创 python正则匹配中文/英文/数字/其它字符

匹配提取一些字符串既包含中文、也包含英文、数字等,需要对这类字符串做提取,单个中文字符、英文单词以及数字表达等。需要采用正则匹配的方式来做比如对于如下针对数据的描述Android/IOS 2条装(0.25米+1米)土豪金拆分后想要得到"Android" "/" "IOS" "2" "条" "装" "(" "0.25" "米" "+" "1" "米" ")" "土" "豪" "金"可以采用正则的方式匹配提取这些字符def str_split(str): regex = r"[\u4e00-

2020-11-15 11:01:13 10139

原创 python判断list中的值是否完全一样

对于一个python的lista = [1, 2, 3, 1, 1, 1]需要判断该list中的值是否完全一样,可以通过for循环遍历的方式来判断这里给出一种简便的方式,通过将list转变成set,判断set的长度是否为1

2020-11-15 09:57:59 7039

原创 两台ubuntu服务器文件共享

碰到的一个问题是,一台服务器A放不下所有的数据,部分数据只能放到另一台服务器B上,那么就涉及到如何把服务器B上的数据共享给服务器A,使得A可以看到B上的内容。需要用的是nfs文件共享工具。详细步骤如下:1、在B上安装nfs server,sudo apt-get install nfs-kernel-server (一般来说,会自动安装nfs 客户端,如果没有安装,则需要执行sudo apt-g...

2020-10-11 20:19:11 569

原创 python统计从1970/1/1 08:00:00到某个时刻的总秒数

使用场景,比如需要从一堆文件中,选出时间属性在2017年12月13日00:00:00以后的所有文件。import osstatinfo = os.stat(filename) #获取文件的属性信息if statinfo.st_ctime > xxxx: #statinfo.st_ctime 获取文件的时间属性,表示从1970/1/1 08:00:00到文件时间属性过的总秒数 get(filename) 因为需要选出2017/12/13 00:00:00以后的文件,那么上面代码中的xxx

2020-10-11 11:23:18 851

原创 Ubuntu上两台服务器利用nfs实现共享文件夹

碰到的一个问题是,一台服务器A放不下所有的数据,部分数据只能放到另一台服务器B上,那么久涉及到如何把服务器B上的数据共享给服务器A,使得A可以看到B上的内容,需要用的是nfs文件共享工具。详细步骤如下:1、在B上安装nfs server, sudo apt-get install nfs-kernel-server (一般来说,会自动安装nfs客户端,如果没有安装,则需要执行sudo a

2020-10-11 08:01:43 789

原创 判断某个月份是否在给定的月份区间内

判断某个月份是否在给定的月份区间内输入输出新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入输入指定月份:ma...

2020-04-23 17:18:00 651

原创 L1正则为什么更容易获得稀疏解

  L1和L2正则常被用来解决过拟合问题。而L1正则也常被用来进行特征选择,主要原因在于L1正则化会使得较多的参数为0,从而产生稀疏解,将0对应的特征遗弃,进而用来选择特征。  但为什么L1正则会产生稀疏解呢?这里利用公式进行解释。 假设只有一个参数为www,损失函数为L(w)L(w)L(w),分别加上L1正则项和L2正则项后有:JL1(w)=L(w)+λ|w|JL1(w)=L(w)+λ...

2018-07-29 22:47:51 20686 17

原创 机器学习中的方差、偏差和噪声

  机器学习算法一般都会有训练和测试的过程,而且算法在不同训练集(训练集来自同一个分布)上学得的模型,测试的结果也很可能不同。  一般来说,算法的方差衡量了训练集的变动导致的模型性能的变化,即多次训练的模型之间的性能差异性。偏差则是度量算法的期望输出与真实标记的区别,表达了学习算法对数据的拟合能力。而噪声则表示数据的真实标记与数据在数据集上标记的区别,表明算法在当前任务上能达到的测试误差的下界...

2018-07-14 22:39:25 2114

原创 linux下python程序后台运行,并将打印信息保存文件

  在跑比较时间比较长的程序,或者是打印信息比较多的程序时,一般都会后台运行程序,然后把打印信息保存在文件中,等程序运行结束后再检查输出日志。完成该功能可以用如下命令:nuhup python -u test.py > test.log 2>&1 &其中, 1. 最后一个“&”表示后台运行程序 2. “nohup” 表示程序不被挂起 3. “p...

2018-07-14 21:55:24 9881 5

原创 softmax loss层的求导反向传播

  深度学习中的分类网络,一般都是使用softmax和交叉熵作为损失函数。关于softmax和cross entropy的介绍和解释可以详见我的另一篇博客softmax loss。这篇博客仅解释如何对softmax loss层进行求导反向传播。  假设网络最后一层的输出为zz\mathbf{z},经过softmax后输出为pp\mathbf{p},真实标签为yy\mathbf{y}(one h...

2018-07-08 11:51:16 8069 6

原创 CNN中pooling层的反向传播

  CNN中的pooling层一般有max pooling和average pooling两种。虽然pooling层没有参数,但为了使用链式法则逐层向前进行梯度的传播,也是需要对pooling层进行求导计算的。  假设P_prev经过pooling层之后得到P,pooling的步长为stride_h和stride_w, pooling的窗口大小为f_h * f_w。需要通过dP求解dP_pre...

2018-07-04 22:14:24 2425

原创 linux下统计代码量

  在日常工作时,可能需要统计代码量,在linux下可以使用cloc工具来统计代码量。在ubuntu下可以直接使用如下命令安装cloc工具sudo apt-get install cloc安装之后,即可以使用cloc的命令来统计代码量,比如统计当前目录下的代码量cloc --exclude_dir="env,docs," .需要注意的是,该命令只统计当前目录(包括所有子目录...

2018-07-04 22:07:18 2181

原创 softmax loss

  softmax函数比较简单,可以用如下公式表示同样,交叉熵的公式也很简单,如下:其中 表示真实的概率(),而 表示预测的概率。在深度学习中,这二者也经常被使用,softmax常被用来将输出映射到0~1的概率值,而cross entropy则常被用来作为分类模型的损失函数。在使用的时候有什么需要注意的呢?softmax存在下溢和上溢的问题,如果=c,那么softmax的值都...

2018-07-04 22:02:59 1442

原创 numpy中的reshape操作

  reshape操作,顾名思义,就是调整矩阵的形状。在Python中,reshape用于调整矩阵的维度和形状,比如将2*3的矩阵调整为3*2的矩阵。在使用reshape函数调整矩阵AAA形状时,可以使用p.reshape(A, [?,?]),也可以用A.reshape([?,?]).  numpy中的数组一般用array表示,比如A是200*64*3的数组,则A[0]表示64*3的数组,而A...

2018-06-23 11:18:03 1353

原创 pandas读取csv文件,分隔符参数sep

  在python中读取csv文件时,一般操作如下:import pandas as pdpd.read_csv(filename)该读文件方式,默认是以逗号“,”作为分割符,若是以其它分隔符,比如制表符“/t”,则需要显示的指定分隔符。如下pd_read_csv(filename,'/t')但如果遇见某个字段包含了”/t”的字符,比如网址“www.xxx.xx/t…”,则也...

2018-06-23 11:07:58 34026 1

转载 深度学习中的梯度下降算法

    在深度学习中,梯度下降算法应该是使用的最普遍的优化方法了。一直想要对深度学习中的梯度下降算法做个总结,但无意之中看到了总结的非常好的博客。于是转载过来,多谢原先博主的总结。    博客原文地址http://ruder.io/optimizing-gradient-descent/    中文翻译地址:https://blog.csdn.net/google19890102/article/...

2018-06-23 10:48:37 2710

转载 tensorflow中batch normalization的用法

转载自https://www.cnblogs.com/hrlnw/p/7227447.html网上找了下tensorflow中使用batch normalization的博客,发现写的都不是很好,在此总结下:1.原理公式如下:y=γ(x-μ)/σ+β其中x是输入,y是输出,μ是均值,σ是方差,γ和β是缩放(scale)、偏移(offset)系数。一般来讲,这些参数都是基于channel来做的,比如...

2018-06-20 09:30:02 1032

原创 线性模型(七)之人工神经网络(ANN)

  前面介绍了三种用于分类的模型,感知机、逻辑斯蒂回归和支持向量机。如果只就二分类任务而言,其实它们都可以认为是在寻找一个超平面wTx+bwTx+b\mathbf{w}^T\mathbf{x} + b将正负样本划分开。只不过寻找超平面的思路/想法不一致。但它们的目标都是要确定ww\mathbf{w}和bbb。在二分类中,ww\mathbf{w}是一个向量,bbb是一个标量,如果把ww\mathbf...

2018-06-09 22:02:35 592

原创 线性模型(六)之SVM

  支持向量机(support vector machine,SVM)是一种使用特别广泛分类算法,分类效果也是非常不错的,SVM算法也有很严谨的数学理论推导。  SVM算法也是基于线性回归模型来做分类的。SVM算法的思路是将线性方程wTx+bwTx+b\mathbf{w}^T\mathbf{x} +b 作为分类超平面,该超平面会将所有样本点分隔开,位于超平面一侧的样本归为正例,而另一侧的则归为...

2018-06-09 21:09:04 435

原创 线性模型(五)之逻辑斯蒂回归

  逻辑斯蒂回归(logistic regression,LR)名字中包含“回归”二字,乍一听,还以为是一种回归算法,实则不然,逻辑斯蒂回归是不折不扣的分类算法。  感知机算法是最直接的将线性回归用于分类的算法,其直接在线性回归的模型上加上了符号函数,变成了二分类模型。类似,逻辑斯蒂回归算法的思想也是将线性回归模型加以改造,进而用于分类。  个人理解,逻辑斯蒂回归改造线性回归模型的思路是将...

2018-06-09 20:40:01 1397

原创 python中文件复制操作

  一般在做机器学习算法之前,或多或少都会涉及到数据的清洗工作,而清洗时,又经常需要把文件进行复制操作(比如,把清洗好的文件拿出来放到另一个目录)。   在python中,一般使用shutil包进行复制操作,如下:shutil.copyfile(src,dst) #复制源文件src到目的文件dst,注意,src和dst都是带文件若需要把文件复制到指定的目录怎么办呢?shuti...

2018-06-05 22:23:17 11445

原创 linux两台服务器间拷贝文件

  比如登录到了服务器AAA,想要拷贝文件到服务器BBB(比如IP为192.168.1.1)上,可以使用如下的命令:scp aaa.aa [email protected]:/bb/bb/表示将服务器AAA上的文件aaa.aa复制到服务器BBB上的目录/bb/bb/下,其中user表示BBB上的某个用户。输入该命令,会要求输入user用户的密码,以执行拷贝操作。...

2018-06-05 22:18:37 410

原创 python中以相同顺序shuffle两个list

  通常做机器学习问题时,需要准备训练数据,通常会把样本数据和标签存放于2个list中,比如train_x = [x1,x2,...,xN][x1,x2,...,xN][\mathbf{x}_1,\mathbf{x}_2,...,\mathbf{x}_N],train_y = [y1,y2,...,yN][y1,y2,...,yN][y_1,y_2,...,y_N]. 有时候是需要将数据shuff...

2018-06-03 21:06:40 11106 5

原创 线性模型(四)之感知机

  在该系列博客《线性模型》的前两章介绍了介绍了线性模型用于回归任务,即多项式拟合和线性回归。那么能否方便地将线性模型也用到分类任务上呢?   按照我自己的理解,将线性回归用于分类,最简单的思想就是构建线性回归模型f(x)=wTx+bf(x)=wTx+bf(\mathbf{x}) = \mathbf{w}^T\mathbf{x} + b,然后做如下的判断:...

2018-06-02 13:24:53 331

原创 线性模型(三)之线性回归

  在前一篇博客线性模型(二)之多项式拟合中介绍了一维数据的多项式拟合问题。理解多项式拟合后,再来看线性回归,会发现,如出一辙。线性回归和多项式拟合的主要区别在于: 线性回归的输入是多维的 线性回归模型不仅是参数的线性函数,也是输入xx\mathbf{x}的线性函数,即不会像多项式拟合中会有x2,x3x2,x3x^2,x^3等高次幂出现。   线性回归的基本形式如下:...

2018-06-02 12:32:21 638

原创 c/c++计算程序运行时间

  在c/c++中经常需要获取某段程序的运行时间,那么如何来实现呢?方式一:使用time函数  使用time函数计算某段程序运行时间的代码如下:time_t start_time;time(&start_time);...time-consuming code...time_t end_time;time(&end_time);time_t duratio...

2018-05-30 22:21:53 1626 1

stm32模拟IIC

stm32的模拟IIC程序,有最基本的IIC只会简介,注释很详细。

2013-06-29

空空如也

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

TA关注的人

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