自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 tensorflow各种初始化函数

def transformAngle(alpha, theta, beta): """ return transform matrix """ Z = np.array([[cos(alpha), -sin(alpha), 0, 0], [sin(alpha), cos(alpha), 0, 0], ..

2019-01-23 15:05:35 732

原创 Linux常用命令(二):复制

复制 cp

2019-01-15 10:55:14 1064

翻译 《Machine Learning Yearning》第18章

18 How big should the Eyeball and Blackbox dev sets be?你的Eyeball开发集应该要足够大,以至于能得到你算法的主要错误类别。如果正在做一项人类做的好的工作(例如识别图片中的猫),下面有一些粗略的指引:一个Eyeball开发集在你的分类器里有10个错误,这被认为是非常小的。只有10个错误,很难准备估计不同错误类别的影响。但是如果...

2019-01-15 10:40:27 239

原创 python输入输出总结

一. 输入输出 输入: python3:用input()可以从命令行接收一行数据,全部转成str类型。 python2: input() :只接受数字,返回的是int或者float raw_input( ):将所有输入作为字符串看待,返回字符串类型输出: 输出不换行: print(xxx, end=”“)...

2019-01-15 10:39:54 363

原创 矩阵和矩阵转置求导公式

一.向量求导1.向量求标量的导Y = ⎡⎣⎢⎢⎢⎢y1y2⋮ym⎤⎦⎥⎥⎥⎥[y1y2⋮ym]\left[ \begin{matrix} y_1 \\ y_2 \\ \vdots\\ y_m \\ \end{matrix} \right] ,x是标量 那么:∂Y∂x=⎡⎣⎢⎢⎢⎢⎢∂y1x∂y2x⋮∂ymx⎤⎦⎥⎥⎥⎥⎥∂Y...

2019-01-15 10:39:38 46770 10

原创 MATLAB 显示3维矩阵的任意维度

最近做的是医学图像nifti格式的数据。用了matlab处理,里面的很多函数还在熟悉。 有个示例是显示三维的最后一维中的图像。 假设v是三维数据示例是这样的:imshow(v(:,:,50));这样子是可以成功显示的。 但是如果显示错误:imshow(v(:,50,:));就会如下类似的错错误使用 imfuse>parse_inputs (line 442)...

2018-09-10 00:27:37 8144 4

原创 生成模型和判别模型

最近笔试经常遇到这类问题,所以就干脆总结一下。也让自己加深印象。 这是我参考西瓜书和网上各种资料,加上自己的理解总结的。首先,假设我们要做的是监督学习的分类问题。训练集是样本X和标签C。测试的时候,给我一个X,然后模型来判断这个X到底属于哪一类。1.决策函数所以,我们可以训练一个函数f,令f(X)=C。这样下次给定一个X,将其带入到f中,就能得到预测的类别。f就是一个决策函数。...

2018-09-05 21:30:57 234

原创 向量、标量、矩阵之间的求导

一.向量求导1.向量求标量的导Y = ⎡⎣⎢⎢⎢⎢y1y2⋮ym⎤⎦⎥⎥⎥⎥[y1y2⋮ym]\left[ \begin{matrix} y_1 \\ y_2 \\ \vdots\\ y_m \\ \end{matrix} \right] ,x是标量 那么:∂Y∂x=⎡⎣⎢⎢⎢⎢⎢∂y1x∂y2x⋮∂ymx⎤⎦⎥⎥⎥⎥⎥...

2018-08-29 15:10:46 561 2

原创 opencv安装 pip install opencv-python

一般情况下,安装包都是用pip install 包名就好了 但是我试了 pip install opencv 发现没有这个包,查了资料才发现是要写成 pip install opencv-python 还有一点,后续调用OpenCV时,要用 import cv2, 而不是import opencv等其他名字。...

2018-08-15 13:00:29 38376 2

原创 python用sort和sorted对多维列表、字典、字符串进行排序

sort()是列表的一个排序方法,直接修改原列表,没有返回值。 sorted()使用范围更广,不局限于列表,能接受所有迭代器,返回排好序的新列表。使用方法:list.sort(*, key=None, reverse=None) sorted(iterable[, key][, reverse])key 是带一个参数的函数,表示用什么方式排序。 reverse 表示排序结果是否反...

2018-08-14 10:22:22 7068

原创 git安装配置及使用

1.安装: 从官网https://git-scm.com/download/win下载一直next安装即可。 安装完成后,会出现下图的这些: 当你要上传到GitHub上时,就需要用到Git Bash(相当于终端)。2.使用 首先,我们需要配置一个默认的用户名和邮箱,这样不用以后上传不用每次都填写。 git config –global user.name “yourname” ...

2018-08-11 23:12:32 198

翻译 《Machine Learning Yearning》第18章

18 How big should the Eyeball and Blackbox dev sets be?你的Eyeball开发集应该要足够大,以至于能得到你算法的主要错误类别。如果正在做一项人类做的好的工作(例如识别图片中的猫),下面有一些粗略的指引:一个Eyeball开发集在你的分类器里有10个错误,这被认为是非常小的。只有10个错误,很难准备估计不同错误类别的影响。但是如果...

2018-08-06 10:13:23 238

原创 import tensorflow遇到的问题 ImportError: Could not find 'msvcp140.dll'

ImportError: Could not find ‘msvcp140.dll’. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. You may install this DLL by downloading Vis...

2018-07-31 13:44:01 9911 7

原创 Python pip安装包 read time out

例如要安装numpy 正常情况下,用pip install numpy(或pip3 install numpy)即可。但是这个过程是从源下载,有可能会遇到网不好,或者是源不好 会出现如下这种错误 raise ReadTimeoutError(self._pool, None, ‘Read timed out.’) pip._vendor.requests.packages.urllib3....

2018-07-24 09:57:24 2117

原创 python实现堆插入、删除、创建

提到二叉堆,必须要说一下优先队列 队列的概念比较简单,就是先进先出。但是优先队列的话,算是队列的一个变种,然而,在优先级队列中,队列中的项目的逻辑顺序由它们的优先级确定。最高优先级项在队列的前面,最低优先级的项在后面。因此,当你将项排入优先级队列时,新项可能会一直移动到前面。我们将在下一章中研究一些图算法看到优先级队列是有用的数据结构。 二叉堆是一组能够用堆,有序的完全二叉树排序的元素,,并在...

2018-07-23 20:53:09 3238

翻译 《Machine Learning Yearning》第17章

这一章主要讲了,可以将开发集分成两个部分,一部分通过观察内部的样本做错误分析,另一部分拿来调参。17 If you have a large dev set, split it into two subsets, only one of which you look at 假设你有一份5000个样本的大开发集,并且他们错误率是20%。也就是说,你的算法错分了1000个图片。手动检查这100...

2018-07-21 18:19:22 263

翻译 《Machine Learning Yearning》第16章

这一章主要讲了如何清理那些被错误标记的开发集和测试集样本。 主要是看这些错误标记的样本所占比例。如果小的话可以暂时不管,先提升其他部分。如果较大那么就把他们改正过来。但是要注意的是,一定要同时修改开发集和测试集,保证它们的分布一致性。16 Cleaning up mislabeled dev and test set examples 错误分析过程中,你可能会注意到有些开发集的样本标记错...

2018-07-21 09:23:17 216

翻译 《Machine Learning Yearning》第15章

15 Evaluating multiple ideas in parallel during error analysis 你的团队对提升猫检测器有几个建议:修正你们的算法将狗识别为猫的这个错误。修正你们算法将大型猫科动物(狮子、豹子等)识别成家猫(宠物)这个错误。提升系统对模糊图像的性能。…. 你可以同时有效地评估所有这些想法。我一般会创建一个表格,将浏览那100个错误分...

2018-07-20 21:50:50 247

翻译 《Machine Learning Yearning》第14章

这一部分讲了误差分析的重要性,在进行一项新的尝试前,可以先完成误差分析,这可以节省很多时间和精力。14 Error analysis: Look at dev set examples to evaluate ideas 当你运行你的猫识别app时,注意到有几个例子会把狗误判为猫。一些狗确实看起来像猫! 一个团队成员建议合并第三方软件,能使系统在狗图片上处理得更好。这些改变需要一个...

2018-07-18 12:35:27 212

翻译 《Machine Learning Yearning》第13章

第二部分开始啦。主题是基本错误分析13 Build your first system quickly, then iterate 你打算做一个新的反垃圾邮件的系统,你的团队有下面几个想法:收集大量的垃圾邮件做训练数据。例如,设置“蜜罐(honeypot)”:故意给已知的垃圾邮件发送者发送假邮件地址,那么你就可以自动收集他们发送给这些地址的垃圾邮件了。开发能理解邮件内容的功能。开...

2018-07-18 09:07:54 235

翻译 《Machine Learning Yearning》第12章

第12章是对设置开发集和测试集这一部分的一个总结。12 Takeaways: Setting up development and test sets 从能反映将来你希望获得的数据的分布上选择开发和测试集,并且想在上面做的更好。这可能跟你的训练集的分布不一样。 如果可能的话,开发集和测试集的分布要一致。 为你的团队选择一个单数字的评估指标来进行优化。如果你关心的是几个指标,那么想办...

2018-07-17 21:48:57 173

翻译 《Machine Learning Yearning》第11章

 这一章主要讲了什么时候需要改变开发集/测试集或者是评估标准。  在一个项目开始时,一般需要早点确定dev/test set和评估指标,然后在调试过程中,可以再改变它们。文中提出了3种需要改变的情况11. When to change dev/test sets and metrics 我通常会要求我的团队在一周内提出一个初始开发集/测试集和初始指标,甚至更短的时间内。最好是想出一些不完...

2018-07-17 21:02:26 186

原创 Linux建立、查看、终止后台运行程序

一. 创建后台运行程序方法一:&脚本后面加&如:python test.py &但是有一个问题就是你关闭终端连接后,脚本会停止运行。方法二:nohup使用&符号在后台执行命令或脚本后,如果你退出登录,这个命令就会被自动终止掉。要避免这种情况,你可以使用nohup(no hang up)命令,如下所示:nohup test.py &am

2018-07-17 09:54:17 1202

原创 八大排序算法介绍分析及其python实现

方便起见,一下所有代码与解释都默认升序排列。 1.冒泡排序: 冒泡排序是一种很简单但是效率不高的方式,要多次遍历列表。 第一趟:两两比较a[i] > a[i+1]时交换它们的位置,这样遍历完整个序列就能选出将最大值放在最后。如图。 第二趟:除去最大值,选出剩余序列中的最大值(原序列的第二大)放在倒数第二个位置。 … 第n-1趟 冒泡排序思想比较简单2.选择排序 3.插...

2018-07-13 14:10:08 458 1

翻译 《Machine Learning Yearning》第10章

10 Having a dev set and metric speeds up iterations 很难知道哪种方法对一个新问题会有用。即使是经验丰富的机器学习研究者在发现满意的解决方案之前都会尝试非常多的方法。在构建机器学习系统时,我常常会这样做:首先对如何构建这个系统有一个想法然后用代码实现这个想法。最后进行一项实验实验,能告诉我这个想法的实现效果。(通常我的第一个想法不会有...

2018-07-12 12:33:44 238

翻译 《Machine Learning Yearning》第9章

第9章主要内容: 提出了多个指标的优化方式:不像之前那样用一个公式将它们结合起来。而是为一部分指标设阈值,在满足这个阈值的条件下优化另一个指标。9 Optimizing and satisficing metrics 这里有另一种可以将多个评估指标结合起来的方式。 假设你同时关心准确率和算法运行时间。你要从下面三个分类器中进行挑选。  要将准确率和运行时间推导成一个公式似乎有点...

2018-07-12 08:49:41 251

翻译 《Machine Learning Yearning》第8章

第8章主要内容: 1.尽量选单个数字来优化你的模型。 2.如果想要同时考虑几个指标,可以用一种标准方式将它们组合成一个数字(例如平均)。 3.提到了recall、precision、F1 score。8 Establish a single-number evaluation metric for your team to optimize 分类准确性可以用一个数字来衡量:你在开发集...

2018-07-11 19:53:31 238

翻译 《Machine Learning Yearning》第7章

这一章主要内容: 1.样本数量适中(100-1000)时,开发集/测试集的比例为7:3比较合理。 2.数量很大时,这个比例需要改变。所需的精度越高,样本数量应该更大。7 How large do the dev/test sets need to be? 开发集要足够大才能检测你所尝试的算法之间的差异。例如,如果分类器A有90%的准确率,B有90.1%,那么有100个样本的开发集就无法...

2018-07-11 18:51:11 253

翻译 《Machine Learning Yearning》第6章

第六章主要内容:1.开发集和测试集要保持同一分布的重要性。 2.如果开发集表现好,测试集表现不好,可能由什么原因导致。 3.要保证模型的泛化性是很难的一个问题,可能运气成分居多。六 . Your dev and test sets should come from the same distribution 你把你app的猫图像分为了四个大市场区域(i)美国,(ii)中国,(i...

2018-07-11 10:17:39 365

翻译 《Machine Learning Yearning》第5章

接下来的几章都是讲关于验证集和测试集的设置。 第五章主要内容: 1.以前基本上将训练集和测试集7:3划分,但是现在数据越来越多,可能就不适用了。 2.训练集、验证集、测试集的作用。 3.描述了一种情况,就是用于训练算法的数据(包括训练集和验证集甚至是测试集)与实际上想真正运行的数据的分布(特征)不一样。这种情况下,实际运行效果不好。 4.给出几个建议。五. Your developm...

2018-07-10 10:31:33 289

翻译 《Machine Learning Yearning》第三章-第四章

这两章主要说了监督学习的重要性,以及可能需要一些深度学习的基础知识,通过Coursera可以获取。同时提出了影响学习算法的比较重要的两个因素,一个是神经网络的大小,还有一个是数据。具体的解释在以后的章节。三. Prerequisites and Notation 如果你已经学过机器学习课程,例如我的Coursera上的MOOC课程,或者你已经有应用监督学习的经验,那么你能够理解本文。 ...

2018-07-09 20:22:45 352

翻译 《Machine Learning Yearning》第一章-第二章

一.Why Machine Learning Strategy  机器学习已经成为无数重要应用程序的基础,包括网络搜索,反垃圾Email、语言识别、产品推荐等。假设你或者你的团队正在做一个ML应用,并且你希望能快速取得进展,那么这本书将会对你有帮助例如:建立猫图片的启动  假设您正在建立一个程序,为猫爱好者提供源源不断的猫图片。  你用了一个神经网络去建立一个计算机视觉系统,获...

2018-07-09 19:24:23 647

翻译 吴恩达新书《Machine Learning Yearning》翻译目录索引

吴恩达出了一本新书,关于机器学习或者说深度学习的tricks。封面如下。 我打算将此书看一遍,也翻译总结一下,方便此后查阅。 这是本书的官网,大家可以输入自己的邮箱订阅,因为目前此书还没有更新完全,但是每更新一部分,就会发到填写的邮箱中。 http://www.mlyearning.org/这本书的目的是教给大家如何建立一个机器学习工程。并不是教一些机器学习算法,而是如何让ML(ma...

2018-07-09 14:00:17 1954

原创 正则表达式 python

正则表达式是一种匹配字符串的工具。python中通过导入re来实现。 规则: | | | Tables 含义 \d 可以匹配一个数字 \w 匹配一个字母或数字 * 任意个字符(包括0个) . 匹配任意字符 + 表示至少一个字符 ? 表示0个或1个字符 {n} 表示n个字符 {n,m}...

2018-07-07 15:02:16 315

转载 先验概率、后验概率、似然概率概念

先验概率,后验概率,似然概率,条件概率,贝叶斯,最大似然1.先验概率:在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑”观测数据”前,能表达p不确定性的概率分布。它旨在描述这个不确定量的不确定程度,而不是这个不确定量的随机性。可以是基于历史数据的统计,可以由背景常识得出,也可以是人的主观观点给出。一般都是单独事件概率,如P(x),P(y)。2.后验概率:在贝叶斯统计中,一个...

2018-07-06 13:26:57 11544

原创 二分查找 python实现

传统的顺序查找就是一个一个的比,时间复杂度为O(n) 二分查找是很基本的查找方式,前提是待查找的列表是有序的,所以每次都跟中间的那个数比较。 但是如果数据较大,二分查找不一定好用,因为需要先排序,有可能排序需要的成本更高。下面是二分查找的python实现方法。def binarySearch(alist, item): first = 0 last = len(alis...

2018-06-29 23:11:32 504

原创 KMP字符串查找算法的 Python实现

首先是next数组的获取,用了一个递归的方法,时间复杂度为O(m),m为模式串的长度def GetNext(p): n = len(p) next = [-1] * n k = -1 j = 0 while(j < n - 1): if k == -1 or p[k] == p[j]: k += 1 ...

2018-06-27 13:20:31 261

转载 Python下的深拷贝、浅拷贝和赋值

最近刷题时遇到关于拷贝的题。特别是在递归这种类型的问题是很容易踩坑。所以把这个总结下来。修改不可变对象(str、tuple等)需要开辟新的空间 修改可变对象(list等)不需要开辟新的空间import copy>>> a = [1, 2, 3, ['a', 'b', 'c']]>>> b = a #赋值&g...

2018-06-15 17:58:39 175

原创 二叉树知识整理:分类、遍历(前序后序中序层次)

二叉树(Binary tree)是每个节点最多只有两个分支的树结构。分别为”左子树”和”右子树”。 常用的定义: 根节点:只有子节点,没有父节点。也就是只有往外的箭头。一棵树最多只有一个根节点。 叶节点:与根节点刚好相反,只有父节点,没有子节点。 左子树与右子树:以根节点“2”为例,它的左子树是“7”和“7”的所有分支(包括了7、2、6、5、11)。同理右子树。 树的深度:从根节点到叶节...

2018-06-13 20:29:42 515

原创 python 列表、元祖、字符串之间的相互转换和翻转

字符串转列表和元祖>>> s = 'Hello World'>>> list(s)['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']>>> tuple(s)('H', '

2018-06-13 13:19:30 3267

空空如也

空空如也

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

TA关注的人

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