合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# 目录 * [ 1. 什么是机器学习](#1) * [ 2. 什么神经网络](#1) * [ 3. tensorflow介绍](#2) </br> <h2 id="1">1. 什么是机器学习</h2> 利用**计算机**从**历史数据**中找出**规律**,并把这些规律用到对**未来不确定场景的决策**。 + 场景: 确定性场景 vs 不确定性场景 日升日落 下一个月的销售额 + 主角:计算机 避免由于人的经验,知识水平的依赖 + 历史数据: 通常比较大,大于50条 + 规律: 通过一系列机器学习的算法,找出一个数学函数,实现y=f(x) 数学函数通过计算机自动生成,而不是通过编程用类似if-else般的 实现 找规律,传统的做法:从总体中抽取样本,计算各种统计学指标,用来代表整体的指标。 问题: 不能真实的表现总体的情况,需要做验证:->抽样->描述统计->假设检验 大数据时代: 直接对全量的数据做处理。 **机器学习发展的原动力** + 从历史数据中找出规律, 把这些规律用到对未来自动做出决定 + 用数据代替export + 经济驱动,数据变现 **典型应用** 1. 购物篮分析 : 尿不湿与啤酒, 亚马逊购物 2. 聚类 : 精准营销-用户细分 3. 朴素贝叶斯: 垃圾邮件识别,贷款审核 4. CTR预估: 互联网广告,推荐系统-经常一起购买的商品 5. 自然语言处理 (1) 情感分析 (2) 实体识别: 内容提取 6. 图片识别:(目前深度学习的主要应用方向) 7. 自动驾驶 8 语音识别,人脸识别,个性化医疗,手势识别,虚拟助力,智能机器人,机器实时翻译(谷歌翻译) </br> **机器学习解决问题的框架** 确定目标 : 业务需求 -> 数据 -> 特征工程 训练模型 : 定义模型 -> 定义损失函数 -> 优化算法 模型评估: 交叉验证 -> 效果评估 (准确率,召回率 ……) </br> <h2 id="2">2. 什么是神经网络</h2> [参考链接](http://blog.csdn.net/zzwu/article/category/243067) </br> <h2 id="3">3. tensorlow介绍</h2> 2015年11月9日谷歌开源了人工智能系统TensorFlow,同时成为2015年最受关注的开源项目之一。TensorFlow的开源大大降低了深度学习在各个行业中的应用难度。TensorFlow的近期里程碑事件主要有: 2016年11月09日:TensorFlow开源一周年。 2016年09月27日:TensorFlow支持机器翻译模型。 2016年08月30日:TensorFlow支持使用TF-Slim接口定义复杂模型。 2016年08月24日:TensorFlow支持自动学习生成文章摘要模型。 2016年06月29日:TensorFlow支持Wide & Deep Learning。 2016年06月27日:TensorFlow v0.9发布,改进了移动设备的支持。 2016年05月12日:发布SyntaxNet,最精确的自然语言处理模型。 2016年04月29日:DeepMind模型迁移到TensorFlow。 2016年04月14日:发布了分布式TensorFlow。 TensorFlow是一种基于图计算的开源软件库,图中节点表示数学运算,图中的边表示多维数组(Tensor)。TensorFlow是跨平台的深度学习框架,支持CPU和GPU的运算,支持台式机、服务器、移动平台的计算,并从r0.12版本开始支持Windows平台。 TensorFlow 是一个编程系统, 使用图来表示计算任务. 图中的节点被称之为 op (operation 的缩写). 一个 op 获得 0 个或多个 Tensor, 执行计算, 产生 0 个或多个 Tensor. 每个 Tensor 是一个类型化的多维数组. 例如, 你可以将一小组图像集表示为一个四维浮点数数组, 这四个维度分别是 [batch, height, width, channels]. 一个 TensorFlow 图描述了计算的过程. 为了进行计算, 图必须在 会话 里被启动. 会话 将图的 op 分发到诸如 CPU 或 GPU 之类的 设备 上, 同时提供执行 op 的方法. 这些方法执行后, 将产生的 tensor 返回. 在 Python 语言中, 返回的 tensor 是 numpy ndarray 对象。 </br> <h3 id="3.1">3.1 安装</h3> Tensorflow提供了各种安装方式,包括Pip安装,Virtualenv安装,Anaconda安装,docker安装,源代码安装。 首先安装 pip (或 Python3 的 pip3 ): ``` # Ubuntu/Linux 64-bit $ sudo apt-get install python-pip python-dev # Mac OS X $ sudo easy_install pip ``` Linux系统下,使用Pip的安装流程如下: ``` # Ubuntu/Linux 64-bit, CPU only, Python 2.7: $ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl # Ubuntu/Linux 64-bit, GPU enabled, Python 2.7. Requires CUDA toolkit 7.5 and CuDNN v4. # For other versions, see "Install from sources" below. $ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl ``` TensorFlow会安装到/usr/lib/python2.7/site-packages/tensorflow目录下。 </br> MacOS ``` # Mac OS X, CPU only: $ sudo easy_install --upgrade six $ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl ``` </br> <h3 id="3.2">3.2 常用API</h3> 使用 TensorFlow, 你必须明白 TensorFlow: + 使用图 (`graph`) 来表示计算任务. + 在被称之为 会话 (`Session`) 的上下文 (context) 中执行图. + 使用 tensor 表示数据. + 通过 变量 (`Variable`) 维护状态. + 使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据. tf.random_uniform([1], -1.0, 1.0): 构建一个tensor, 该tensor的shape为[1],该值符合[-1, 1)的均匀分布。其中[1]表示一维数组,里面包含1个元素。 tf.Variable(initial_value=None): 构建一个新变量,该变量会加入到TensorFlow框架中的图集合中。 tf.zeros([1]): 构建一个tensor, 该tensor的shape为[1], 里面所有元素为0。 tf.square(x, name=None): 计算tensor的平方值。 tf.reduce_mean(input_tensor): 计算input_tensor中所有元素的均值。 tf.train.GradientDescentOptimizer(0.5): 构建一个梯度下降优化器,0.5为学习速率。学习率决定我们迈向(局部)最小值时每一步的步长,设置的太小,那么下降速度会很慢,设的太大可能出现直接越过最小值的现象。所以一般调到目标函数的值在减小而且速度适中的情况。 optimizer.minimize(loss): 构建一个优化算子操作。使用梯度下降法计算损失方程的最小值。loss为需要被优化的损失方程。 tf.initialize_all_variables() / tf.global_variables_initializer(): 初始化所有TensorFlow的变量。 tf.Session(): 创建一个TensorFlow的session,在该session种会运行TensorFlow的图计算模型。 sess.run(): 在session中执行图模型的运算操作。如果参数为tensor时,可以用来求tensor的值。 <h2 id="99">附录</h2> 1. [TensorFlow官方链接](https://www.tensorflow.org/)</br> 2. [极客学院:TensorFlow 官方文档中文版](http://wiki.jikexueyuan.com/project/tensorflow-zh/)</br> 3. [官方GitHub仓库](https://github.com/tensorflow/tensorflow) 4. [中文版 GitHub 仓库](https://github.com/jikexueyuanwiki/tensorflow-zh)