神经网络

机器学习笔记5 神经网络2 参数学习

Andrew Ng cs229 Machine Learning 笔记

成本函数(Cost Function)

以下是我们会用到的一些变量:

  • $L$表示神经网络的层数
  • $s_l$表示第$l$层的神经单元数(不包括偏差(bias)单元)
  • $K$表示输出单元数(分类数)

当有多个输出类别时,采用$h_\Theta(x)_k$表示第$k$个输出的假设结果。

神经网络的成本函数是logistic回归中的成本函数更普遍的一种形式。

logistic回归中的成本函数为:

机器学习笔记5 神经网络1 模型表达

Andrew Ng cs229 Machine Learning 笔记

神经网络

非线性假设

在特征变量数较大的情况下,采用线性回归会很难处理,比如我的数据集有3个特征变量,想要在假设中引入所有特征变量的平方项:

$$g(\theta_0 + \theta_1x_1^2 + \theta_2x_1x_2 + \theta_3x_1x_3 + \theta_4x_2^2 + \theta_5x_2x_3 + \theta_6x_3^2 )$$

共有6个特征,假设我们想知道选取其中任意两个可重复的平方项有多少组合,采用允许重复的组合公式计算$\frac{(n+r-1)!}{r!(n-1)!}$,共有$\frac{(3 + 2 - 1)!}{(2!\cdot (3-1)!)} = 6$种特征变量的组合。对于100个特征变量,则共有$\frac{(100 + 2 - 1)!}{(2\cdot (100-1)!)} = 5050$个新的特征变量。

可以大致估计特征变量的平方项组合个数的增长速度为$\mathcal{O}(\frac{n^2}2)$,立方项的组合个数的增长为$\mathcal{O}(n^3)$。这些增长都十分陡峭,让实际问题变得很棘手。

在变量假设十分复杂的情况下,神经网络提供了另一种机器学习算法。