<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wangc1994的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wangc1994</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangc1994]]></copyright><item><title><![CDATA[R-CNN]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/102544086</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/102544086</guid><author>wangc1994</author><pubDate>Wed, 16 Oct 2019 10:38:44 +0800</pubDate><description><![CDATA[R-CNN
R-CNN 是基于卷积神经网络(CNN)，线性回归和支持向量机(SVM)等算法实现目标检测技术的算法。
什么是目标检测
对象识别，给定一张图片可以识别出类别，而目标检测除了识别类别之外，还要找到对象的位置。

R-CNN 的提出
R-CNN 论文的作者受到 AlexNet 的启发，尝试将 AlexNet 在 ImageNet 目标识别的能力泛化到目标检测上面来，但需要解决两个主要的问题...]]></description><category></category></item><item><title><![CDATA[R-CNN：Bounding-Box 回归]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/102578749</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/102578749</guid><author>wangc1994</author><pubDate>Wed, 16 Oct 2019 10:02:12 +0800</pubDate><description><![CDATA[为什么要使用 Bounding-Box 回归 ？
使用 Bounding-Box 回归是 R-CNN 对目标准确定位的关键，能够通过微调的方式减小预测窗口与 Ground Truth 之间的误差。

如上图所示，红色框和绿色框分别表示检测目标的 Region Proposal 和真实的 Ground Truth，红色框虽然把目标识别为飞机，但与绿色框的重合度 IoU &lt; 0.5，这张图还是相...]]></description><category></category></item><item><title><![CDATA[Selective Search 选择性搜索算法原理]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/102548037</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/102548037</guid><author>wangc1994</author><pubDate>Mon, 14 Oct 2019 17:39:36 +0800</pubDate><description><![CDATA[1. 什么是 Selective Search ?
简单说，就是从图片中找出物体可能存在的区域，下面宇航员图片中红色框就是 selective search 找出来的可能存在物体的区域，

2. 与传统的目标检测算法相比

传统的目标检测算法一般是图片上使用穷举法或者滑动窗口选出所有物体可能出现的区域框，对这些区域框提取特征并进行使用图像识别分类方法，得到所有分类成功的区域后，通过非极大值抑制输出...]]></description><category></category></item><item><title><![CDATA[ResNet]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/102481095</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/102481095</guid><author>wangc1994</author><pubDate>Mon, 14 Oct 2019 09:45:14 +0800</pubDate><description><![CDATA[一、综述
ResNet 最根本的动机是所谓的退化问题，即当模型的层次加深时，错误率却提高了。

一般认为，随着模型的深度加深，学习能力增强，但上图表明：常规的网络堆叠在网络很深的时候，效果却越来越差。这其中的原因之一是网络越深，梯度消失的现象就越来越明显。
于是，作者提出了一种 Residual 残差结构。

即通过在输出和输入之间引入一个 shortcut connection，而不是简单的堆叠...]]></description><category></category></item><item><title><![CDATA[GoogLeNet]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/102474520</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/102474520</guid><author>wangc1994</author><pubDate>Thu, 10 Oct 2019 11:47:48 +0800</pubDate><description><![CDATA[GoogLeNet 网络
GoogLeNet 是由谷歌为了参加 ILSVRC 2014 大赛而开发的，并在挑战赛上获得了冠军，将 Top5 的错误率降低到 6.67%，总体上是一个 22 层的深度网络 。
一般来说，提升网络性能最直接的办法就是增加网络深度和宽度，但这也意味着更多的参数，这容易带来过拟合，也大大增加了计算量。GoogLeNet 论文认为解决上述两个缺点的根本方法是将全连接层甚至一般...]]></description><category></category></item><item><title><![CDATA[VGGNet]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/102468867</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/102468867</guid><author>wangc1994</author><pubDate>Thu, 10 Oct 2019 09:03:25 +0800</pubDate><description><![CDATA[VGG 网络
VGG 网络的提出目的是为了探究在大规模图像识别任务中，卷积网络深度对模型精确度有何影响；VGG模型是2014年 ILSVRC 竞赛的第二名，第一名是 GoogLeNet。但是 VGG 模型在多个迁移学习任务中的表现要优于 googLeNet。而且，从图像中提取CNN特征，VGG 模型是首选算法。
网络结构
VGG 网络根据卷积核大小和卷积层数目的不同，可分为 A，A-LRN，B，C...]]></description><category></category></item><item><title><![CDATA[AlexNet]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/102465755</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/102465755</guid><author>wangc1994</author><pubDate>Wed, 09 Oct 2019 19:51:23 +0800</pubDate><description><![CDATA[AlexNet 网络
AlexNet 网络是在 LeNet5 网络之后第一个引起大家注意的网络，因其在 ImageNet 大赛上的出色发挥而受到关注；AlexNet 在结构上类似于 LeNet5，但在细节上有很大的不同，AlexNet 的网络更为复杂。

AlexNet 首先将网络分为两部分，分别对应两个 GPU，直到特定的网络层后两个部分才会发生交互，这样设置提高了运算的效率。
两部分网络在结构...]]></description><category></category></item><item><title><![CDATA[深度学习笔记（二）：各种梯度下降优化算法总结]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/102371717</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/102371717</guid><author>wangc1994</author><pubDate>Tue, 08 Oct 2019 16:40:38 +0800</pubDate><description><![CDATA[1. 批量梯度下降 (Batch Gradient Descent)
定义代价函数为所有样本的代价
J(θ)=12m∑i=1m(hθ(x(i))−y(i))2J(\theta)=\frac{1}{2m}\sum^m_{i=1}(h_{\theta}(x^{(i)})-y^{(i)})^2J(θ)=2m1​i=1∑m​(hθ​(x(i))−y(i))2
θj=θj−α⋅∇θjJ(θ)　　(for　j...]]></description><category></category></item><item><title><![CDATA[深度学习笔记（一）：神经网络的反向传播算法]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/102301182</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/102301182</guid><author>wangc1994</author><pubDate>Mon, 07 Oct 2019 15:35:58 +0800</pubDate><description><![CDATA[前向传播神经网络的目标函数
对于一系列的训练样本 X，期望的输入为 t=(t1,...,tc)t=(t_1,...,t_c)t=(t1​,...,tc​)，网络的实际输出 z=(z1,...,zc)z=(z_1,...,z_c)z=(z1​,...,zc​)，定义目标函数为
J(w)=12∣∣t−z∣∣2=12∑k=1c(tk−zk)2J(w)=\frac{1}{2}||t-z||^2=\frac...]]></description><category></category></item><item><title><![CDATA[滑动平均模型原理]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/100805777</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/100805777</guid><author>wangc1994</author><pubDate>Fri, 13 Sep 2019 18:20:29 +0800</pubDate><description><![CDATA[滑动平均算法的原理
滑动平均模型又称为指数加权平均算法，是一种对数据的估测方式，它的好处是可以使数据更加平滑，数据噪声更少，不会出现异常值。

举例来说，这是来自吴恩达老师的深度学习课程中的一个例子，上图表示了一年365天的温度散点图，以天数为横坐标，温度为纵坐标，大致看来图中的点遵循一定的曲线规律，但不明显。
为了使温度变化的趋势更加明显，需要用到滑动平均模型，具体的计算方式如下：

首先给定一...]]></description><category></category></item><item><title><![CDATA[kaggle 房价预测比赛项目（二）：使用集成学习方法提高排名]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/100771149</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/100771149</guid><author>wangc1994</author><pubDate>Thu, 12 Sep 2019 17:16:54 +0800</pubDate><description><![CDATA[集成学习
使用单个模型进行预测还不能达到最好的效果，因此考虑使用集成学习的方法来进一步减小误差。
集成学习就是不同模型的堆叠与集成，并且选择最优参数
以下集成学习中会用到 13 个模型，首先导入需要用到的包：
from sklearn.model_selection import cross_val_score, GridSearchCV, KFold
from sklearn.linear_mo...]]></description><category></category></item><item><title><![CDATA[kaggle 房价预测比赛项目（一）：数据处理，特征选择]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/100760804</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/100760804</guid><author>wangc1994</author><pubDate>Thu, 12 Sep 2019 17:16:32 +0800</pubDate><description><![CDATA[房价预测是 kaggle 上的入门比赛，总的来说就是给你 79 个关于房价的特征，然后根据特征预测房价。房价预测的评价指标是均方根误差(RMSE)，即：

1. 数据探索性分析
首先使用 pandas 模块读取数据
import pandas as pd

train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")

分别显示...]]></description><category></category></item><item><title><![CDATA[Python 学习笔记（十七）：并发编程之多线程]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/99325653</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/99325653</guid><author>wangc1994</author><pubDate>Tue, 13 Aug 2019 20:09:06 +0800</pubDate><description><![CDATA[一、线程
线程的基本概念
1. 什么是线程
【1】 线程被称为轻量级的进程
【2】 线程也可以使用计算机多核资源,是多任务编程方式
【3】 线程是系统分配内核的最小单元
【4】 线程可以理解为进程的分支任务
2. 线程特征
【1】 一个进程中可以包含多个线程
【2】 线程也是一个运行行为,消耗计算机资源
【3】 一个进程中的所有线程共享这个进程的资源（变量）
【4】 多个线程之间的运行互不影响各自...]]></description><category></category></item><item><title><![CDATA[Python 学习笔记（十六）：并发编程之多进程]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/99071551</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/99071551</guid><author>wangc1994</author><pubDate>Tue, 13 Aug 2019 20:08:38 +0800</pubDate><description><![CDATA[一、进程（process)
进程理论基础
1. 什么是进程？
进程 是程序运行在计算机中这种动态过程的描述，它会占有计算机运行资源，具有一定的生命周期。
2. 进程是如何产生的？
【1】 用户空间通过调用程序接口或者命令发起请求
【2】 操作系统接收用户请求,开始创建进程
【3】 操作系统调配计算机资源,确定进程状态等
【4】 操作系统将创建的进程提供给用户使用
3. 进程的一些基本概念

cpu...]]></description><category></category></item><item><title><![CDATA[Python 学习笔记（十五）：浅拷贝与深拷贝]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/98961588</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/98961588</guid><author>wangc1994</author><pubDate>Sat, 10 Aug 2019 13:45:24 +0800</pubDate><description><![CDATA[Python 的引用计数
Python 内不可变对象的内存管理方式是引用计数，Python 不会对值相同的不可变对象申请单独的内存空间，只会记录它的引用次数，如：
import copy
a = "ironman"
b = a
c = copy.copy(a)
d = copy.deepcopy(a)

print("原字符串&gt;&gt;", id(a))
print("赋值操作&gt;&gt...]]></description><category></category></item><item><title><![CDATA[Python 学习笔记（十四）： 装饰器]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/98981691</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/98981691</guid><author>wangc1994</author><pubDate>Sat, 10 Aug 2019 11:24:57 +0800</pubDate><description><![CDATA[装饰器
装饰器是 Python 中的一种特殊工具，他可以在不改变原函数的调用以及内部代码情况下，为其添加新功能的函数，简而言之就是一种修改其他函数的功能的函数。

先讨论几个python函数的概念
1. 函数中定义函数
首先我们讨论一下在函数中定义函数，示例如下
def f1():
    print("now you are in the f1()")

    def f2():
      ...]]></description><category></category></item><item><title><![CDATA[python 网络编程基础]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/94643994</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/94643994</guid><author>wangc1994</author><pubDate>Fri, 05 Jul 2019 09:04:45 +0800</pubDate><description><![CDATA[网络模型
OSI 七层模型
应用层 : 提供用户服务，具体功能有应用程序实现  
表示层 : 数据的压缩优化加密  
会话层 : 建立用户级的连接，选择适当的传输服务  
传输层 : 提供传输服务   
网络层 : 路由选择，网络互联   
链路层 : 进行数据交换，控制具体数据的发送  
物理层 : 提供数据传输的硬件保证，网卡接口，传输介质

1. 物理层

OSI模型的最底层，包括物理联网媒...]]></description><category></category></item><item><title><![CDATA[Python 学习笔记（十三）：内置高阶函数]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/93630336</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/93630336</guid><author>wangc1994</author><pubDate>Tue, 25 Jun 2019 20:18:48 +0800</pubDate><description><![CDATA[python 内置高阶函数
1. map 函数
使用可迭代对象中的每个元素调用函数，将返回值作为新可迭代对象元素；返回值为新可迭代对象。

语法：

re = map(函数， 可迭代对象)


实例

&gt;&gt;&gt; list01 = ['a', 'b', 'c', 'd']
&gt;&gt;&gt; re = map(lambda x: x.upper(), list01)
&gt;&...]]></description><category></category></item><item><title><![CDATA[Python 学习笔记（十二）：生成器 generator]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/93294960</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/93294960</guid><author>wangc1994</author><pubDate>Sat, 22 Jun 2019 10:29:56 +0800</pubDate><description><![CDATA[生成器

一种能够动态(循环一次计算一次返回一次)提供数据的可迭代对象。在循环过程中，按照某种算法推算数据，不必创建容器存储完整的结果，从而节省内存空间。数据量越大，优势越明显。以上作用也称之为延迟操作或惰性操作，通俗的讲就是在需要的时候才计算结果，而不是一次构建出所有结果。

生成器和迭代器

所有的生成器都是迭代器，因为生成器完全实现了迭代器接口；但两者也有所不同，迭代器用于从可迭代对象（如集...]]></description><category></category></item><item><title><![CDATA[Python 学习笔记（十一）：面向对象编程（类的特殊操作）]]></title><link>https://blog.youkuaiyun.com/wangc1994/article/details/90937905</link><guid>https://blog.youkuaiyun.com/wangc1994/article/details/90937905</guid><author>wangc1994</author><pubDate>Thu, 06 Jun 2019 13:04:27 +0800</pubDate><description><![CDATA[1.访问可见性问题

对象属性的访问权限包括私有的、受保护的和公开的，而对象的方法通常是公开的。如果希望属性是私有的，即不允许外界访问，在给属性命名时可以用两个下划线作为开头，如：

class Student():

    def __init__(self, name, foo):
        self.name = name
        self.__foo = foo

prop...]]></description><category></category></item></channel></rss>