Convolutional Neural Network CNN 卷积神经网络 1. 为什么要用CNN? CNN一般都是用来做图像识别的,当然其他的神经网络也可以做,也就是输入一张图的像素数组(pixel vector),最后输出n个分类(dimension). 但是为什么不用Fully Connected Network呢,主要原因还是因为前后各层涉及到的参数太多了. 所以CNN主要就是简化神经网络的架构,使其比一般的DNN都要简单.这是第一点原因. 网络中的每一个神经元都可以看做是一个Cla…
深度学习课程笔记(一)CNN 解析篇 相关资料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html 首先提到 Why CNN for Image ? 综合上述三个特点,我们可以看到图像识别有如下的特色: =================================== 分割线 ======================================================= 以上就是整体上来感受下深度神经网络,接下…
Andrew Ng机器学习课程12 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 引言:主要讲述了batch learning和online learning的区别,然后介绍了经典的非监督算法:k-means算法.然后介绍了混合高斯模型以及求解时采用的EM算法.本文是基于lecture notes进行的总结,等上完视频课,会通过12课补充来丰富这些内容. 2015-9-29 艺少…
该博客将介绍机器学习课程by李宏毅的前两个章节:概述和回归. 视屏链接1-Introduction 视屏链接2-Regression 该课程将要介绍的内容如下所示: 从最左上角开始看: Regression(回归):输出的目标是一个数值.如预测明天的PM2.5数值. 接下来是Classification(分类):该任务的目标是将数据归为某一类,如进行猫狗分类. 在分类任务中,将涉及线性和非线性的模型.其中,非线性的模型包含了Deep-Learning,SVM,决策树,K-NN等等. 结构化学习相…
卷积神经网络 之前的一些都是考虑多层感知器算法设计相关的问题,这次是说一个多层感知器结构布局相关的问题.来总结卷积神经网络.对于模式分类非常合适.网络的提出所隐含的思想收到了神经生物学的启发. 第一个卷积网络是为了识别二维形状而特殊设计的一个多层感知器,这种二维形状对平移.比例缩放.倾斜或者其他形式的变形具有高度不变性.这个艰巨的任务是通过如下网络在监督方式下学会的,网络的结构包括如下形式的约束. 特征提取.每一个神经元从上一层的局部接收域得到突触输入,因而迫使它提取局部特征.一旦一个特征被提取…
神经网络的表现 在Training Set上表现不好 ----> 可能陷入局部最优 在Testing Set上表现不好 -----> Overfitting 过拟合 虽然在机器学习中,很容易通过SVM等方法在Training Set上得出好的结果,但DL不是,所以得先看Training Set上的表现. 要注意方法适用的阶段: 比如:dropout方法只适合于:在Training Data上表现好,在Testing Data上表现不好的. 如果在Training Data上就表现不好了,那么这…
3.1 configuration 3.2 寻找最优网络参数 代码示例: # 1.Step 1 model = Sequential() model.add(Dense(input_dim=28*28, output_dim=500)) # Dense是全连接 model.add(Activation('sigmoid')) model.add(Dense(output_dim=500)) model.add(Activation('sigmoid')) model.add(Dense(outp…
深度学习发展历史: 感知机和逻辑回归很像,只是没有\(sigmoid\)激活函数. 深度学习训练的三个步骤: Step1:神经网络(Neural network) Step2:模型评估(Goodness of function) Step3:选择最优函数(Pick best function) Step1: 完全连接前馈神经网络 Fully Connect Feedforward Network: 概念:输入层.隐藏层.输出层.神经元 Deep = Many hidden layers 全连接:…
Classification: Probabilistic Generative Model 分类:概率生成模型 如果说对于分类问题用回归的方法硬解,也就是说,将其连续化.比如 \(Class 1\) 对应的目标输出为 1, \(Class 2\) 对应 -1. 则在测试集上,结果更接近1的归为\(Class 1\),反之归为\(Class 2\). 这样做存在的问题:如果有Error数据的干扰,会影响分类的结果. 还有就是,如果是多分类问题,则在各类之间增加了线性关系,比如认为 \(Class…
Regression 回归 应用领域包括:Stock Market Forecast, Self-driving car, Recommondation,... Step 1: Model 对于宝可梦的CP值预测问题,假设为一个最简单的线性模型 y = b + \(\sum w_i x_i\) \(x_i\): an attribute of input x(feature) \(w_i\): weight, b: bias Step 2: Goodness of Function 定义一个Lo…
Machine Learning == Looking for a Function AI过程的解释:用户输入信息,计算机经过处理,输出反馈信息(输入输出信息的形式可以是文字.语音.图像等). 因为从输入到输出的处理不是简单的数学运算,甚至很多时候科学家并不知道如何来实现这个过程. 所以最初的时候科学家写了很多的规则. 但是这种方法,有很多的问题: 一是hand-crafted rule无法包括所有可能情况, 二是它永远不会超过它的创造者的水平, 三是投入的人力过多. 所以后来采用的方法是让计算…
当参数一样多的时候,神经网络变得更高比变宽更有效果.为什么会这样呢? 其实和软件行业的模块化思想是一致的. 比如,如果直接对这四种分类进行训练,长发的男孩数据较少,那么这一类训练得到的classifier不是很好. 但如果分成长发or短发,男孩or女孩,这两种基分类器,那么数据就是足够的,可以得到很好的结果.这样的话,其实用比较少的数据就可以得到很好地分类结果. 模组化这个事情机器是可以自动学到的. 图像应用 语音应用 第一步要做的事情就是把acoustic feature转成state,再把s…
1. Keras Demo2 前节的Keras Demo代码: import numpy as np from keras.models import Sequential from keras.layers.core import Dense,Dropout,Activation from keras.optimizers import SGD,Adam from keras.utils import np_utils from keras.datasets import mnist def…
反向传播 反向传播主要用到是链式法则. 概念: 损失函数Loss Function是定义在单个训练样本上的,也就是一个样本的误差. 代价函数Cost Function是定义在整个训练集上的,也就是所有样本误差的总和的平均.有没有这个平均不会影响最后的参数求解结果. 总体损失函数Total Loss Function是定义在整个训练集上的,所有误差的总和,反向传播需要最小化的值. 取一个神经元分析: 计算梯度分为两部分: forward pass.backward pass Forward Pas…
Logistic Regression 逻辑回归 逻辑回归与线性回归有很多相似的地方.后面会做对比,先将逻辑回归函数可视化一下. 与其所对应的损失函数如下,并将求max转换为min,并转换为求指数形式,便于计算. 最后得到的是两个伯努利分布(function output & target)的交叉熵(两个分布的接近程度,如果分布相同,则交叉熵为0). 经过求导,最后得到的损失函数的偏导数和线性回归的是形式一致的.将其三个步骤的对比归纳如下. 为何用交叉熵而不用平方差,因为逻辑回归模型在求导过程中…
梯度下降 Gradient Descent 梯度下降是一种迭代法(与最小二乘法不同),目标是解决最优化问题:\({\theta}^* = arg min_{\theta} L({\theta})\),其中\({\theta}\)是一个向量,梯度是偏微分. 为了让梯度下降达到更好的效果,有以下这些Tips: 1.调整学习率 梯度下降的过程,应当在刚开始的时候,应该步长大一些,以便更快迭代,当靠近目标时,步长调小一些. 虽然式子中的微分有这个效果,但同时改变一下学习率的值,可以很大程度加速这个过程.…
A more complex model does not always lead to better performance on testing data. Because error due to both of 'bias' and 'variance'. From training data, we can find \(f^*\), \(f^*\) is an enstimator of \(\hat{f}\) bias (偏差) 和 variance (方差) 的直观表示: 数学公…
在折腾完爬虫还有一些感兴趣的内容后,我最近在看用R语言进行简单机器学习的知识,主要参考了<机器学习-实用案例解析>这本书. 这本书是目前市面少有的,纯粹以R语言为基础讲解的机器学习知识,书中涉及11个案例.分12章.作者备注以及代码部分都讲得比较深.不过或许因为出书较早,在数据处理方面,他使用更多的是plyr包,而我用下来,dplyr包效果更好.所以许多涉及数据处理的代码,其实可以用更简洁的方法重写.但是思路却是实打实的精华. 我之前在某长途动车上啃完了前三章,两个案例.但越往后读,越觉得后面…
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补充>的是我自己加的内容而非课堂内容,参考文献列于文末.博主能力有限,若有错误,恳请指正: #---------------------------------------------------------------------------------# 这一周的内容是机器学习介绍和梯度下降法.作为入…
目录会根据我的学习进度而更新,给自己列一个大纲以系统地看待整个学习过程. 学习资料来源 学习的是Coursera上吴恩达(Andrew Ng)老师的机器学习视频(课程传送门,最近在"最强大脑"上看到他了好激动啊,原来他去做百度大脑了呀),笔记根据此系列视频整理.笔记顺序不一定与原教程一样,希望加入些自己的思考. 同时使用了网上找到的黄海广博士的对于吴大大视频教程的笔记(传送门).因为我一开始看视频没做笔记,现在忘得差不多啦,现在打算写个笔记,重新去看视频再整理太麻烦,网上竟然找到这一神…
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 12) --为什么我的MySQL会“抖”一下? 断更了一段时间,因为这几周实在是太忙了,周末加班两天那种... 有时你会遇到这样的问题,一条SQL语句,正常执行的时候很快,但是有时候会变得特别慢.并且这种场景很难复现,不只随机而且持续时间很短.这其实与MySQL的脏页以及它的刷新机制有关.之前我们有过一个关于<孔乙己>里面酒馆老板记账的比喻.在这个比喻里,掌柜的账本就…
Tensor Flow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor). 这是谷歌开源的一个强大的做深度学习的软件库,提供了C++ 和 Python 接口,下面给出用Tensor Flow 建立CNN 网络做笑脸识别的一个简单用例. 我们用到的数据库是GENKI4K,这个数据库有4000张图像,首先做人脸检测与剪切,将图像resize到 64…
本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 1.1 等待的真相 1.2 瓶颈在哪里 1.3 增加带宽 1.4 减少网页中的HTTP请求 1.5 加快服务器脚本计算速度 1.6 使用动态内容缓存 1.7 使用数据缓存 1.8 将动态内容静态化 1.9 更换Web服务器软件 1.10 页面组件分离 1.11 合理部署服务器 1.12 使用负载均衡 1.1…
A CNN Cascade for Landmark Guided Semantic Part Segmentation  ECCV 2016 摘要:本文提出了一种 CNN cascade (CNN 级联)结构,根据一系列的定位(landmarks or keypoints),得到特定的 pose 信息,进行 语义 part 分割.前人有许多单独的工作,但是,貌似没有将这两个工作结合到一起,相互作用的 multi-task 的工作.本文就弥补这个缺口,提出一种 CNN cascade 的 tas…
Bilinear CNN Models for Fine-grained Visual Recognition CVPR 2015 本文提出了一种双线性模型( bilinear models),一种识别结构,该结构由两个特征提取器产生,两个输出是图像每一个位置的外积(outer product),然后进行 pool,得到最终的图像描述算子.这种结构可以对局部 pairwise feature interactions 以平移不变的方式进行建模.而且,可以产生不同的无序的文字描述,像 Fisher…
章, DOM扩展 选择符 API Selector API Level1核心方法querySelector .querySelectorAll,兼容的浏览器可以使用 Document,Element 实例调用它们,支持浏览器:IE8+,Firefox3.5+,Safari3.1+,chrome,Opera10+ querySelector方法 接收一个 CSS选择符,返回与该模式匹配的第一个元素 通过 Document类型调用该函数,会在文档范围查找匹配元素,通过 Element类型调用该函数,…
什么是模式识别(Pattern Recognition)? 按照Bishop的定义,模式识别就是用机器学习的算法从数据中挖掘出有用的pattern. 人们很早就开始学习如何从大量的数据中发现隐藏在背后的pattern.例如,16世纪的Kepler从他的老师Tycho搜集的大量有关于行星运动的数据中发现了天体运行的规律,并直接导致了牛顿经典力学的诞生.然而,这种依赖于人类经验的.启发式的模式识别过程很难复制到其他的领域中.例如手写数字的识别.这就需要机器学习的技术了.(顺便提一下,开普勒定律在物理…
线性回归属于回归问题.对于回归问题,解决流程为: 给定数据集中每个样本及其正确答案,选择一个模型函数h(hypothesis,假设),并为h找到适应数据的(未必是全局)最优解,即找出最优解下的h的参数.这里给定的数据集取名叫训练集(Training Set).不能所有数据都拿来训练,要留一部分验证模型好不好使,这点以后说.先列举几个几个典型的模型: 最基本的单变量线性回归: 形如h(x)=theta0+theta1*x1 多变量线性回归: 形如h(x)=theta0+theta1*x1+thet…
原文链接:https://developers.google.com/machine-learning/crash-course/classification/ 1- 指定阈值 为了将逻辑回归值映射到二元类别,必须指定分类阈值(也称为判定阈值).如果值高于该阈值,则表示“1”:如果值低于该阈值,则表示“0”.人们往往会认为分类阈值应始终为 0.5,但阈值取决于具体问题,因此必须对其进行调整. 2- 真与假.正类别与负类别 真正例是指模型将正类别样本正确地预测为正类别. 假正例是指模型将负类别样本…
今天读<机器学习实战>读到了使用k-临近算法改进约会网站的配对效果,道理我都懂,但是看到代码里面的数据样本集 datingTestSet2.txt 有点懵,这个样本集在哪里,只给了我一个文件名,没有任何内容啊. 上网百度了这个文件名,发现很多博主的博客里可以下载,我很好奇,同样是读<机器学习实战>,他们是从哪里下载的数据样本集呢?就重新读了这本书.终于在“关于本书”最后的“作者在线里面”找到了网址!就是这个,大家需要可以来这里下载. http:/www.manning.com/Ma…