自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Bing's Blog

用心若镜,不将不逆,应而不藏。

  • 博客(650)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 keras可视化模型

时间:20190612生成模型from keras.models import Modelfrom keras.layers import Input, Densefrom keras.datasets import mnistfrom keras.utils import np_utils(x_train, y_train), (x_test, y_test) = mnist....

2019-06-12 14:31:03 1390

原创 Lintcode 138. 子数组之和 [Easy]

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

2019-03-31 14:03:08 528 2

原创 Lintcode 51.上一个排列[Medium]

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

2019-03-29 21:48:13 405

原创 Leecode 953. Verifying an Alien Dictionary[Easy]

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

2019-03-29 20:50:13 303

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

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

2019-02-24 20:56:09 689

原创 【LeetCode 148】链表的归并排序

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

2019-02-24 15:29:47 343

原创 数组的二路归并排序

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

2019-02-24 14:52:43 1255 1

原创 【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 &amp;lt;= R).Return the number of (contiguous, non-empty) subarrays such that the value of the maximum array ...

2019-02-21 20:38:53 348

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

注:本文是对极客时间《机器学习40讲》之《频率视角下的机器学习》的阅读记录。大纲频率事件发生的频率的极限值统计学参数确定,数据随机参数估计统计机器学习损失函数经验风险频率学派对于概率的解读,有两种不同的解读方式,这两种不同的思维方式导致了对机器学习的两种截然不同的解读。机器学习的任务是基于现有的数据来构造模型,然后利用模型对未知数据进行预测分析。事件本...

2019-02-20 20:51:08 369

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

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

2019-02-19 16:39:33 1278

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

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

2019-01-21 16:10:12 480

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

搭建模型import tensorflow as tffrom tensorflow import keras# get data(train_images, train_labels), (test_images, test_labels) = keras.datasets.mnist.load_data()# setup modelmodel = keras.Sequentia...

2019-01-18 13:48:52 705

原创 正则化与奥卡姆剃刀原理

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

2019-01-14 20:15:06 1165

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

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

2019-01-14 19:13:24 1307

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

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

2019-01-03 23:19:47 8883 1

原创 【机器学习】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 vector v = [1;2;3] % Get the dimension of the mat...

2018-12-30 20:59:14 1757

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

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

2018-12-25 18:32:14 408

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

卷积计算全连接层和卷积层的根本区别在于:全连接层(Dense层)从输入空间中学到的是全局模式,而卷积层学到的是局部模式。因为这个特性,所以卷积神经网络有两个有趣的性质:平移不变性:卷积神经网络在图像右下角学到的某个模式,它可以在任何地方识别出来这个模式;而对于全连接网络,如果模式出现在新的位置,就必须重新学习这个模式。所以卷积神经网络需要更少的数据就可以学到具有泛化能力的数据表示。空间层...

2018-12-22 22:09:50 853

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

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

2018-12-22 22:02:45 1804

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

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

2018-12-22 20:26:12 14693 3

原创 【深度学习】ImageDataGenerator的使用--读书笔记

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

2018-12-22 16:00:56 21452 9

原创 【深度学习】深度学习分类与模型评估

内容大纲分类和回归之外的机器学习形式评估机器学习模型的规范流程为深度学习准备数据特征工程解决过拟合问题处理机器学习问题的通用流程监督学习的主要种类及其变种主要包括两大类问题:分类回归变种问题主要有:序列生成:给定一张图像,输出描述图像的文字;可以被重新表示为分类问题语法树预测:给定一个句子,输出其分解生成的语法树目标检测:给定一张图像,在图中的目标周围绘制一个...

2018-12-22 00:11:17 7106 1

原创 【深度学习】单标签多分类问题之新闻主题分类

# -*- coding: utf-8 -*-&amp;quot;&amp;quot;&amp;quot;单标签多分类问题之新闻主题分类.ipynbAutomatically generated by Colaboratory.Original file is located at https://colab.research.google.com/drive/18TqrbGYm2J-jmR89KZHOa7vxbAr4eOz2#...

2018-12-21 14:07:12 2600 1

原创 【深度学习】IMDB数据集上电影评论二分类

任务描述根据电影评论的文字内容来将电影划分为正面或者负面。IMDB数据集50000条两级分化的评论。正面负面各为50%。# 加载数据from keras.datasets import imdb(train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000) # 仅保留训练数据中...

2018-12-21 13:01:17 5402

原创 【深度学习】使用Keras开发的流程概述

开发流程典型的Keras工作流程如下:定义训练数据:输入张量和目标张量定义层组成的网络(模型),将输入映射到目标配置学习过程:选择损失函数,优化器和需要监控的指标调用模型的fit方法在训练数据上迭代定义模型的方法有两种方法:使用Sequential类,仅仅用于层的线性堆叠,目前最常用函数式API,可以构建任意形式的架构案例:线性堆叠法from keras impor...

2018-12-21 00:57:51 1091

原创 【深度学习】深度学习的四大组件

这四大组件就是:层输入数据和标签损失函数优化器这四者的关系描述如下:多层组合在一起形成了网络,网络的目的是将输入数据映射为预测值,通过损失函数将预测值和目标值比较,得出损失值,用来衡量网络的性能,而优化器的职责是迭代优化损失值来更新网络权重(BP算法)。层:构建网络的乐高积木深度学习模型的最常见用法是层的线性堆叠,将单一输入映射为单一输出,即数据从一端进,然后从另一端出。但...

2018-12-21 00:39:04 1515

原创 【深度学习基础】张量的描述与深度学习常见张量

一些概念深度学习中的所有数据张量的第一个轴都是样本轴,也称之为样本维度。另外,深度学习模型不会同时处理整个数据集,而是将数据拆分成小批量,比如前面的案例就是每次取128个数据作为一个批量。batch = train_images[:128]# nextbatch = train_images[128:256]# nth batch = train_images[128 * n: 128...

2018-12-20 23:49:08 2214 1

原创 【深度学习】张量

张量是一个数据容器,包含的数据是数值数据。矩阵是二维张量,而张量则是矩阵向任意维度的推广。张量的维度(dimension)通常叫作轴(axis)。标量只有一个数字的张量叫作标量,也叫0维张量。我们可以通过ndim来查看张量的维度,或者说轴的个数。向量一维张量,只有一个轴。x = np.array([1,2,3,4,5])x.ndim # 1这里需要区分一个概念是:5维向量和5维...

2018-12-20 23:27:42 1875

原创 【深度学习】基于Keras的手写体识别

from keras import modelsfrom keras import layersfrom keras.datasets import mnist# 搭建网络network = models.Sequential()network.add(layers.Dense(512, activation='relu', input_shape=(28*28,)))network...

2018-12-20 22:08:33 1001

原创 【深度学习】基于Numpy实现的神经网络进行手写数字识别

直接先用前面设定的网络进行识别,即进行推理的过程,而先忽视学习的过程。推理的过程其实就是前向传播的过程。深度学习也是分成两步:学习 + 推理。学习就是训练模型,更新参数;推理就是用学习到的参数来处理新的数据。from keras.datasets.mnist import load_dataimport pickledef sigmoid(x): return 1 / (1 + n...

2018-12-20 20:29:34 3283

原创 【机器学习】输出层的设计

神经网络可以用于分类和回归问题,但是最后在输出时需要根据情况来设定输出层的激活函数。一般来说,回归问题:恒等函数分类问题:softmax函数https://blog.csdn.net/u011240016/article/details/85121601恒等函数与softmax函数恒等函数:输入 = 输出softmax函数yk=exp(ak)∑i=1nexp(ai)y_k = ...

2018-12-20 16:02:59 2100

原创 【Numpy基础】矩阵数组相乘与神经网络的实现

# 矩阵乘以数组A = np.array([[1,2],[3,4],[5,6]])A.shape # (3, 2)B = np.array([7,8])B.shape # (2,)A.dot(B) # array([23, 53, 83])END.

2018-12-20 14:36:53 4713 2

原创 【深度学习】学习深度学习的最好方法

学习深度学习的最好方法亲自实现,从零开始编写能运行的程序,一遍看源代码一边思考。只有这样才能正确理解深度学习,才能对那些看起来很高级的技术有完整的理解。不依赖第三方库,从最基础的开始实现起,对于理解深度学习的意义重大。在看数学公式和理论无法理解时,可以尝试阅读源代码并运行,很多时候思路会变得清晰。以工程促进理论的学习,是AI非常重要的步骤。这一篇非常短,但是指明了方向,且作为一篇,时刻提...

2018-12-18 23:31:11 627

原创 【机器学习】回归案例实践:数据处理建模调参

# -*- coding: utf-8 -*-&quot;&quot;&quot;回归问题案例.ipynbAutomatically generated by Colaboratory.Original file is located at https://colab.research.google.com/drive/1l8xlYKSd8nljVVEEriZyoc0oivqMDWR0&quot;&quot;&quot;# 导入必要..

2018-12-18 22:40:48 1286

原创 【机器学习】hist参数解读

在对数据进行可视化时,用hist来查看单一特征是很重要的,结合着看多种图表,有助于获得对数据的进一步理解。本篇是对 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.hist.html 的翻译 + 个人笔记。先从它的定义看起,这个API太常用,所以有必要深入了解一下它的具体构成。DataFrame....

2018-12-18 19:37:16 8300

原创 【机器学习】算法调参

# -*- coding: utf-8 -*-"""算法调参.ipynbAutomatically generated by Colaboratory.Original file is located at https://colab.research.google.com/drive/1kILamn8ac8vii9GUkiWowl8TIFwl2MCv### 超参数优化这...

2018-12-18 16:12:34 1339

原创 【机器学习】集成算法使用样例

# -*- coding: utf-8 -*-"""集成算法.ipynbAutomatically generated by Colaboratory.Original file is located at https://colab.research.google.com/drive/1cr8C3JW8619DoKNb0nd9u7_RqfAlruTv**Bagged Dec...

2018-12-18 15:28:59 525

原创 【机器学习】流程模板

六个步骤:1.定义问题2.理解数据3.数据准备4.评估算法5.优化模型6.结果部署# 1.定义问题# a)导入类库# b)导入数据集# 2.理解数据# a) 描述性统计# b) 数据可视化# 3.数据准备# a) 数据清洗# b) 特征选择# c) 数据转换# 4.评估算法# a) 分离数据集 train_test_split# b) 定义模型评估标准...

2018-12-18 10:47:08 327

原创 【机器学习】一些模型的位置总结

模型包名说明LinearRegressionsklearn.linear_model线性回归模型Ridgesklearn.linear_model岭回归,对病态数据拟合强于最小二乘法Lassosklearn.linear_model套索回归ElasticNetsklearn.linear_mode弹性网络回归算法,是Ridge和Lasso的混...

2018-12-18 09:48:54 426

原创 【机器学习】选择模型

在完成特征选择之后,我们就可以用选择的特征来训练算法了,且能够得出准确度比较高的模型。现在的问题是,训练得到的模型,如何评估是好是坏呢?这就牵涉到本篇涉及的话题:模型选择。建立完模型,要去评估模型,这是机器学习流程必不可少的一部分,本篇就来讲讲如何评估模型的性能。在这里有个关键词叫重采样,其实含义就是用新的数据集来评估算法,也即训练集之外的数据,这实在太熟悉,也讲了太多次,从各个角度讲过。...

2018-12-18 00:39:00 588

TensorFlow for Deep Learning: From Linear Regression to Reinforcement Learning

2018.3月出版,完整326页,非预印版,找了很久的资料,分享给大家。

2018-03-14

Hands-On Machine Learning with Scikit-Learn and TensorFlow -- 2017.3月第一版 + 对应代码

Hands-On Machine Learning with Scikit-Learn and TensorFlow 2017.3月第一版的英文书以及对应的代码,亲测良心资源。

2018-01-28

Practical Python and OpenCV + Case Study均为第三版两本书用Python3

Python-OpenCV教程以及Case Study,均为第三版,用Python3

2017-12-11

2009~2016真题--不含选择题解析

看不惯某些人拿别人的免费文档要很高的下载分。

2016-11-25

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

TA关注的人

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