自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 探究余弦距离

探究余弦距离《百面机器学习》笔记余弦相似度可以作分析两个特征向量之间的相似性的一种度量指标。由点积a∗b=∣∣a∣∣∗∣∣b∣∣cos⁡θa*b=||a|| * ||b|| \cos\thetaa∗b=∣∣a∣∣∗∣∣b∣∣cosθ可知两个向量的夹角的余弦值为cos⁡θ=ab∣∣a∣∣2∣∣b∣∣2\cos\theta=\frac{ab}{||a||_2||b||_2}cosθ=∣∣a∣...

2018-10-04 15:47:05 1614 1

原创 LeetCode | 669.修剪二叉搜索树

LeetCode | 669.修剪二叉搜索树给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。解答首先要知道二叉搜索树的性质:根的值是大于左结点的值,小于右结点的值。利用以上性质,可做以下的递归思想:如果当前节点的值是小于L...

2018-09-20 09:29:37 346

原创 非极大值抑制(Non-Maximum Suppression,NMS)

非极大值抑制(Non-Maximum Suppression,NMS) 在目标检测(object detection)任务中,常会利用非极大值抑制算法(NMS)对生成的大量候选框进行后处理,去除冗余的候选框,得到最具代表性的结果,以加快目标检测的效率。即如下图所示,消除多余的候选框,找到最佳的bbox。 NMS的过程1. 首先,从生成的大量候选框中,选出置信度(score...

2018-09-15 20:40:09 778

原创 Leetcode | 235. 二叉搜索树的最近公共祖先

Leetcode | 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,...

2018-09-14 18:05:44 338

原创 Leetcode | 404. 左叶子之和

Leetcode | 404. 左叶子之和 计算给定二叉树的所有左叶子之和。题目解答只需使用深度优先遍历,找到全部左叶子即可。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *r...

2018-09-14 11:19:49 220

原创 Leetcode 653. | 两数之和 IV - 输入 BST

Leetcode 653. 两数之和 IV - 输入 BST 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。题目解释即从平衡二叉树中寻找两个数的和,如果等于target,则返回true,不存在则返回false。题目解答由BST的性质,BST的中序遍历得到的结果就是一个从小到大已经排好序的结果。因此只要...

2018-09-14 10:40:35 471

原创 Keras-Tutorial(六)Keras实现Siamese Network

Keras实现Siamese Network Siamese Architecture是由LeCun在1993年发表的,在2005年LeCun用这种结构来训练人脸比对模型,获得不错结果。网络介绍如下图,Siamese的网络结构 * 简单地来说,该网络将来处理一对样本,该对样本经过网络G,如果是同一类的样本,则距离会更近,而不同类别的之间的样本的距离会越来月远。 * 训...

2018-09-06 20:24:48 3270 2

原创 Keras-Tutorial(五)CNN,卷积神经网络

卷积神经网络Convolution Neural Network简答介绍 * CNN是一个模仿人类视觉原理的一个神经网络。 * 与全连接网络相比,CNN可以更大效率的降低参数的数量。 * 与全连接网络相比,CNN可以更好的提取图像的特征。# 导入数据import numpy as npfrom keras.utils import to_categoricalfrom ke...

2018-08-28 15:38:31 806

原创 Leetcode | 171. Excel表列序号

Leetcode | 171. Excel表列序号 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 例如 A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 A...

2018-08-26 14:35:16 284

原创 Leetcode | 453. 最小移动次数使数组元素相等

Leetcode | 453. 最小移动次数使数组元素相等 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1 示例 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] ...

2018-08-26 14:30:08 819

原创 Keras-Tutorial(四): 避免过拟合

Keras-Tutorial: Overfitting_solutions(四) 通俗点说法,过拟合就是在训练集下的表现过于优越,导致在验证集或在测试集上的表现不佳。 在神经网络中,有一个普遍的现象可以说明是出现了过拟合,当val_loss达到一个最低值的时候突然回升,val_loss不断升高。 以下,我们针对这一现象来提出一些入门级的解决方法。导入数据集# ...

2018-08-23 16:24:49 5344

原创 Leetcode | 598. 范围求和 II

Leetcode | 598. 范围求和 II 给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。 在执行给定的一系列操作后,你...

2018-08-23 12:47:22 370

原创 Keras-Tutorial(三)

Keras-Tutorial(三) 在小数据集上使用K-fold validation为Regression Model寻找更好的超参数。 上两讲中,我们都是进行分类任务。 这一讲中,我们使用神经网络建立一个回归模型进行房价预测。数据集介绍这一讲中,使用的是Boston房价数据集,该数据集讲述的是1970的中期阶段的房价。 总共包含506个样本(404个训练样本,...

2018-08-22 14:48:13 466

原创 Keras-Tutorial(二)-IMDB Classification

Keras-Tutorial(二) 使用Keras搭建网络进行IMDB影评的分类建议在Jupyter Notebook/IPython上查看建议将.ipynb文件fork下来,一步一步跟着mark github代码:https://github.com/Gary-Deeplearning/Keras-Tutorial废话少说,直接上代码,代码都包含了注释# codi...

2018-08-20 15:19:13 404

原创 Leetcode | 437. 路径总和 III

Leetcode | 437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 示例 题目解释由题意可...

2018-08-20 12:50:12 311

原创 Keras-Tutorial-First Nerual Network(一)

Keras Tutorial(一) keras是一个深度学习高层api的框架,后端支持多种深度学习框架,如Tensorflow,适合初学者,和快速复现实验结果的研究者。注意 这个系列可能不会有太多的理论,主要为实战为主,代码我也有详细的注释,理论基础薄弱的同学们,可以先看一些网络模型的基础介绍,然后再回头看代码,会发现并不是那么难。下面我们我们用keras建立我们的第一个浅...

2018-08-18 13:40:22 287

原创 机器学习之Logistic回归(二)

机器学习之Logistic回归(二)1.1.4 Logistic Regressionlogistic回归,虽然名称里带有“回归”的字样,但实际上是解决分类问题的线性模型,由条件概率P(Y|X)表示(下面以二分类为示例介绍):P(Y|X)表示(下面以二分类为示例介绍):P(Y|X)表示(下面以二分类为示例介绍):P(Y=1|x)=exp(w⋅x)1+exp(w⋅x)(1),P(Y=1...

2018-08-18 13:22:06 332

原创 Leetcode | 690. 员工的重要性

Leetcode 690. 员工的重要性 给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id。 比如,员工1是员工2的领导,员工2是员工3的领导。他们相应的重要度为15, 10, 5。那么员工1的数据结构是[1, 15, [2]],员工2的数据结构是[2, 10, [3]],员工3的数据结构是[3, 5, []]。注意虽然员工3也是员工1的一个下属,但...

2018-08-18 10:58:40 484

原创 Leercode | 844. 比较含退格的字符串

Leetcode 844. 比较含退格的字符串 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。 示例1 输入:S = “ab#c”, T = “ad#c” 输出:true 解释:S 和 T 都会变成 “ac”。示例2 输入:S = “ab##”, T = “c#d#” 输出:true ...

2018-08-16 11:35:36 275

原创 Effective Python(二)

Effective Python(二)第九条:用生成器表达式来改写数据量较大的列表推导。 当数据量很大时,如果使用普通的列表推导,会一次性将所有数据存储到内存中,站用量大。 为了解决此问题,python提供了生成器表达式(generator expression).>>> a = [1, 2, 3, 4, 5, 6]>>> it ...

2018-08-15 20:40:34 216

原创 机器学习之广义线性模型(一)

1.1 广义线性模型1.1.1 普通最小二乘法最小二乘法很经常用在线性回归Linear Regression,y^=Xw+by^=Xw+b\hat{y}=Xw+b中,LR是用来拟合一个w=(w1,w2,w3,...)w=(w1,w2,w3,...)w=(w_1, w_2, w_3, ...)的线性模型,而最小二乘法在其中的作用是用来计算预测值和实际值之间的残差平法和,并且使其最小,其中...

2018-08-15 12:54:12 708

原创 leetcode | 455. 分发饼干

leetcode | 455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这...

2018-08-15 11:26:46 783

原创 特征工程之特征选择(三)

特征工程之特征选择(三)3.Embedded3.1 基于L1正则(惩罚项)的特征选择有过一点机器学习基础的同学都知道,将L1正则放置于cost function中,会起到特征选择的作用,它会使某些系数变为0,从而得到稀疏解,也起到一个降维的作用。L1-norm: ∣∣w∣∣1=∑i∣xi∣∣∣w∣∣1=∑i∣xi∣\mid\mid{w}\mid\mid_1=\sum_i\mi...

2018-08-13 18:09:41 1041

原创 Leetcode 108. 将有序数组转换为二叉搜索树

Leetcode 108. 将有序数组转换为二叉搜索树 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例 题目解释:如题所示,将数组转换位平衡二叉树,何为平衡二叉树?即左右子树高度值最大相差1.解答方法1. 由于要保存高度平衡,即树根的左右...

2018-08-13 11:36:16 516 1

原创 特征工程之特征选择(二)

特征工程之特征选择(二)2. Wrapper Method(包装特征选择算法)2.1递归式(或称循环式)特征消除(Recursive Feature Elimination, RFE)1. RFE是一种基于一种机器算法模型如Logistic Regression, SVM等模型进行多轮训练,每次训练都会消除一些特征,然后再从剩下的特征中在重重的训练和消除不中的特征。在这里对特征...

2018-08-12 12:54:55 1362

原创 Leetcode 590. N叉树的后序遍历

Leetcode 590. N叉树的后序遍历 给定一个N叉树,返回其节点值的后序遍历。 例如,给定一个 3叉树 : 返回其后序遍历:[5,6,3,2,4,1]. 说明: 递归法很简单,你可以使用迭代法完成此题吗?题目解释 在之前的一些文章中,我曾提过二叉搜索树的后序遍历:左->右->根。现在为N叉树,意思也是一样的,即先从最左边的孩子一直...

2018-08-12 11:37:37 1696

原创 Leetcode 575. 分糖果

Leetcode 575. 分糖果 给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。 示例1 输入: candies = [1,1,2,2,3,3] 输出: 3 解析: 一共有三种种类的糖果,每一种都有两个。 最优分配方案:妹妹获得[1...

2018-08-11 11:27:07 570

原创 Leetcode 257. 二叉树的所有路径

Leetcode 257. 二叉树的所有路径 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例 题目解答从题意来看,就是从二叉树的根节点开始,找出随意往不同方向一路到达不同叶子节点的所有路径。解题方法可想而知,这种类型的题目,个人觉得深度优先搜索(Depth-First-Search)是最适合的了。忘记...

2018-08-11 11:10:05 857

原创 Effective Python(一)

Effective Python(一)第八条: 不要使用含有两个以上(不包含两个)表达式的列表推导示例一: 把矩阵或二维列表转化为一维列表>>> matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]>>> flat = [x for row in matrix for x in row]&gt...

2018-08-11 11:08:08 404

原创 特征工程之特征选择(一)

特征工程之特征选择(一) 在上一讲的数据预处理后,我们可以进行有意义的特征进行选择。1、Filter Method1.1 方差(Variance)选择法方差:在概率学里,方差是衡量随机变量或一组数据的离散程度,值越大,离散程度越大。 那么在数据分析/机器学习中,某个特征的数据的方差值越小,则说明这个值的离散程度很小,变化程度小,因此有很多大概率对target的影响没...

2018-08-10 17:22:31 810

原创 Leetcode 637.二叉树的层平均值

Leetcode 637.二叉树的层平均值 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例1: 题目解释 从题意来看,这个就是二叉树层次遍历的变种题,所以如果掌握了二叉树的层次遍历,这个问题就迎刃而解。方法解答 教科书般的解答,层次遍历,最先想到的肯定是队列。忘记了的同学赶紧捡起书本好好的复习一下。 代码:...

2018-08-10 13:56:34 486

空空如也

空空如也

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

TA关注的人

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