【Xavier】TF学习小组总结_Week1

机器学习

#1

研二小白,这个学期刚开始系统的学习数据科学,希望能坚持下去,加油!

思考问题:

1.机器学习中,监督学习or非监督学习概念区分,应用场景调研?

从李宏毅老师的教学视频中了解到,机器学学习包括:监督学习(Supervied Learning)、半监督学习(Semi_supervised Learning)、非监督学习(Unsupervised Learning)、迁移学习(Transfer Learning)、强化学习(Reinforcement Learning)。

其中:

  • 监督学习中全部training data 具有输出/标签(output/label)。应用场景:天气预报、Alpha Go

  • 半监督学习中training data同时具有labeled data 和unlabeled data

  • 非监督学习中trading data全部都是unlabeled data,让机器通过大量学习无师自通 。应用场景:图像处理,生物医学

  • 迁移学习主要是相对监督学习来说,具有部分与Data not related to the task considered

  • 强化学习是从评价中学习,而不是告诉机器如何去产生正确的动作。应用场景:Alpha Go

2.做机器学习项目,有哪些环节?

做机器学习项目,首先我们需要用Traniing Data训练模型,然后用验证集评估模型,再改进模型,最后投入使用

在训练模型阶段有三个环节:

  • 确定一个假设空间(hypothesis space),也就是A set of function;

  • 确定评价准则(evaluation criterion),评价模型好坏

  • 挑选出最佳模型

3.深度学习,目前有哪些应用领域?

  • 图像分类

  • 物体检测

  • 生物医疗

  • 搜索和推荐

4.数据预处理,需要注意哪些?

数据预处理是基于原始数据存在的几个问题:不一致;重复,含噪声;维度高。

数据预处理遵循以下原则:

  • 尽可能赋予属性名和属性值明确的含义;

  • 去除惟一属性;

  • 去除重复性;

  • 合理选择关联字段。

常见的数据预处理方法

  • 数据清洗:数据清洗的目的不只是要消除错误、冗余和数据噪音,还要能将按不同的、不兼容的规则所得的各种数据集一致起来。

  • 数据集成:将多个数据源中的数据合并,并存放到一个一致的数据存储(如数据仓库)中。这些数据源可能包括多个数据库、数据立方体或一般文件。

  • 数据变换:找到数据的特征表示,用维度变换来减少有效变量的数目或找到数据的不变式,包括规格化、规约、切换和投影等操作。

  • 数据规约:是在对发现任务和数据本身内容理解的基础上,寻找依赖于发现目标的表达数据的有用特征,以缩减数据模型,从而在尽可能保持数据原貌的前提下最大限度的精简数据量,主要有两个途径:属性选择和数据抽样,分别针对数据库中的属性和记录。

5.tensor flow运行原理,架构有哪些核心点?

TensorFlow是用数据流图(data flow graphs)技术来进行数值计算的。 数据流图是描述有向图中的数值计算过程。有向图中,节点通常代表数学运算,边表示节点之间的某种联系,它负责传输多维数据(Tensors)节点可以被分配到多个计算设备上,可以异步和并行地执行操作。因为是有向图,所以只有等到之前的入度节点们的计算状态完成后,当前节点才能执行操作。 。

  • TensorFlow 用图来表示计算任务,图中的节点被称之为operation,缩写成op。

  • 一个节点获得 0 个或者多个张量 tensor,执行计算,产生0个或多个张量。

  • 图必须在会话(Session)里被启动,会话(Session)将图的op分发到CPU或GPU之类的设备上,同时提供执行op的方法,这些方法执行后,将产生的张量(tensor)返回。

总结过程就是:建图->启动图->运行取值

6.学习中的知识点收获记录

通过第一周课程内容,了解了机器学习的基本概念,不同机器学习方法的区别,以及机器学习的项目执行过程,。另外通过MITCS231N课程了解深度学习的发展历史,和视觉识别领域不同派别的区别。并且通过查阅资料了解了Tensorflow的基本原理,以及架构,受益匪浅。

#实践任务:

a:安装tensorflow环境,了解tensorflow工作基本原理,基础概念

因为我之前已经安装过Anaconda 3.6和配置好了Jupyter运行环境,所以直接用pip就可以安装

promote:~ xavier$ pip install tensorflow

在Jupyter中运行,看是否安装成功

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
 
b'Hello, TensorFlow!'

Tensorflow基本概念:

  • Tensor TensorFlow 程序使用 tensor 数据结构来代表所有的数据, 计算图中, 操作间传递的数据都是 tensor. 你可以把 TensorFlow tensor 看作是一个 n 维的数组或列表. 一个 tensor 包含一个静态类型 rank, 和 一个动态类型shape.

  • 阶(Rank) 在TensorFlow系统中,张量的维数来被描述为阶. 但是张量的阶和矩阵的阶并不是同一个概念. 张量的阶(有时是关于如顺序或度数或者是n维)是张量维数的一个数量描述.

  • 形状 (Shape) TensorFlow文档中使用了三种记号来方便地描述张量的维度:阶,形状以及维数.

  • 数据类型 (Type) 除了维度,Tensors有一个数据类型属性.你可以为一个张量指定数据类型中一个类型。

b.使用 tf计算算式的值:x=2 ,y=3,z=7 求解:res=x*y+z的结果

c.使 tf计算求解,矩阵乘法结果:矩阵乘法: A :[[3., 3.]]B: [[2.],[2.]] A矩阵和B矩阵的乘法运算。

参考文献:

http://blog.csdn.net/a595130080/article/details/55506237 http://blog.csdn.net/weixin_30014549/article/details/52529036
http://blog.csdn.net/yehui_qy/article/details/53791006