探究余弦距离 探究余弦距离《百面机器学习》笔记余弦相似度可以作分析两个特征向量之间的相似性的一种度量指标。由点积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∣...
LeetCode | 669.修剪二叉搜索树 LeetCode | 669.修剪二叉搜索树给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。解答首先要知道二叉搜索树的性质:根的值是大于左结点的值,小于右结点的值。利用以上性质,可做以下的递归思想:如果当前节点的值是小于L...
非极大值抑制(Non-Maximum Suppression,NMS) 非极大值抑制(Non-Maximum Suppression,NMS) 在目标检测(object detection)任务中,常会利用非极大值抑制算法(NMS)对生成的大量候选框进行后处理,去除冗余的候选框,得到最具代表性的结果,以加快目标检测的效率。即如下图所示,消除多余的候选框,找到最佳的bbox。 NMS的过程1. 首先,从生成的大量候选框中,选出置信度(score...
Leetcode | 235. 二叉搜索树的最近公共祖先 Leetcode | 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,...
Leetcode | 404. 左叶子之和 Leetcode | 404. 左叶子之和 计算给定二叉树的所有左叶子之和。题目解答只需使用深度优先遍历,找到全部左叶子即可。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *r...
Leetcode 653. | 两数之和 IV - 输入 BST Leetcode 653. 两数之和 IV - 输入 BST 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。题目解释即从平衡二叉树中寻找两个数的和,如果等于target,则返回true,不存在则返回false。题目解答由BST的性质,BST的中序遍历得到的结果就是一个从小到大已经排好序的结果。因此只要...
Keras-Tutorial(六)Keras实现Siamese Network Keras实现Siamese Network Siamese Architecture是由LeCun在1993年发表的,在2005年LeCun用这种结构来训练人脸比对模型,获得不错结果。网络介绍如下图,Siamese的网络结构 * 简单地来说,该网络将来处理一对样本,该对样本经过网络G,如果是同一类的样本,则距离会更近,而不同类别的之间的样本的距离会越来月远。 * 训...
Keras-Tutorial(五)CNN,卷积神经网络 卷积神经网络Convolution Neural Network简答介绍 * CNN是一个模仿人类视觉原理的一个神经网络。 * 与全连接网络相比,CNN可以更大效率的降低参数的数量。 * 与全连接网络相比,CNN可以更好的提取图像的特征。# 导入数据import numpy as npfrom keras.utils import to_categoricalfrom ke...
Leetcode | 171. Excel表列序号 Leetcode | 171. Excel表列序号 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 例如 A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 A...
Leetcode | 453. 最小移动次数使数组元素相等 Leetcode | 453. 最小移动次数使数组元素相等 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1 示例 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] ...
Keras-Tutorial(四): 避免过拟合 Keras-Tutorial: Overfitting_solutions(四) 通俗点说法,过拟合就是在训练集下的表现过于优越,导致在验证集或在测试集上的表现不佳。 在神经网络中,有一个普遍的现象可以说明是出现了过拟合,当val_loss达到一个最低值的时候突然回升,val_loss不断升高。 以下,我们针对这一现象来提出一些入门级的解决方法。导入数据集# ...
Leetcode | 598. 范围求和 II Leetcode | 598. 范围求和 II 给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。 在执行给定的一系列操作后,你...
Keras-Tutorial(三) Keras-Tutorial(三) 在小数据集上使用K-fold validation为Regression Model寻找更好的超参数。 上两讲中,我们都是进行分类任务。 这一讲中,我们使用神经网络建立一个回归模型进行房价预测。数据集介绍这一讲中,使用的是Boston房价数据集,该数据集讲述的是1970的中期阶段的房价。 总共包含506个样本(404个训练样本,...
Keras-Tutorial(二)-IMDB Classification Keras-Tutorial(二) 使用Keras搭建网络进行IMDB影评的分类建议在Jupyter Notebook/IPython上查看建议将.ipynb文件fork下来,一步一步跟着mark github代码:https://github.com/Gary-Deeplearning/Keras-Tutorial废话少说,直接上代码,代码都包含了注释# codi...
Leetcode | 437. 路径总和 III Leetcode | 437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。 示例 题目解释由题意可...
Keras-Tutorial-First Nerual Network(一) Keras Tutorial(一) keras是一个深度学习高层api的框架,后端支持多种深度学习框架,如Tensorflow,适合初学者,和快速复现实验结果的研究者。注意 这个系列可能不会有太多的理论,主要为实战为主,代码我也有详细的注释,理论基础薄弱的同学们,可以先看一些网络模型的基础介绍,然后再回头看代码,会发现并不是那么难。下面我们我们用keras建立我们的第一个浅...
机器学习之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...
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的一个下属,但...
Leercode | 844. 比较含退格的字符串 Leetcode 844. 比较含退格的字符串 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。 示例1 输入:S = “ab#c”, T = “ad#c” 输出:true 解释:S 和 T 都会变成 “ac”。示例2 输入:S = “ab##”, T = “c#d#” 输出:true ...
Effective Python(二) Effective Python(二)第九条:用生成器表达式来改写数据量较大的列表推导。 当数据量很大时,如果使用普通的列表推导,会一次性将所有数据存储到内存中,站用量大。 为了解决此问题,python提供了生成器表达式(generator expression).>>> a = [1, 2, 3, 4, 5, 6]>>> it ...