机器学习--学习笔记
second24
这个作者很懒,什么都没留下…
展开
-
第一章 绪论(及部分课后习题)
1.1 引言机器学习是一门这样的学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,“经验”通常以“数据”形式存在,所以,我们需要从数据中产生“模型”的算法,即“学习算法”。有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型;在面对新的情况时,模型会给我们提供相应的判断。1.2 基本术语数据集一组记录的集合称为一个“数据集”,其中每条记录是关于一个事件或原创 2017-07-07 20:13:52 · 5387 阅读 · 0 评论 -
CS231n课程笔记--图像分类
图像分类图像分类的任务,就是对于一个给定的图像,预测它属于的那个分类标签。RGB图像是三维数组,数组元素是取值范围从0到255的整数。一些具体的分类方法数据驱动方法我们采取的这种方法和教小孩看图识物类似,就是给计算机很多数据,然后实现学习算法,让计算机学习到每个类的外形,因此该方法的第一步就是收集已经做好分类标注的图片来作为训练集,比如 如下图:流程图像分类就是输入一个元素为像素值的数组,然后给它原创 2017-09-29 18:19:04 · 362 阅读 · 1 评论 -
搭建caffe(仅cpu)
caffe 简介Caffe是一个清晰而高效的深度学习框架,是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口; 可以在CPU和GPU直接无缝切换:Caffe::set_mode(Caffe::GPU);caffe 优势1.上手快:模型与相应优化都是以文本形式而非代码形式给出。 Caffe给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。2.速度快:能够运行最棒的原创 2017-10-27 20:57:44 · 401 阅读 · 0 评论 -
CS231n课程笔记--线性分类
线性分类KNN分类的几点不足1、该分类器必须记住所有训练数据并将其存储起来,方便和未来数据进行比较,但这在存储空间上是低效的。 2、对一个测试图像进行分类需要和所有训练图像作比较,在计算上,资源耗费高。评分函数和损失函数评分函数是原始图像数据到类别分值的映射。另一个损失函数是用来量化预测分类标签的得分与真实标签之间的一致性的。该方法可转化为一个最优化问题,在最优化过程中,将通过更新评分函数的参数来原创 2017-10-06 16:54:23 · 251 阅读 · 0 评论 -
cs231n笔记--反向传播
简单表达式和梯度首先反向传播是利用链式法则递归计算表达式的梯度的方法。从简单表达式入手可以为复杂表达式打好符号和规则基础。先考虑一个简单的二元乘法函数对两个输入变量分别求偏导数还是很简单的: 这些导数的意义在于函数变量在某个点周围的极小区域内变化,而导数就是变量变化导致的函数在该方向的变化率。链式法则现在考虑更复杂的包含多个函数的复合函数,比如。虽然这个表达足够简单,可以直接微分,但是在此使用一种原创 2017-10-20 19:56:57 · 415 阅读 · 0 评论 -
caffe学习笔记--自定义cifar10网络参数
在CIFAR-10实例中加入dropout假如我们要在cifar-10实例中的ip1和ip2层之间加入dropout,那么我们可以定义一个drop1的层,其类型为Dropout,设置底层blob为ip1,顶层blob也为ip1(为了与原来的层匹配,也可以用其它名字,但是要保证各层之间必须能够衔接上)。然后设置dropout_ratio。至此,就为CIFAR-10实例加入了dropout。加入d原创 2017-11-09 14:16:21 · 682 阅读 · 0 评论 -
caffe学习笔记
修改solver文件参数首先打开模型优化文件,lenet_solver.prototxt。 关键参数如下:# Carry out testing every 500 training iterations.test_interval: 500# The base learning rate, momentum and the weight decay of the network.base_原创 2017-11-03 18:08:34 · 370 阅读 · 0 评论 -
CAFFE提取特征并可视化
使用CAFFE( http://caffe.berkeleyvision.org )运行CNN网络,并提取出特征,将其存储成lmdb以供后续使用,亦可以对其可视化。使用已训练好的模型进行图像分类主要步骤1.在caffe_root下运行./scripts/download_model_binary.py models/bvlc_reference_caffenet获得预训练的CaffeNet。2.在i原创 2017-11-17 22:45:31 · 415 阅读 · 0 评论 -
Caffe环境AlexNet模型训练
准备数据首先到ImageNet官网下载ILSVRC2012的训练数据集和验证数据集。除数据集外,ImageNet还提供了一个开发工具包ILSVRC2012_devkit_t12.tar.gz,是对ILSVRC2012数据集的详细讲解,提交比赛结果的要求,和对结果评价的代码。可以下载下来看一下里面的内容。ImageNet官网地址:http://www.image-net.org/signup.php?原创 2017-12-08 16:50:26 · 1280 阅读 · 0 评论 -
caffe 创建网络模型
要点1.在caffe中,我们通常说一个模型,其实就是一个网络,一个Net 2.在caffe2中,我们通常使用modelHelper来代表一个model,而这个model包含多个Net,就像我们前面看到的,我们会使用一个初始化网络init_net,还有有一个训练网络net,这两个网络图都是model的一部分。初始化和训练如果我们要构造一个模型,只有一个FC层,在这里使用modelHelper来表示一原创 2017-12-01 23:44:59 · 927 阅读 · 0 评论 -
机器学习--归纳总结
假设空间归纳与演绎布尔概念学习版本空间归纳偏好线性回归基本形式线性回归最小二乘参数估计对数几率回归单位阶跃函数线性判别分析多分类任务神经网络神经元模型M-P神经元模型激活函数感知机与多层网络误差逆传播算法全局最小和局部极小参数寻优方法跳出局部极小其他常见神经网络RBF网络ART网络SOM网络级联相关网格支持向量机间隔与支持向量对偶问题SMO原创 2017-09-01 09:43:57 · 7845 阅读 · 0 评论 -
PCA降维(MATLAB实践)
PCA原理PCA的原理就是将原来的样本数据投影到一个新的空间中,相当于我们在矩阵分析里面学习的将一组矩阵映射到另外的坐标系下。通过一个转换坐标,也可以理解成把一组坐标转换到另外一组坐标系下,但是在新的坐标系下,表示原来的原本不需要那么多的变量,只需要原来样本的最大的一个线性无关组的特征值对应的空间的坐标即可。 比如,原来的样本是30*1000000的维数,就是说我们有30个样本,每个样本有1000原创 2017-08-25 17:00:55 · 14664 阅读 · 1 评论 -
第2章(第一节) 模型评估与选择
经验误差与过拟合通常我们把分类错误的样本数占样本总数的比例称为“错误率”。相应的精度就是用1-错误率。而误差就是学习器的实际预测输出与样本的真实输出之间的差异。“泛化误差”就是指在新样本上的误差。显然,我们希望得到泛化误差小的学习器。 我们实际希望的,是在新样本上能表现得很好的学习器。为了达到这个目的,应该从训练样本中尽可能学出适用于所有潜在样本的“普遍规律”,这样才能在遇到新样本时做出正确的判别原创 2017-07-07 22:02:28 · 379 阅读 · 0 评论 -
第三章 线性模型
1 基本形式2 线性回归最小二乘参数估计MATLAB多元线性回归模型3 对数几率回归单位阶跃函数4 线性判别分析5 多分类任务3.1 基本形式给定由d个属性描述的示例x=(x1;x2;…xd),其中xi是x在第i个属性上的取值,线性模型试图学得一个通过属性的线性,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即f(x)=w1x1+w2x2+…+wdxd+b, 一般用向量形式原创 2017-07-11 22:34:46 · 1034 阅读 · 0 评论 -
第5章 神经网络
1. 神经元模型“M-P神经元模型”在这个模型中,神经元接收到来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值与神经元的阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。原理图如下:激活函数主要分为两种形式 1. 阶跃函数 Sigmoid函数2. 感知机与多层网络感知机由两层神经元组成,如图5.3所示,输入层接收外界输入信号后传递给输出层原创 2017-07-20 22:26:59 · 7939 阅读 · 5 评论 -
第九章 聚类
聚类任务聚类算法的基本问题性能度量距离计算最常用的度量方法连续属性和离散属性VDM原型聚类k均值算法学习向量量化高斯混合聚类密度聚类DBSCAN算法层次聚类AGNES算法聚类任务聚类是为了解决在无监督学习中,训练样本的标记信息是未知的。它试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”。通过这样的划分,每个簇可能对应于一些潜在的概念,然而这些概念原创 2017-08-04 13:09:50 · 630 阅读 · 0 评论 -
第10章(1至3节) 降维
k近邻学习k近邻(简称kNN)学习是一种常用的监督学习方法,其工作机制是给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个“邻居”的信息来进行预测。 图10.1给出了k近邻分类器的一个示意图。显然,k是一个重要参数,当k取不同值时,分类结果会有显著不同。另一方面,若采用不同的距离计算方式,则找出的“近邻”可能有显著差别,从而也会导致分类结果有显著不同。低维嵌入事实上原创 2017-08-04 14:03:14 · 409 阅读 · 0 评论 -
聚类(matlab实践)
k-means 算法K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。 k个初始类聚类中心点的选取对聚类结果具有较大的影响,因为在该算法第一步中是随机的选取任意k个对象作为初始聚类的中心,初始地代表一个簇。该算法在每次迭代中对数据集中剩余的每个对象,根据原创 2017-08-11 23:51:19 · 984 阅读 · 0 评论 -
前馈神经网络(matlab实例)
定义回顾前馈网络也称前向网络。这种网络只在训练过程会有反馈信号,而在分类过程中数据只能向前传送,直到到达输出层,层间没有向后的反馈信号,因此被称为前馈网络。感知机( perceptron)与BP神经网络就属于前馈网络。对于一个3层的前馈神经网络N,若用X表示网络的输入向量,W1~W3表示网络各层的连接权向量,F1~F3表示神经网络3层的激活函数。 那么神经网络的第一层神经元的输出为: O1原创 2017-08-20 13:43:41 · 9937 阅读 · 2 评论 -
第6章 支持向量机
间隔与支持向量对偶问题SMO算法核函数几种常用的核函数软间隔与正则化软硬间隔替代损失函数支持向量回归核方法实验1. 间隔与支持向量为了对样本进行分类,需要在训练集中找到一个划分超平面,但能将样本分开的超平面有很多,按直观上看的话,应该去找位于两类训练样本“正中间”的划分超平面,如图。在样本空间中,划分超平面可通过如下线性方程来描述: 至于间隔的话,我们可以通过约束参数w和b原创 2017-07-27 16:17:58 · 488 阅读 · 0 评论 -
KNN算法(MATLAB实践)
算法回顾1、计算已知类别数据集合汇总的点与当前点的距离 2、按照距离递增次序排序 3、选取与当前点距离最近的K个点 4、确定距离最近的前K个点所在类别出现频率 5、返回距离最近的前K个点中频率最高的类别作为当前点的预测分类代码KNN.mfunction relustLabel=KNN(inx,data,labels,k)%inx为输入测试数据,data为样本数据,labels为样本标签[原创 2017-08-22 14:51:00 · 2979 阅读 · 0 评论 -
AlexNet模型
简介数据集激活函数网络结构Dropout策略网络各层次阶段简介2012年,Alex Krizhevsky及其同学Ilya Sutskever在多伦多大学Geoff Hinton的实验室设计了一个深层的卷积神经网络,夺得了2012年ImageNet LSVRC的冠军,且准确率远超第二名(top5 error rate 15.3%,第二名为26.2%),这在学术界引起了很大的轰动,大家争先恐原创 2017-11-24 21:24:05 · 385 阅读 · 0 评论