神经网络入门及tensorflow实战

本文介绍了神经网络的基础知识,包括TensorFlow在实际应用中的案例,神经网络的结构和学习过程,以及激励函数如sigmoid、tanh和ReLU。同时,文章探讨了机器学习中的搜索策略,如AlphaGo Zero,以及TensorFlow自2015年开源以来在人工智能领域的广泛应用。还讲解了深度学习的特征学习核心和在图像、语音、文本等方面的应用。最后,简述了深度学习框架TensorFlow在实现逻辑回归模型中的角色,并讨论了卷积神经网络的基本原理。
摘要由CSDN通过智能技术生成

分享一下最近接触到的神经网络的知识:TensorFlow神经网络实战

 

    1. 神经网络

人工智能(大概念)

       机器学习+搜索策略

 

IBM深蓝战胜世界冠军(国际象棋)采用传统的搜索策略

机器学习综合搜索策略或算法领域都会用到

alpha go zero 从0开始 启发式搜索中的思路 打败原来的alpha go

 

2015年tf开源

2016年alpha go打败李世石

2017年alpha go zero 从空白状态学起自学围棋打败前辈

腾讯 AI围棋绝艺登台亮相

国内外各大公司都纷纷宣布将人工智能作为下一个重要的战略重心

人工智能,深度学习,机器学习

 

 

 

深度学习是机器学习的一种方法

深度学习是指多层神经网络上运用各种机器学习算法解决图像,文本等各种问题的算法集合。深度学习从大类上可以归入神经网络,不过在具体实现上有许多变化。深度学习的核心是特征学习,旨在通过分层网络获取分层次的特征信息,从而解决以往需要人工设计特征的重要难题。深度学习是一个框架,例如TensorFlow就是深度学习框架

      1. 背景

诞生于20世纪中叶,是一种仿生学产品

 

兴起的三大驱动要素:算法、大数据、计算力

 

主要功能:分类

图像  密集型矩阵  自动驾驶

语音                           语音助手

文本  稀疏矩阵    新闻推送   百度app

      1. 神经网络的结构

节点和层

输入到输出整个预测过程

正向学习,反向参数调校

 

4个神经元

 

神经元

h()激励函数:提供规模化的非线性能力,激励函数某种意义上是模拟大脑神经元被激发的一种概念,有一个状态变化是非线性的

常用的激励函数有:sigmoid、tanh、ReLu三种

sigmod 优点整个区间都可导,反向传播整个区间可导性好不是原点对称

tanh 将sigmod平移到原点避免sigmod做数据中心化,表现会更好,但不足是

当趋向无限大变化很小,学习效率小,周期长

ReLu函数当大于0线性 在0区间段导数为0有改进版取小的斜率,线性的

一般用框架做都选用ReLu

当做二分类时用sigmod也可以

 

学习过程中产生的函数值(预测值)和训练集真值(label特征)有差异这个就是损失函数要做的事

 

      1. 神经元
        1. 二输出神经元:一个神经元

神经元:最小的神经网络

 

逻辑回归:最简化的网络结构

y=W*X 线性处理

h()激化函数  非线性处理

 

W*x->h(W*x+b) 其实是一个整体

x=[x1,x2,x3]

W=[

       w1,

       w2,

       w3]

b=[b1,b2,b3]

 

W是权重   矩阵乘法

h是激活函数  非线性变换

b是偏置

x 是特征样本 

 

例如

x=[房屋面积,房屋价格,评分]

x=[100,100w,6]

 

x=[3,1,2]  x为3个特征

W=[0.4,0.6,0.5]  系数对应3个

h(a)=a/100   h(a) 激活函数

y=W*x=3*0.4+1*0.6+2*0.5=28  一个输出

h(W*x)=h(28)=0.28

二分类:估计是0

忽略b 干扰

 

神经元激活函数 sigmod 解决二分类问题

0,1之间的值是一个概念

P(Y=0|x) 为0概率估计

P(Y=1|x) 为1概率估计

这就是二分类逻辑回归模型

 

        1. 多输出神经元

加神经元就可多输出,这里2个神经元做3分类逻辑回归模型

W从向量扩展为矩阵

输出W*x则变成向量

例如

X=[3,1,2]   X为3个特征 X(1,3)

W=[[0.4,0.6,0.5],[0.3,0.2,0.1]]  w为2行3列矩阵 W(2,3)

Y=[y0,y1]=[2.8,1.3]  

Y[0]=W[0]*X  

Y[1]=W[1]*X

Y= W.T.dot(X)

 

如何将二分类扩展为多分类?

二分类Y只有一个输出

分母相同,做归一化,指定W*x做多输出就可以了

 

实现二分类转换多分类的逻辑回归模型

多输出神经元的softmax()函数回归

 

Y=[y0,y1]=[2.8,1.3]

exp(Y)=[exp(-2.8),exp(-1.3)]=[0.06,0.27]

sum=1+0.06+0.27=1.33

P(Y=0|x)=0.06/1.33=0.045

P(Y=1|x)=0.27/1.33=0.203

P(Y=2|x)=1.00/1.33=0.752

 

    1. TensorFlow实现逻辑回归模型

Mnist数据集介绍和获取

TensorFlow中逻辑回归使用的函数

代码实现

判断识别率 准确率是多少

图片的10分类任务

 

 

 

      1. 认识MNIST数据集
        1. 简述

Tensorflow框架在tensorflow.contrib.learn.python.learn.datasets包中提供多个机器学习的数据集。这里介绍的是MNIST数据集,其功能都定义在mnist.py模块中。MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片:

它也包含每一张图片对应的标签,告诉我们这个是数字几。比如,上面这四张图片的标签分别是5,0,4,1

        1. 结构

 

外观

one-hot 独热编码 (0,0,0,1,0,0,0,0,0,0) 表示3

Image部分:手写体的图片 (让学生来写的)

Label部分:图片代表哪个数字 (学生写的正确答案)

属于监督学习

 

        1. 加载

有两种方式可以获取MNIST数据集:

 

1) 自动下载

TensorFlow框架提供了一个函数:read_data_sets&

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值