<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Gary___的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Gary___</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Gary___]]></copyright><item><title><![CDATA[探究余弦距离]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/82938020</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/82938020</guid><author>Gary___</author><pubDate>Thu, 04 Oct 2018 15:47:05 +0800</pubDate><description><![CDATA[探究余弦距离
《百面机器学习》笔记

余弦相似度可以作分析两个特征向量之间的相似性的一种度量指标。
由点积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∣...]]></description><category></category></item><item><title><![CDATA[LeetCode | 669.修剪二叉搜索树]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/82781331</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/82781331</guid><author>Gary___</author><pubDate>Thu, 20 Sep 2018 09:29:37 +0800</pubDate><description><![CDATA[LeetCode | 669.修剪二叉搜索树

给定一个二叉搜索树，同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树，使得所有节点的值在[L, R]中 (R&amp;gt;=L) 。你可能需要改变树的根节点，所以结果应当返回修剪好的二叉搜索树的新的根节点。



解答

首先要知道二叉搜索树的性质：根的值是大于左结点的值，小于右结点的值。
利用以上性质，可做以下的递归思想：
如果当前节点的值是小于L...]]></description><category></category></item><item><title><![CDATA[非极大值抑制（Non-Maximum Suppression，NMS）]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/82717530</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/82717530</guid><author>Gary___</author><pubDate>Sat, 15 Sep 2018 20:40:09 +0800</pubDate><description><![CDATA[非极大值抑制（Non-Maximum Suppression，NMS）


  在目标检测(object detection)任务中，常会利用非极大值抑制算法(NMS)对生成的大量候选框进行后处理，去除冗余的候选框，得到最具代表性的结果，以加快目标检测的效率。即如下图所示，消除多余的候选框，找到最佳的bbox。 
  


NMS的过程


1. 首先，从生成的大量候选框中，选出置信度(score...]]></description><category></category></item><item><title><![CDATA[Leetcode | 235. 二叉搜索树的最近公共祖先]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/82706988</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/82706988</guid><author>Gary___</author><pubDate>Fri, 14 Sep 2018 18:05:44 +0800</pubDate><description><![CDATA[Leetcode | 235. 二叉搜索树的最近公共祖先


  给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 
  百度百科中最近公共祖先的定义为：“对于有根树 T 的两个结点 p、q，最近公共祖先表示为一个结点 x，满足 x 是 p、q 的祖先且 x 的深度尽可能大（一个节点也可以是它自己的祖先）。” 
  例如，给定如下二叉搜索树:  root = [6,2,8,0,4,7,...]]></description><category></category></item><item><title><![CDATA[Leetcode | 404. 左叶子之和]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/82699902</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/82699902</guid><author>Gary___</author><pubDate>Fri, 14 Sep 2018 11:19:49 +0800</pubDate><description><![CDATA[Leetcode | 404. 左叶子之和


  计算给定二叉树的所有左叶子之和。




题目解答


只需使用深度优先遍历，找到全部左叶子即可。




/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *r...]]></description><category></category></item><item><title><![CDATA[Leetcode 653. | 两数之和 IV - 输入 BST]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/82698966</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/82698966</guid><author>Gary___</author><pubDate>Fri, 14 Sep 2018 10:40:35 +0800</pubDate><description><![CDATA[Leetcode 653. 两数之和 IV - 输入 BST


  给定一个二叉搜索树和一个目标结果，如果 BST 中存在两个元素且它们的和等于给定的目标结果，则返回 true。


题目解释

即从平衡二叉树中寻找两个数的和，如果等于target，则返回true，不存在则返回false。



题目解答


由BST的性质，BST的中序遍历得到的结果就是一个从小到大已经排好序的结果。
因此只要...]]></description><category></category></item><item><title><![CDATA[Keras-Tutorial(六)Keras实现Siamese Network]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/82467531</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/82467531</guid><author>Gary___</author><pubDate>Thu, 06 Sep 2018 20:24:48 +0800</pubDate><description><![CDATA[Keras实现Siamese Network


  Siamese Architecture是由LeCun在1993年发表的，在2005年LeCun用这种结构来训练人脸比对模型，获得不错结果。




网络介绍

如下图，Siamese的网络结构 
 
* 简单地来说，该网络将来处理一对样本，该对样本经过网络G，如果是同一类的样本，则距离会更近，而不同类别的之间的样本的距离会越来月远。 
* 训...]]></description><category></category></item><item><title><![CDATA[Keras-Tutorial(五)CNN，卷积神经网络]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/82148938</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/82148938</guid><author>Gary___</author><pubDate>Tue, 28 Aug 2018 15:38:31 +0800</pubDate><description><![CDATA[卷积神经网络Convolution Neural Network

简答介绍 
* CNN是一个模仿人类视觉原理的一个神经网络。 
* 与全连接网络相比，CNN可以更大效率的降低参数的数量。 
* 与全连接网络相比，CNN可以更好的提取图像的特征。



# 导入数据
import numpy as np
from keras.utils import to_categorical
from ke...]]></description><category></category></item><item><title><![CDATA[Leetcode | 171. Excel表列序号]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/82080543</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/82080543</guid><author>Gary___</author><pubDate>Sun, 26 Aug 2018 14:35:16 +0800</pubDate><description><![CDATA[Leetcode | 171. Excel表列序号


  给定一个长度为 n 的非空整数数组，找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 
  例如 
     A -&amp;gt; 1 
      B -&amp;gt; 2 
      C -&amp;gt; 3 
      … 
      Z -&amp;gt; 26 
      AA -&amp;gt; 27 
      A...]]></description><category></category></item><item><title><![CDATA[Leetcode | 453. 最小移动次数使数组元素相等]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/82080504</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/82080504</guid><author>Gary___</author><pubDate>Sun, 26 Aug 2018 14:30:08 +0800</pubDate><description><![CDATA[Leetcode | 453. 最小移动次数使数组元素相等


  给定一个长度为 n 的非空整数数组，找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1
  
  
  
  示例 
  输入: 
  [1,2,3] 
  输出: 
  3 
  解释: 
  只需要3次移动（注意每次移动会增加两个元素的值）： 
  [1,2,3]  =&amp;gt;  [2,3,3] ...]]></description><category></category></item><item><title><![CDATA[Keras-Tutorial(四): 避免过拟合]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/81983235</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/81983235</guid><author>Gary___</author><pubDate>Thu, 23 Aug 2018 16:24:49 +0800</pubDate><description><![CDATA[Keras-Tutorial: Overfitting_solutions(四)


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




导入数据集



# ...]]></description><category></category></item><item><title><![CDATA[Leetcode | 598. 范围求和 II]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/81978995</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/81978995</guid><author>Gary___</author><pubDate>Thu, 23 Aug 2018 12:47:22 +0800</pubDate><description><![CDATA[Leetcode | 598. 范围求和 II


  给定一个初始元素全部为 0，大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。 
  操作用二维数组表示，其中的每个操作用一个含有两个正整数 a 和 b 的数组表示，含义是将所有符合 0 &amp;lt;= i &amp;lt; a 以及 0 &amp;lt;= j &amp;lt; b 的元素 M[i][j] 的值都增加 1。 
  在执行给定的一系列操作后，你...]]></description><category></category></item><item><title><![CDATA[Keras-Tutorial(三)]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/81944004</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/81944004</guid><author>Gary___</author><pubDate>Wed, 22 Aug 2018 14:48:13 +0800</pubDate><description><![CDATA[Keras-Tutorial(三)


  在小数据集上使用K-fold validation为Regression Model寻找更好的超参数。
  上两讲中，我们都是进行分类任务。 
  这一讲中，我们使用神经网络建立一个回归模型进行房价预测。




数据集介绍

这一讲中，使用的是Boston房价数据集，该数据集讲述的是1970的中期阶段的房价。 
总共包含506个样本（404个训练样本，...]]></description><category></category></item><item><title><![CDATA[Keras-Tutorial(二)-IMDB Classification]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/81871729</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/81871729</guid><author>Gary___</author><pubDate>Mon, 20 Aug 2018 15:19:13 +0800</pubDate><description><![CDATA[Keras-Tutorial(二)


  使用Keras搭建网络进行IMDB影评的分类



建议在Jupyter Notebook/IPython上查看
建议将.ipynb文件fork下来，一步一步跟着mark 
github代码：https://github.com/Gary-Deeplearning/Keras-Tutorial
废话少说，直接上代码，代码都包含了注释




# codi...]]></description><category></category></item><item><title><![CDATA[Leetcode | 437. 路径总和 III]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/81869352</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/81869352</guid><author>Gary___</author><pubDate>Mon, 20 Aug 2018 12:50:12 +0800</pubDate><description><![CDATA[Leetcode | 437. 路径总和 III


  给定一个二叉树，它的每个结点都存放着一个整数值。 
  找出路径和等于给定数值的路径总数。 
  路径不需要从根节点开始，也不需要在叶子节点结束，但是路径方向必须是向下的（只能从父节点到子节点）。 
  二叉树不超过1000个节点，且节点数值范围是 [-1000000,1000000] 的整数。 
  示例 
  


题目解释

由题意可...]]></description><category></category></item><item><title><![CDATA[Keras-Tutorial-First Nerual Network(一)]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/81808066</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/81808066</guid><author>Gary___</author><pubDate>Sat, 18 Aug 2018 13:40:22 +0800</pubDate><description><![CDATA[Keras Tutorial(一)


  keras是一个深度学习高层api的框架，后端支持多种深度学习框架，如Tensorflow，适合初学者，和快速复现实验结果的研究者。


注意 
这个系列可能不会有太多的理论，主要为实战为主，代码我也有详细的注释，理论基础薄弱的同学们，可以先看一些网络模型的基础介绍，然后再回头看代码，会发现并不是那么难。



下面我们我们用keras建立我们的第一个浅...]]></description><category></category></item><item><title><![CDATA[机器学习之Logistic回归（二）]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/81807961</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/81807961</guid><author>Gary___</author><pubDate>Sat, 18 Aug 2018 13:22:06 +0800</pubDate><description><![CDATA[机器学习之Logistic回归（二）



1.1.4 Logistic Regression

logistic回归,虽然名称里带有“回归”的字样，但实际上是解决分类问题的线性模型，由条件概率P(Y|X)表示(下面以二分类为示例介绍)：P(Y|X)表示(下面以二分类为示例介绍)：P(Y|X)表示(下面以二分类为示例介绍)：
P(Y=1|x)=exp(w⋅x)1+exp(w⋅x)(1),P(Y=1...]]></description><category></category></item><item><title><![CDATA[Leetcode |  690. 员工的重要性]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/81806682</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/81806682</guid><author>Gary___</author><pubDate>Sat, 18 Aug 2018 10:58:40 +0800</pubDate><description><![CDATA[Leetcode 690. 员工的重要性


  给定一个保存员工信息的数据结构，它包含了员工唯一的id，重要度 和 直系下属的id。 
  比如，员工1是员工2的领导，员工2是员工3的领导。他们相应的重要度为15, 10, 5。那么员工1的数据结构是[1, 15, [2]]，员工2的数据结构是[2, 10, [3]]，员工3的数据结构是[3, 5, []]。注意虽然员工3也是员工1的一个下属，但...]]></description><category></category></item><item><title><![CDATA[Leercode | 844. 比较含退格的字符串]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/81738683</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/81738683</guid><author>Gary___</author><pubDate>Thu, 16 Aug 2018 11:35:36 +0800</pubDate><description><![CDATA[Leetcode 844. 比较含退格的字符串


  给定 S 和 T 两个字符串，当它们分别被输入到空白的文本编辑器后，判断二者是否相等，并返回结果。 # 代表退格字符。
  
  


示例1 
输入：S = “ab#c”, T = “ad#c” 
输出：true 
解释：S 和 T 都会变成 “ac”。



示例2 
输入：S = “ab##”, T = “c#d#” 
输出：true ...]]></description><category></category></item><item><title><![CDATA[Effective Python(二)]]></title><link>https://blog.youkuaiyun.com/Gary___/article/details/81710701</link><guid>https://blog.youkuaiyun.com/Gary___/article/details/81710701</guid><author>Gary___</author><pubDate>Wed, 15 Aug 2018 20:40:34 +0800</pubDate><description><![CDATA[Effective Python(二)



第九条：用生成器表达式来改写数据量较大的列表推导。


  当数据量很大时，如果使用普通的列表推导，会一次性将所有数据存储到内存中，站用量大。
  为了解决此问题，python提供了生成器表达式(generator expression).




&amp;gt;&amp;gt;&amp;gt; a = [1, 2, 3, 4, 5, 6]
&amp;gt;&amp;gt;&amp;gt; it ...]]></description><category></category></item></channel></rss>