Bing's Blog

用心若镜,应而不藏。

Lintcode 138. 子数组之和 [Easy]

[20190331] 题目描述 给定一个整数数组,找到和为零的子数组。你的代码应该返回满足要求的子数组的起始位置和结束位置 样例 样例 1: 输入: [-3, 1, 2, -3, 4] 输出: [0,2] 或 [1,3] 样例解释: 返回任意一段和为0的区间即可。 样例 2: 输入: [-3, ...

2019-03-31 14:03:08

阅读数 59

评论数 0

Lintcode 51.上一个排列[Medium]

题目描述 给定一个整数数组来表示排列,找出其上一个排列。排列是有序的,前一个比当前表示的数字小。 题解 class Solution { public: /* * @param nums: A list of integers * @return: A list of ...

2019-03-29 21:48:13

阅读数 36

评论数 0

Leecode 953. Verifying an Alien Dictionary[Easy]

题目描述 给定一个字符串数组和字典排序,这个字典序即外星人的字母顺序表,验证字符串数组是不是按照升序排列。 题解 写一个比较函数,然后两两验证。 class Solution { public: // check if a is less than b bool check (st...

2019-03-29 20:50:13

阅读数 28

评论数 0

LeetCode 144. 树的前序遍历迭代写法

Time: 20190224 本题对应的是LeetCode 144,Medium难度(迭代算法的难度)。 树的前序遍历 Given a binary tree, return the preorder traversal of its nodes’ values. Example: Input: ...

2019-02-24 20:56:09

阅读数 83

评论数 0

【LeetCode 148】链表的归并排序

上一篇文章用数组实现了二路归并排序,核心在于要对每次减半的元素进行实质性的改变,在数组中我们用临时数组记录每次merge的结果,在链表中用归并排序更加直接,因为我们操作的是结点的指针。 题目描述 难度:中等 Sort a linked list in O(n log n) time using c...

2019-02-24 15:29:47

阅读数 63

评论数 0

数组的二路归并排序

归并算法的核心 二路归并算法的核心是将两个有序向量(数组)通过“双指针法”合并起来。而归并排序针对的是整体无序的数组,因此我们需要用递归算法,递归基是单个元素时,肯定是有序的,相邻的两个单个元素的数组合并到一起,形成更大一点的有序向量。 递的过程是:从原数组拆分到只剩下单个元素; 归的过程:两两合...

2019-02-24 14:52:43

阅读数 116

评论数 0

【Leetcode 795】Number of Subarrays with Bounded Maximum

难度:中等 题目描述 We are given an array A of positive integers, and two positive integers L and R (L <= R). Return the number of (contiguous,...

2019-02-21 20:38:53

阅读数 58

评论数 0

【阅读笔记】频率视角下的机器学习

注:本文是对极客时间《机器学习40讲》之《频率视角下的机器学习》的阅读记录。 大纲 频率 事件发生的频率的极限值 统计学 参数确定,数据随机 参数估计 统计机器学习 损失函数 经验风险 频率学派 对于概率的解读,有两种不同的解读方式,这两种不同的思维方式导致了对机器学习的两种...

2019-02-20 20:51:08

阅读数 52

评论数 0

优先队列之Leetcode 23合并K个有序链表

优先队列要点复习 这在之前专门写过一篇文章讲优先队列的使用方法: 优先队列的优先级设置法 对于优先队列,我们首先需要知道,它的底层是堆,或者说优先队列是堆的一种别称。堆自然就分成了两个方向: 大顶堆 小顶堆 堆的结构维护着一种数据关系,我们通过q.top()可以取出顶部的数据,要么最大,要...

2019-02-19 16:39:33

阅读数 62

评论数 0

Leetcode106 由中序序列和后序序列构建二叉树

最难的地方在于对序列的下标计算,比如给定一个序列,开始下标是i,那么下标i+1就是开始元素的后一个元素,注意到,1还是当前元素组成的列表的元素个数。即i + size,是包含i元素在内的size个数组的最后一个元素的后面一个位置的下标边界。 所以对中序序列的划分,左子树是[inL, inL + l...

2019-01-21 16:10:12

阅读数 70

评论数 0

基于Keras搭建mnist数据集训练识别的Pipeline

搭建模型 import tensorflow as tf from tensorflow import keras # get data (train_images, train_labels), (test_images, test_labels) = keras.datasets.mnist...

2019-01-18 13:48:52

阅读数 104

评论数 0

正则化与奥卡姆剃刀原理

正则化是模型选择的经典方法。 在想到正则化时,需要联系到这个词:结构风险最小化。 结构风险 = 经验风险 + 正则化项/罚项 且一般正则化项是模型复杂度的单调递增函数,即模型越复杂正则化项值就越大。 奥卡姆剃刀原理 “如无必要,勿增实体。” 正则化很符合奥卡姆剃刀原理。为什么呢? 正则化可以选出经...

2019-01-14 20:15:06

阅读数 243

评论数 0

【深度学习】全连接层or卷积层

对于图像处理任务而言,在经过一连串的卷积、池化操作后,最后要接一个全连接层来对提取到的特征进行分类或者回归。 一般前面带卷积操作的被称之为卷积基,后面跟一层或多层或全连接层。 卷积神经网络中流动的是3维/4维张量,是含有空间特征的数据。 全连接层则接受的是二维矩阵。 比如,现在卷积网络输出的是7x...

2019-01-14 19:13:24

阅读数 163

评论数 0

【深度学习原理】交叉熵损失函数的实现

交叉熵损失函数 一般我们学习交叉熵损失函数是在二元分类情况下: L=−[ylogy^+(1−y)log(1−y^)]L=−[ylog ŷ +(1−y)log (1−ŷ )]L=−[ylogy^​+(1−y)log(1−y^​)] 推而广之,我们可以得到下面这个交叉熵损失函数公式: E=−∑kt...

2019-01-03 23:19:47

阅读数 879

评论数 0

【机器学习】Octave矩阵,向量的表示与基本操作

CS229中需要用到Octave来做,张量的存储是必备的知识点,记录一下备用: % The ; denotes we are going back to a new row. A = [1, 2, 3; 4, 5, 6; 7, 8, 9; 10, 11, 12] % Initialize a v...

2018-12-30 20:59:14

阅读数 168

评论数 0

【数据科学】什么是数据分析

数据分析是将原始数据进行排序和组织的过程,是用来帮助解释过去和预测未来的一系列方法。 数据分析不是只针对数字进行分析,而是关于: 如何设定/提出问题 演化解释 验证假设 数据的本质 现实世界所有场景都包含数据,数据分为: 结构化/非结构化 连续/离散 … 有不同的分类方法,从更普遍的意...

2018-12-25 18:32:14

阅读数 75

评论数 0

【深度学习】卷积计算与训练模型的几种方法

卷积计算 全连接层和卷积层的根本区别在于:全连接层(Dense层)从输入空间中学到的是全局模式,而卷积层学到的是局部模式。 因为这个特性,所以卷积神经网络有两个有趣的性质: 平移不变性:卷积神经网络在图像右下角学到的某个模式,它可以在任何地方识别出来这个模式;而对于全连接网络,如果模式出现在新的...

2018-12-22 22:09:50

阅读数 151

评论数 0

【深度学习】CNN模型的可视化-1

CNN模型学到的东西很适合可视化,这里介绍三种方法: 可视化CNN模型的中间输出(中间激活):帮助我们理解CNN是如何对输入进行变换,以及CNN每个卷积核的含义 可视化CNN的卷积核:帮助我们理解卷积核容易接受的视觉模式或概念 客户刷图像中类激活的热力图:图像中哪些部分被识别为某个类别,辅助我们...

2018-12-22 22:02:45

阅读数 192

评论数 0

【深度学习】使用预训练模型

主要有两种方法: 特征提取 微调模型 特征提取 特征提取就是使用已经训练好的网络在新的样本上提取特征,然后将这些特征输入到新的分类器,从头开始训练的过程。 卷积神经网络分为两个部分: 一系列池化层+卷积层,也叫卷积基 全连接层 特征提取就是去除之前训练好的网络的卷积基,在此之上运行新数据,...

2018-12-22 20:26:12

阅读数 382

评论数 0

【深度学习】ImageDataGenerator的使用

数据预处理 现在模型也定义好了,原始数据也准备好了,但是在将数据填入模型之前,需要进行预处理才能使用,填入模型的是浮点数张量。而当前数据是以JPEG文件的形式保存在硬盘中,预处理步骤如下: 读取图像文件 将JPEG文件解码为RGB像素网格 将像素网格转化为浮点数张量 将像素值缩放到0~1区间 ...

2018-12-22 16:00:56

阅读数 1369

评论数 0

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