自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 特征工程与常见机器学习方法

2018-06-19 20:15:52 231

转载 keras实现常用深度学习模型LeNet,AlexNet,ZFNet,VGGNet,GoogleNet,Resnet

LeNet#coding=utf-8from keras.models import Sequentialfrom keras.layers import Dense,Flattenfrom keras.layers.convolutional import Conv2D,MaxPooling2Dfrom keras.utils.np_utils import to_categorical...

2018-06-15 11:54:37 412

原创 链表队列及其与数组队列的比较

//添加元素是从列表尾部tail,删除元素从链表头部headpublic class LinkedListQueue<E> implements Queue<E> { private class Node{ public E e; public Node next; public Node(E e, Node ne...

2018-05-13 15:17:14 1557

原创 链表栈的实现以及与数组栈的对比

引入上篇中实现的链表类,同时定义一个Stack的接口public class LinkedListStack<E> implements Stack<E> { private LinkedList<E> list; public LinkedListStack() { list = new LinkedList<>...

2018-05-13 15:13:57 1385

原创 链表的实现

//添加操作addLast(e):O(n);addFirst(e):O(1);add(index e):O(n/2)=O(n)//删除操作:removeLast(e):O(n);removeFirst(e):O(1);remove(index e):O(n/2)=O(n)//修改操作O(n)//查找操作:O(n)public class LinkedList<E> { ...

2018-05-13 15:02:57 167

原创 数组队列和循环队列

定义一个Queue的接口public interface Queue<E> { int getSize(); boolean isEmpty(); void enqueue(E e); E dequeue(); E getFront();}引入之前自定义的动态数组Array类//出队时间复杂度是O(n),其余为O(1)public clas...

2018-05-13 14:54:57 546

原创 数组栈的实现

首先设计一个Stack的接口,定义5种操作,分别为获取栈中元素个数,是否为空,添加元素,删除元素,取出栈顶元素public interface Stack<E> { int getSize(); boolean isEmpty(); void push(E e); E pop(); E peek();//取栈顶元素,所有操作的时间复杂度都为O(1...

2018-05-13 14:48:01 266

原创 使用Java动态数组的实现

使用Java中的数组int[] arr=new int[10];for(int i=0;i<arr.length;i++) arr[i]=i;int[] scores =new int[]{100,99,66};for (int i=0;i<scores.length;i++) System.out.println(scores[i]);for(int scor...

2018-05-13 14:23:08 17318 2

原创 CNN架构

简单的CNN架构通常包含卷积层(tf.nn.conv2d)、非线性变换层(tf.nn.relu)、池化层(tf.nn.max_pool)及全连接层(tf.nn.matmul)。如果没有这些层,模型便很难与复杂的模式匹配,因为网络将被填充过多的信息。一个设计良好的CNN架构会突出那些重要的信息,而将噪声忽略。1.get_shapeTensorFlow的输入流水线(用于读取和解码文件)拥有一种为使用一...

2018-05-07 16:20:51 1153

原创 基于tensorflow的对数几率回归

import tensorflow as tfimport os# 初始化变量和模型参数,定义训练闭环中的运算W = tf.Variable(tf.zeros([5, 1]), name="weights")b = tf.Variable(0., name="bias")def combine_inputs(X): # 计算推断模型在数据X上的输出,并将结果保存 retu...

2018-05-07 11:40:53 587

原创 基于tensorflow的线性回归

import tensorflow as tf# 初始化变量和模型参数,定义训练闭环中的运算W = tf.Variable(tf.zeros([2, 1]), name="weights")b = tf.Variable(0., name="bias")def inference(X): # 计算推断模型在数据X上的输出,并将结果保存 return tf.matmul(X,...

2018-05-07 11:37:34 230

原创 图片的几何变换

1.图片的缩放 1 load 2 info 3 resize 4 check#1 放大  缩小  2等比例缩放 非等比例缩放# 1 info 2 空白模板 3 xyimport cv2import numpy as np img=cv2.imread('image0.jpg',1)imgInfo=img.shapeheight=imgInfo[0]width=imgInfo[1]ds...

2018-05-07 11:30:10 353

原创 希尔,归并,快排,堆排序

希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位;希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序...

2018-05-02 14:34:47 243

原创 基于tensorflow的机器学习通用代码框架

数据流图的高层、通用训练闭环我们创建了一个训练闭环,它具有如下功能。·首先对模型参数进行初始化。通常采用对参数随机赋值的方法,但对于比较简单的模型,也可以将各参数的初值均设为0。·读取训练数据(包括每个数据样本及其期望输出)。通常人们会在这些数据送入模型之前,随机打乱样本的次序。·在训练数据上执行推断模型。这样,在当前模型参数配置下,每个训练样本都会得到一个输出值。·计算损失。损失是一个能够刻画模...

2018-05-02 12:34:42 739

原创 机器学习常见面试问题总结

1、决策树树相关问题(1)各种熵的计算 熵、联合熵、条件熵、交叉熵、KL散度(相对熵)熵用于衡量不确定性,所以均分的时候熵最大KL散度用于度量两个分布的不相似性,KL(p||q)等于交叉熵H(p,q)-熵H(p)。交叉熵可以看成是用q编码P所需的bit数,减去p本身需要的bit数,KL散度相当于用q编码p需要的额外bits。交互信息Mutual information :I(x,y) = H(x)...

2018-05-02 00:03:32 404

原创 深度学习面试问题总结

                                              第一部分:深度学习1、神经网络基础问题(1)BP,Back-propagation(要能推倒)后向传播是在求解损失函数L对参数w求导时候用到的方法,目的是通过链式法则对参数进行一层一层的求导。这里重点强调:要将参数进行随机初始化而不是全部置0,否则所有隐层的数值都会与输入相关,这称为对称失效。 大致过程是:...

2018-05-01 23:59:56 2674

原创 tensorflow运算表单

tf.mul已改为tf.multiply

2018-05-01 20:32:35 204

原创 tensorboard的启动方式

在1.0版本中,tf.train.SummaryWriter已经改为tf.summary.FileWriter;因此,代码必须改为:writer=tf.summary.FileWriter('./my_graph',tf.get_default_graph())tensorboard在Windows下的打开方式:  第一步:打开命令行,cd(文件所在位置)  第二步:输入:tensorboard ...

2018-05-01 20:19:17 312 1

原创 大数定律VS中心极限定理

在统计活动中,人们发现,在相同条件下大量重复进行一种随机实验时,一件事情发生的次数与实验次数的比值,即该事件发生的频率值会趋近于某一数值。重复次数多了,这个结论越来越明显。这个就是最早的大数定律。一般大数定律讨论的是n个随机变量平均值的稳定性。而中心极限定理则是证明了在很一般的条件下,n个随即变量的和当n趋近于正无穷时的极限分布是正态分布。一句话解释:大数定律讲的是样本均值收敛到总体均值,说白了就...

2018-04-30 21:17:46 5559 1

原创 中心极限定理

中心极限定理指的是给定一个任意分布的总体。每次从这些总体中随机抽取 n 个抽样,一共抽 m 次。 然后把这 m 组抽样分别求出平均值。 这些平均值的分布接近正态分布。我们先举个栗子现在我们要统计全国的人的体重,看看我国平均体重是多少。当然,我们把全国所有人的体重都调查一遍是不现实的。所以我们打算一共调查1000组,每组50个人。 然后,我们求出第一组的体重平均值、第二组的体重平均值,一直到最后一组...

2018-04-30 20:58:22 35023 4

原创 冒泡选择插入排序O(n^2)

冒泡排序冒泡排序(Bubble Sort)是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。作为最简单的排序算法之一,冒泡排序给我的感觉就像 Abandon 在单词书里出现的感觉一样,每次都在第一页第...

2018-04-30 16:05:25 256

原创 十大经典排序算法

排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。关于时间复杂度:平方阶 (O(n2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。线性对数阶 (O(nlog2n)) 排序 快速排序、...

2018-04-30 14:37:41 114

原创 Linux常用指令

ls:显示文件夹下的文件名称cd ....:切换到某个文件夹下pwd:显示当前路径touch:创建新文件mkdir:创建新文件夹mv  原文件名   新文件名:重命名ln:创建链接clear:清空...

2018-04-29 23:05:52 83

原创 图像处理工程师知识图谱

图像像素操作 - 几何运算-加减乘除 - 逻辑运算-与或非取反 - 像素读写 - 通道混合与调整 - 对比度与亮度调整 图像几何变换 - 插值(zoom in或out) - 旋转(rotate) - 透视变换 - 错切变换 - 翻转 像素统计 - 计算均值与方差 - 计算直方图 - 计算最大最小 - 计算像素内方差 色彩空间 - RGB - HSL - YUV - YCrCb - 色彩空间转换 -...

2018-04-29 23:01:03 1472

原创 Windows通过SSH远程连接Linux

这里的”远程”操控的方法实际上也不是真正的远程.,這此操作方法主要是在一个局域网内远程操控电脑 (在一个路由器下)。可以把它做成在互联网中的远程操控, 不过技术难度上加了一个等级, 如果你想是想人在公司, 却要操控家里的 Linux, 可以参考免费的软件 (TeamViewer) 。1.给Linux安装SSHUbuntu默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ss...

2018-04-26 22:31:01 23399 1

原创 两重循环

import time start_time=time.time()for a in range(0,1001):    for b in range(0,1001):        c=1000-a-b        if a**2+b**2==c**2:            print("a,b,c:%d,%d,%d" % (a,b,c))            end_time=time....

2018-03-11 13:15:12 289

原创 引入

如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合?三重循环:import timestart_time = time.time()for a in range(0,1001):    for b in range(0,1001):        for c in range(0,1001):            if a**2+b*...

2018-03-11 13:08:39 142

原创 CUDA安装中出现的问题

只需要在接下来的安装过程中选择自定义,把驱动drivers部分勾选掉即可安装成功。测试一下是否安装成功,命令行输入 nvcc -V ,看到版本信息就表示安装成功了。出现這种情况说明已经安装成功!

2017-12-25 16:03:44 2337

空空如也

空空如也

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

TA关注的人

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