tensorflow学习要点(持续更新中)

1.    minst数据集的保存形式:

2.    tf.clip_by_value()函数

        在计算交叉熵的函数中,用到了  tf.clip_by_value()函数,这个函数的作用是为了规范化用于交叉熵函数的参数,因为交叉熵函数涉及到log函数,都知道log函数的定义域是大于0的,所以当log函数的参数小于0时就会出现意想不到的错误,so......

  

可知第一个参数是数据集,第二三个参数是限制数据集的范围

3.    tf.greater()  和  tf.select() 函数

        为了实现如下类似的函数,tensorflow才封装出这两个函数的。

        

        tf.greater()的返回值是布尔型数组,当V1的相对应元素>V2的相对于元素时返回True,反之为false。然后tf.select()函数会根据tf.greater()的返回列表选择对应的元素,见下例子:

        

4.    过拟合

        例子,在分类问题中的过拟合,见下图:

       

        从上图中可以看出第三个图的分界线的那些过分凹进去和凸出来的部分是不必要的

5.   神经网络的训练

        这里所谓的训练,我我们日常生活中的训练可不是一回事,比如日常生活中的你去拿起一个瓶子,因为你不知道瓶子有多重,然后你慢慢的试着去拿瓶子,然后你手上的力慢慢变大,然后你看到瓶子被你提起来了,然后就保持这个力不变了,这里面有负反馈的机制存在(有兴趣的可以去看看自动控制原理)。

        但是,但是,但是,这里的训练和上面的这个案例可不一样哈,这里训练就是一个迭代循环的过程,求一个最优参数的过程。比如:

         y=-x^2+4.求y=0的解。

假设此时的x=0,然后迭代步长为1,所以经过两次就能求出一个 解x=2.但是含有一个值呢?反正原理就是这个个原理,用迭代的思想来求最优解。因为这里涉及到高等数学重的导数的定义和偏导数等,比如

所以呢,大家只要知道训练是怎么回事、不理解偏了就行,理解这个思想反正研究原理的人明白,会用的人会用就行咯。

补充:要求最小值,自变量就要往导数小于0(负梯度)的方向走,反之,求最大值自变量就要往正导数(正梯度)方向走。

猜你喜欢

转载自blog.csdn.net/qisheng_com/article/details/81841117
今日推荐