总之,这种方式的机器学习肯定是更加先进的,但是需要消耗的资源也会更大 。深度学习由于是自动提取特征的,所以会导致我们有时候无法判断处究竟为什么会是这个模型,不便于我们分析问题,它就像一个黑盒一样,给它数据,它给你结果,而你很难了解里面发生了什么 。
3.1 神经元的组成
通常,一个神经元由一个 “线性模型” 和 一个 “激励函数” 组成 。线性模型其实就是上面提到过的线性回归模型 。
文章插图
如图就是一个神经网络,它共有两层,一个是神经元层(隐含层),一个是输出层 。通常我们在说一个网络的深度时,是不会把输入层不计入的 。
在神经元中,有一个线性模型 wx + b 和 一个激活函数 f 。我们的数据将会通过一个个的神经元,每个神经元都有一组权重,用于提取一类特征,相当于是我们把数据进行了一层一层的剖析 。
3.2 激励函数
激励函数,通常也会被称为激活函数,它是跟随在 f(x) = wx + b 函数之后,用来加入一些非线性的因素的 。通过激活函数,可以将线性函数作为输入,经过激活函数后,变成非线性的,这样一来就更接近真实世界的复杂情况了 。列举几个常用的激活函数,有助理解 。
3.2.1 Sigmoid函数
文章插图
文章插图
从函数可以看到,这个函数的值域为 (0,1),0.5值处为函数的对称中心 。有时在 <-4 和 >4 的区间中,函数曲线越来越趋于水平,也就是导数很趋于0,这会导致梯度下降时,我们的对权值的更新微乎其微,也就是出现梯度消失的问题 。
当然,它作为比较常用的激励函数,有其自己很适用的问题领域,比如二分类问题 。
3.2.2 ReLu函数y = max(x, 0)
文章插图
这是个很受欢迎的函数,光是看看它简洁的函数式你就不能拒绝它!这个函数在 > 0 的时候,输入就等于输出,计算量会小很多,所以收敛速度会快很多 。
3.2.3 Softmax
文章插图
这个函数看起来比较复杂,它通常被用于处理多分类问题 。可以看看它的定义式,就是个体在总体中的占比情况 。
文章插图
从图中可以很直观的看出这个函数的功能,就是各种分类的概率啊 。
3.3 独热编码
对于多分类问题,标注分类可以使用使用 独热编码 来进行,比如这样一个例子:
文章插图
就是说,有几个类型就定义一个几维的向量,然后向量中只有一个元素为1,其余均为0,通过1在向量中的位置来表示类型 。
3.3 过拟合和欠拟合
在训练过程中,可能会因为过拟合或者欠拟合而导致最终训练出来的模型准确率不足或者因泛化性差而导致准确率低 。
- 欠拟合
- 样本过少,无法归纳出足够的共性
- 过拟合
- 参数过多,导致在训练集上准确率很高,但换新样本会严重误判 。
现在开始,可以试着到 TensorFlow 官网看一些入门的 code 例子,然后结合这些概念理解下每个步骤是在干什么,为什么要这么做?
在前面,大家也会看到,在机器学习中用到了很多统计学的知识,所以很多人会认为机器学习其实就是统计学而已 。
实际上 CoorChice 认为,机器学习只是用了统计学作为工具,去研究解决问题,实际上它是有一套自己的理论和套路的,就像物理用数据作为工具去解决问题一样 。
机器学习在解决实际问题的过程中,会需要很多学科的交叉来分析问题,构建模型 。当然,总体的思想看起来还是很简单的,只不过面对真世界中的复杂情况下,其探寻求解过程会比较复杂 。
推荐阅读
- 美国为什么乱成一锅粥
- 什么是防火墙?防火墙的作用?
- 梦见坟墓有火是什么预兆 梦见坟墓火烧得很旺
- 梦见老鼠往自己身上爬是什么意思 做梦小老鼠爬到自己的身上
- PS图片磨皮技巧
- 梦见家中被盗是怎么回事儿? 梦见家被盗了预示什么
- 梦见和老婆的姐姐有情感是什么意思 梦见老公的姐姐是什么意思
- 胰腺炎不能吃什么
- 怀孕后不能吃什么
- 胆囊炎不能吃什么