摘要: 本文将主要介绍图像分类问题,即给定一张图片,我们来给这张图片打一个标签,标签来自于预先设定的集合,比如{people,cat,dog...}等,这是CV的核心问题,图像分类在实际应用中也有许多变形,而且许多看似无关的问题(比如 object detection, segmentation)最终也可划 阅读全文
posted @ 2018-11-27 10:07 Alan_Fire 阅读(145) 评论(0) 推荐(0)
摘要: 建立模型 当使用机器学习的方法来解决问题时,比如垃圾邮件分类等,一般的步骤是这样的: 1)从一个简单的算法入手这样可以很快的实现这个算法,并且可以在交叉验证集上进行测试; 2)画学习曲线以决定是否更多的数据,更多的特征或者其他方式会有所帮助; 3)人工检查那些算法预测错误的例子(在交叉验证集上),看 阅读全文
posted @ 2018-11-27 10:00 Alan_Fire 阅读(258) 评论(0) 推荐(0)
摘要: 本文所讲述的是怎么样去在实践中更好的应用机器学习算法,比如如下经验风险最小化问题: 当求解最优的 后,发现他的预测误差非常之大,接下来如何处理来使得当前的误差尽可能的小呢?这里给出以下几个选项,下面介绍的是如何在一下这些应对策略中选择正确的方法来助力以上问题。 当模型的variance比较大时,可能 阅读全文
posted @ 2018-11-27 09:59 Alan_Fire 阅读(257) 评论(0) 推荐(0)
摘要: 问题的引入: 考虑一个典型的有监督机器学习问题,给定m个训练样本S={x(i),y(i)},通过经验风险最小化来得到一组权值w,则现在对于整个训练集待优化目标函数为: 其中为单个训练样本(x(i),y(i))的损失函数,单个样本的损失表示如下: 引入L2正则,即在损失函数中引入,那么最终的损失为: 阅读全文
posted @ 2018-11-27 09:57 Alan_Fire 阅读(616) 评论(0) 推荐(0)
摘要: KNN分类CIFAR-10,并且做Cross Validation,CIDAR-10数据库数据如下: knn.py : 主要的试验流程 from cs231n.data_utils import load_CIFAR10 from cs231n.classifiers import KNearest 阅读全文
posted @ 2018-11-27 09:56 Alan_Fire 阅读(769) 评论(0) 推荐(0)
摘要: 特征工程(Feature Engineering)经常被说为机器学习中的black art,这里面包含了很多不可言说的方面。怎么处理好特征,最重要的当然还是对要解决问题的了解。但是,它其实也有很多科学的地方。这篇文章我之所以命名为特征处理(Feature Processing),是因为这里面要介绍的 阅读全文
posted @ 2018-11-27 00:54 Alan_Fire 阅读(340) 评论(0) 推荐(0)
摘要: 看待问题的两种策略:整体求解 vs 分而治之 为了解决一个实际问题,我们通常有两种策略: 第一种是整体求解,即把这个问题看成一个不可分割的整体,直接进行求解。 第二种是分而治之,即分解这个问题,使之变成多个小问题,然后通过求解各个小问题来最后达到求解整个问题的目的。 这两种策略分别把原始问题转化为单 阅读全文
posted @ 2018-11-27 00:50 Alan_Fire 阅读(1178) 评论(0) 推荐(0)
摘要: 本文主要内容是 CNN 的 BP 算法,看此文章前请保证对CNN有初步认识。 网络表示 CNN相对于传统的全连接DNN来说增加了卷积层与池化层,典型的卷积神经网络中(比如LeNet-5 ),开始几层都是卷积和池化的交替,然后在靠近输出的地方做成全连接网络,这时候已经将所有两维2D的特征maps转化为 阅读全文
posted @ 2018-11-27 00:47 Alan_Fire 阅读(248) 评论(0) 推荐(0)
摘要: 之前所讲的图像处理都是小 patchs ,比如28*28或者36*36之类,考虑如下情形,对于一副1000*1000的图像,即106,当隐层也有106节点时,那么W(1)的数量将达到1012级别,为了减少参数规模,加快训练速度,CNN应运而生。CNN就像辟邪剑谱一样,正常人练得很挫,一旦自宫后,就变 阅读全文
posted @ 2018-11-27 00:45 Alan_Fire 阅读(177) 评论(0) 推荐(0)
摘要: Sparse AutoEncoder是一个三层结构的网络,分别为输入输出与隐层,前边自编码器的描述可知,神经网络中的神经元都采用相同的激励函数,Linear Decoders 修改了自编码器的定义,对输出层与隐层采用了不用的激励函数,所以 Linear Decoder 得到的模型更容易应用,而且对模 阅读全文
posted @ 2018-11-27 00:44 Alan_Fire 阅读(199) 评论(0) 推荐(0)
摘要: Hintion老爷子在06年的science上的论文里阐述了 RBMs 可以堆叠起来并且通过逐层贪婪的方式来训练,这种网络被称作Deep Belife Networks(DBN),DBN是一种可以学习训练数据的高层特征表示的网络,DBN是一种生成模型,可见变量 与 个隐层的联合分布: 这里 x = 阅读全文
posted @ 2018-11-27 00:42 Alan_Fire 阅读(132) 评论(0) 推荐(0)
摘要: 1.RBM简介 受限玻尔兹曼机(Restricted Boltzmann Machines,RBM)最早由hinton提出,是一种无监督学习方法,即对于给定数据,找到最大程度拟合这组数据的参数。RBM常用于降维,分类,回归与协同过滤,特征学习甚至 topic model ,其网络结构如下: RBM是 阅读全文
posted @ 2018-11-27 00:28 Alan_Fire 阅读(254) 评论(0) 推荐(0)
摘要: 对于加深网络层数带来的问题,(gradient diffuse 局部最优等)可以使用逐层预训练(pre-training)的方法来避免 Stack-Autoencoder是一种逐层贪婪(Greedy layer-wise training)的训练方法,逐层贪婪的主要思路是每次只训练网络中的一层,即首 阅读全文
posted @ 2018-11-27 00:26 Alan_Fire 阅读(303) 评论(0) 推荐(0)
摘要: self-taught learning 在特征提取方面完全是用的无监督的方法,对于有标记的数据,可以结合有监督学习来对上述方法得到的参数进行微调,从而得到一个更加准确的参数a。 在self-taught learning中,首先用 无标记数据训练一个sparse autoencoder,这样用对于 阅读全文
posted @ 2018-11-27 00:24 Alan_Fire 阅读(178) 评论(0) 推荐(0)
摘要: 在machine learning领域,更多的数据往往强于更优秀的算法,然而现实中的情况是一般人无法获取大量的已标注数据,这时候可以通过无监督方法获取大量的未标注数据,自学习( self-taught learning)与无监督特征学习(unsupervised feature learning)就 阅读全文
posted @ 2018-11-27 00:21 Alan_Fire 阅读(235) 评论(0) 推荐(0)
摘要: softmax可以看做只有输入和输出的Neurons Networks,如下图: 其参数数量为k*(n+1) ,但在本实现中没有加入截距项,所以参数为k*n的矩阵。 对损失函数J(θ)的形式有: 算法步骤: 首先,加载数据集{x(1),x(2),x(3)...x(m)}该数据集为一个n*m的矩阵,然 阅读全文
posted @ 2018-11-27 00:19 Alan_Fire 阅读(158) 评论(0) 推荐(0)
摘要: SoftMax回归模型,是logistic回归在多分类问题的推广,即现在logistic回归数据中的标签y不止有0-1两个值,而是可以取k个值,softmax回归对诸如MNIST手写识别库等分类很有用,该问题有0-9 这10个数字,softmax是一种supervised learning方法。 在 阅读全文
posted @ 2018-11-27 00:17 Alan_Fire 阅读(316) 评论(0) 推荐(0)
摘要: PCA 给定一组二维数据,每列十一组样本,共45个样本点 -6.7644914e-01 -6.3089308e-01 -4.8915202e-01 ... -4.4722050e-01 -7.4778067e-01 -3.9074344e-01 ... 可以表示为如下形式: 本例子中的的x(i)为2 阅读全文
posted @ 2018-11-27 00:15 Alan_Fire 阅读(218) 评论(0) 推荐(0)
摘要: PCA的过程结束后,还有一个与之相关的预处理步骤,白化(whitening) 对于输入数据之间有很强的相关性,所以用于训练数据是有很大冗余的,白化的作用就是降低输入数据的冗余,通过白化可以达到(1)降低特征之间的相关性(2)所有特征同方差,白化是需要与平滑与PCA结合的,下边来看如何结合。 对于训练 阅读全文
posted @ 2018-11-27 00:11 Alan_Fire 阅读(146) 评论(0) 推荐(0)
摘要: 主成分分析(PCA)是一种经典的降维算法,基于基变换,数据原来位于标准坐标基下,将其投影到前k个最大特征值对应的特征向量所组成的基上,使得数据在新基各个维度有最大的方差,且在新基的各个维度上数据是不相关的,PCA有几个关键的点: 1)归一化均值与方差,均值归一化后便于计算,方差归一化后便于对各个维度 阅读全文
posted @ 2018-11-27 00:10 Alan_Fire 阅读(242) 评论(0) 推荐(0)