精华内容
下载资源
问答
  • 机器学习CNN的区别与联系
    2019-01-30 20:02:50

    机器学习之CNN

    CNN与机器学习有什么关系:
    一.模式识别/机器学习/深度学习简介
    模式识别(Pattern recognition) 机器学习(machine learning)和深度学习(seep learning)分别代表了三种不同的思想流派。
    1. 模式识别
    区分“3”和“B”,需要专门设计一些分类规则,如滤波,边缘检测和形态学处理等技术,设计到图像处理的专业知识。

          2. 机器学习
          从样本中学习的智能程序,是数据驱动的。强调的是给计算机程序输入一些数据之后,它对这些数据进行学习,(学习步骤是明确的)学习结果是对已有的数据的分类和预测模型,预测模型可以用于对未知数据的预测。
          3.深度学习
          模型中的参数可以从学习中获得。在深度学习的模型中,很流行的就是被用在大规模图像识别中的卷积神经网络(Covoulutional Neural Nets,CNN),简称ConvNets。
          深度学习需要非常大的计算能力,大多在GPU熵进行计算。
          线性代数是基础。
          ![图片来源于此处}https://www.jianshu.com/p/726a5fdfeac5](https://img-blog.csdnimg.cn/20190130190308850.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjI0MTQzOA==,size_16,color_FFFFFF,t_70)
          本质上还是原来的神经网络,就是用复杂/庞大的神经网络进行机器学习。
    

    二 CNN简介
    一个神经网络最为核心的功能呢试能够进行根据若干个输入进行电位活动,并将电位信号传递出去,在传递过程,还可以控制电位信号到下一个神经元的敏感度。神经网络中的M-P模型正式对这些特征的建模抽象。
    神经元的基本结构:M-P模型.
    s=wp+bl s的输出通常成为净输入net,a=f(net),a也就是模拟了生物神经网络的轴突信号。在该模型中,w,b,f,s可以根据需要进行选择,但是在确定后一般不再进行更改。f是这个网络的传输函数。

    	神经元之间是并行工作的。
    	CNN 卷积神经网络
    	1.人工神经网路
    	(1)神经元
    	神经网络由大量的神经元相互连接而来。每个神经元接受线性组合的输入			    后,最开始只是简单的线性加权,后来给每个神经元加上了非下你选哪个的激活函数,从而进行非线性变换后输出。
    	每两个神经元之间的来凝结代表权值,惩治为权重(weight)不同的权重  和激活函数,则会导致神经网络不同的输出。
    	(2)激活函数
    	常用的非线性激活函数有sigmoid tanh relu等,前两者sigmoid tanh比较常用于全安来年阶层,后者relu常用于卷积层。
    	sigmoid的函数表达式如下:
    	![在这里插入图片描述](https://img-blog.csdnimg.cn/2019013019152435.png)
        	而这里的z表示一个线性组合,比如z=w1*x1+w2*x2+b
        	![sigmoid函数的图形表示](https://img-blog.csdnimg.cn/20190130191712741.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjI0MTQzOA==,size_16,color_FFFFFF,t_70)
    
    更多相关内容
  • 机器学习课程的作业,1D-CNN网络用于故障识别。
  • 李宏毅机器学习作业3CNN数据training set。因为文件太大了一个放不下,所以分开放了。testing set 和validation set可以去我的资源里找找。
  • 本文来自于CSDN,介绍了CNN分类问题以及如何用matlab自带数据集做车辆检测等相关知识。 最近需要用到卷积神经网络(CNN),在还没完全掌握cuda+caffe+TensorFlow+...记得机器学习的大牛Andrew NG.说过在硅谷好多人都是
  • 李宏毅机器学习作业3CNN数据testing set 和validation set。因为文件太大了一个放不下,所以分开放了。。。training set可以去我的资源里找找。
  • 机器学习CNN的代码

    2017-01-04 17:22:23
    视觉机器学习卷积神经网络的仿真代码
  • 机器学习CNN

    千次阅读 2019-03-19 14:04:21
    CNN–Convolutional NN(卷积神经网络) CNN的目的是以一定的模型对事物进行特征提取,而后根据特征对该事物进行分类、识别、预测或决策等。 如下图是CNN的流程 下面是CNN的三个特点: 1.CNN针对的是某些特征...

    CNN–Convolutional NN(卷积神经网络)

    CNN的目的是以一定的模型对事物进行特征提取,而后根据特征对该事物进行分类、识别、预测或决策等。
    如下图是CNN的流程

    在这里插入图片描述

    下面是CNN的三个特点:
    1.CNN针对的是某些特征,而不是整个图片的所有特征
    2.CNN的相同的特征可以是出现在图片的不同的区域
    3.CNN对图片减少像素是不会影响图片的
    在这里插入图片描述
    下面讲一下卷积Convolution:
    下图是卷积的示意图,Filter是卷积模板,不同的模板提取不同的特征
    在这里插入图片描述
    对于三维的彩色图,其做法是一样的,只是变成了三张图,每张图都有Filter卷积模板
    在这里插入图片描述
    CNN相当于是全连接神经网络的简化版:

    1.如下图,卷积模板与图片的卷积,得到结果。将图片与Filter都展开成一维的,从图中右边可以看出,并不是所有的输入都链接到每个神经元,因此减少了参数;又因为同一个Filter,链接到的神经元的参数w都是一样的,因此参数更少了!也就是参数共享

    2.一般我们都不会只用一个卷积核对输入图像进行过滤,因为一个核的参数是固定的,其提取的特征也会单一化。多核

    在这里插入图片描述
    池化Pooling:

    池化,即对一块数据进行抽样或聚合,例如选择该区域的最大值(或平均值)取代该区域:
    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 李宏毅2021年机器学习作业2学习笔记前言一、问题描述二、实验过程2.1 跑助教提供的baseline2.2 加入image-augmentation2.3 修改数据增强部分2.4 在2.3基础上,最后全连接层处理2.5 半监督三、总结 前言 声明:本文...

    前言

    声明:本文参考了李宏毅机器学习2021年作业例程,开发平台是kaggle notebook。

    另一个CSDN大佬的博客

    一、问题描述

    实质是一个用CNN做多分类问题。
    B站作业讲解视频
    Kaggle地址
    一个大佬的代码
    在这里插入图片描述

    二、实验过程

    2.1 跑助教提供的baseline

    操作:首先对dataloader部分代码进行修改,防止训练过程中爆内存。

    # Construct data loaders.
    train_loader = DataLoader(train_set, batch_size=batch_size, shuffle=True, num_workers=0, pin_memory=False)
    valid_loader = DataLoader(valid_set, batch_size=batch_size, shuffle=True, num_workers=0, pin_memory=False)
    

    初始CNN网络架构:

    class Classifier(nn.Module):
        def __init__(self):
            super(Classifier, self).__init__()
            # The arguments for commonly used modules:
            # torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride, padding)
            # torch.nn.MaxPool2d(kernel_size, stride, padding)
            # input image size: [3, 128, 128]
            #假设输入图片尺寸为h,如果不加padding,输出的图片尺寸为h-k+1;(pytorch里左右填充,参数1相当于padding了2)
            #加入padding,输出图片尺寸为h-k+p+1;
            #如果加入stride,输出图片尺寸为(h-k+p+1)/s
            #每次maxpooling相当于缩小n倍
            self.cnn_layers = nn.Sequential(
                nn.Conv2d(3, 64, 3, 1, 1),#输出[64, 128-3+2+1, 128]
                nn.BatchNorm2d(64),
                nn.ReLU(),
                nn.MaxPool2d(2, 2, 0),#输出[64, (128-3+2+1)/2,64]
    
                nn.Conv2d(64, 128, 3, 1, 1),#[128, 64,64]
                nn.BatchNorm2d(128),
                nn.ReLU(),
                nn.MaxPool2d(2, 2, 0),#[128,32,32]
    
                nn.Conv2d(128, 256, 3, 1, 1),#[256,32,32]
                nn.BatchNorm2d(256),
                nn.ReLU(),
                nn.MaxPool2d(4, 4, 0),#[256,8,8]
            )
            self.fc_layers = nn.Sequential(
                nn.Linear(256 * 8 * 8, 256),
                nn.ReLU(),
                nn.Linear(256, 256),
                nn.ReLU(),
                nn.Linear(256, 11)
            )
    
        def forward(self, x):
            # input (x): [batch_size, 3, 128, 128]
            # output: [batch_size, 11]
            # Extract features by convolutional layers.
            x = self.cnn_layers(x)
            # The extracted feature map must be flatten before going to fully-connected layers.
            x = x.flatten(1)
            # The features are transformed by fully-connected layers to obtain the final logits.
            x = self.fc_layers(x)
            return x
    

    在这里插入图片描述
    发现有过拟合现象。
    Kaggle得分: 0.47729

    2.2 加入image-augmentation

    操作:加入几个数据增强的方式,同时为了加快训练速度,batchsize(128->256)

    在这里插入图片描述结果:在这里插入图片描述
    说明没train起来,可能与数据增强有关。
    Kaggle得分:0.24985 0.26105

    2.3 修改数据增强部分

    操作:
    在这里插入图片描述
    结果:在这里插入图片描述

    Kaggle得分:0.37477 0.36618(依然低于baseline)
    说明单纯做数据增强不一定能使得结果变好。

    2.4 在2.3基础上,最后全连接层处理

    操作:加入dropout和batchnorm
    在这里插入图片描述

    结果:在这里插入图片描述
    Kaggle得分:0.22534 0.20967(最差)

    操作:怀疑是batchsize调大了,调回128后试试。

    在这里插入图片描述
    Kaggle得分:0.37597,0.38709 (结果相对于256有显著提升)
    思考:本数据集图片较少,可能大的batchsize训练不好。

    2.5 半监督

    操作:加入半监督训练,同时为了训练速度快点,减少了epoch到20

    结果:验证集loss想先降低后上升,过拟合。在epoch13时,验证集loss最低。
    kaggle结果:0.27196,0.26583

    三、总结

    在这里插入图片描述
    由于时间有限,也就不再继续实验了。欢迎小伙伴拿我的版本进行改进。

    Optimizer
    使用Adam

    激活函数
    用ReLU,效果比sigmioid好得多。
    数据增强
    数据增强不一定能使训练效果变好。
    network架构

    1. 对于小样本数据集,batch size不能太大
    2. 加上dropout,虽然batch normalization一定程度上可以替代dropout的效果,但还是有使
    3. CNN的模型有一定上限,如果想改进训练效果,最好使用新的模型,比如ResNet,VGG等。

    epoch太多不一定好,如果不保存最优模型的话,最终结果可能严重的过拟合。

    代码链接:

    https://github.com/Wangdaoshuai/LHYML2021-Spring

    展开全文
  • 机器学习——卷积神经网络(CNN

    千次阅读 2022-03-12 15:33:38
    机器学习——卷积神经网络(CNN

    相关文章链接

            机器学习——人工神经网络(NN)

            机器学习——循环神经网络(RNN)

            机器学习——长短期记忆(LSTM)

            机器学习——决策树(decision tree)

            机器学习——随机森林(Random forest)

            机器学习——梯度提升决策树(GBDT)

            机器学习——XGboost模型

    卷积神经网络(CNN

    一、卷积神经网络定义

    卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-Invariant Artificial Neural Networks, SIANN)”。

    简而言之,卷积神经网络(Convolutional Neural Networks)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像。

    二、卷积神经网络的特点

    (1)能够有效的将大数据量的图片降维成小数据量。

    (2)能够有效的保留图片特征,符合图片处理的原则。

    三、卷积神经网络的层级架构

    传统神经网络

     卷积神经网络

    一个卷积神经网络主要由以下5层组成:

    1、数据输入层(Input Layer):该层要做的处理主要是对原始图像数据进行预处理。

    2、卷积层Convolutional layer):卷积层通过卷积核的过滤提取出图片中局部的特征

    卷积层的运算过程

    3、线性整流层(ReLu Layer)这一层神经的活性化函数(Activation function)使用线性整流(Rectified Linear Units, ReLU)f(x)=max(0,x)。

    4、池化层Pooling layer池化(pool)即下采样(down samples),目的是为了减少特征图。池化层夹在连续的卷积层中间,用于压缩数据和参数的量,减小过度拟合。简而言之,如果输入的是图像的话,那么池化层的最主要作用就是压缩图像。

    5、全连接层Fully-Connected layer):把所有局部特征结合变成全局特征。经过卷积层和池化层降维过的数据,全连接层才能“跑得动”,不然数据量太大,计算成本高,效率低下。

    四、卷积神经网络的优缺点

    优点:

    1. 共享卷积核,对高维数据处理无压力
    2. 无需手动选取特征值,特征分类效果好

    缺点:

    1. 需要调参,需要大样本量,训练最好要GPU
    2. 物理含义不明确(不知道每个卷积层到底提取的是什么特征,而且神经网络本身就是一种难以解释的“黑箱模型”)

    五、卷积神经网络的实际应用

    (1)图像分类、检索。如:图像搜索等。

    (2)目标定位检测。可以在图像中定位目标,并确定目标的位置及大小,如:自动驾驶、安防、医疗等。

    (3)目标分割。对前景和背景进行像素级的区分,如美图秀秀、视频后期加工、图像生成等。

    (4)人脸识别。

    (5)骨骼识别。可以识别身体的关键骨骼,以及追踪骨骼的动作,如电影、图像视频生成、游戏等。

    展开全文
  • 由于运算性能的提升与数据量的爆炸(GPU与大数据),使得深度学习爆发性地发展,而卷积网络正是深度学习爆发的莫大功臣。 卷积神经网络(CNN,Convolutional Neural Networks)是一种前馈神经网络,它的人工神经元...
  • 引入基于机器学习的特征提取框架(如 random forest,SVM,CNN)来适应不同的数据类型,自动从大量复杂的非结构化数据中产生高质量的特征,完成模型训练后可以输出特征的重要性,结合多种方法进行特征选择和解释。...
  • 让我们首先看看如何为您拥有的每种类型的层计算可学习参数的数量,然后计算示例中的参数数量。 Input layer:输入层所做的只是读取输入图像,因此这里没有您可以学习的参数。 Convolutional layers:一个卷积层,...
  • 人工智能基础视频教程零基础入门课程 第十三章(下) 人工智能基础视频教程零基础入门课程,不需要编程基础即可...十三章 卷积神经网络、CNN识别图片 十四章 卷积神经网络深入、AlexNet模型 十五章 Keras深度学习框架
  • 我从许多大的图片上扣下了许多小图,并且保存成了.png格式,也做好了标签,...我就想让机器学习更加准确一些! 请求大神们告知,不胜感激!第一次在该网站发布,还没有悬赏积分,敬请谅解!以后常来,慢慢就有积分了。
  • 机器学习LightCNN

    2018-09-23 18:34:09
    LightCNN
  • 人们常常会说,deep learning就是一个黑盒子,你learn完以后根本就不知道它得到了什么,所以会有很多人不喜欢这种方法,这篇文章就讲述了三个问题:What does CNN do?Why CNN?How to design CNN? What does CNN ...
  • 经典模型对应的python代码经典模型对应的python代码
  • 我们当然可以用一般的neural network来做影像处理,不一定要用CNN,比如说,你想要做图像的分类,那你就去train一个neural network,它的input是一张图片,你就用里面的pixel来表示这张图片,也就是一个很长很长的...
  • 我的工作用于满足研究课程“机器学习实践”的课程最终项目爱丁堡大学。 实验结果再次表明,在类似CNN的体系结构中,这些创新的池化功能(混合和门控)可在对象识别中获得优势。 混合/门控操作 实验结果
  • 机器学习CNN模型在心血管疾病诊疗中的临床应用及研究进展.pdf
  • 2.6_CNN.pdf机器学习

    2019-05-30 12:01:31
    机器学习 卷积神经网络
  • 深度学习Caffe框架实战剖析教程(深度学习、机器学习、LeNet-5模型、MNIST数据集、CNN),本教程以目前已经大量用于线上系统的深度学习主流框架Caffe为例,从底层开始,由浅入深,先是概述Caffe框架,说明其和深度...
  • 机器学习算法,包含随机森林,决策树,SVM,CNN等十几种算法的程序包
  • 深度学习Caffe框架实战剖析教程(深度学习、机器学习、LeNet-5模型、MNIST数据集、CNN) 课程收益 目标一. 了解Caffe框架的环境配置以及LEVELDB和LMDB数据。 目标二. 学习并且掌握Caffe框架最基础的数据结构,明白...
  • 机器学习思维导图.pdf

    2020-11-05 14:21:02
    机器学习思维导图.Classification。RNN,CNN.FCN,模型,训练,损失,种类。想了解的可以下载。
  • 【李宏毅机器学习笔记】1、回归问题(Regression) 【李宏毅机器学习笔记】2、error产生自哪里? 【李宏毅机器学习笔记】3、gradient ...【李宏毅机器学习笔记】9、Convolutional Neural Network(CNN) ——————
  • 人工智能_CNN_验证码识别_使用机器学习算法完成对12306验证码的自动识别 两个必要的数据集: 文字识别,model.h5 图片识别,12306.image.model.h5
  • 机器学习实验.zip

    2019-07-15 21:45:37
    机器学习实验,内含实验指导书(PPT与Word)和参考代码,包括线性回归模型、支持向量机模型、贝叶斯分类以及基于tensorflow实现cnn
  • cnn tensorflow 代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 61,001
精华内容 24,400
关键字:

cnn机器学习