前5集
过拟合:
参数太多,导致把数据集刻画的太完整。而一旦测试集和数据集的关联不大,那么预测效果还不如模糊一点的模型
所以找的数据集的量以及准确性也会影响
由于线性函数的拟合一般般,所以用一组函数去分段来拟合
sigmoid函数是神来之笔,可以用激活函数去理解
用线性代数来引入神经网络中网络这一概念,想到i与j是不是就自然想到了网络?
sigmoid是函数,而wij就是每个函数里面的参数
先生成一个曲线,然后再把弹性的曲线相加
这里把所有的不管是什么的参量全部抽象、泛化成一个θ向量,
然后用梯度的方法来不断接近,靠update来修正
用到了哈密顿算子,g就直接是对每个参数求偏导
η在这里是学习率,可以自己设置。由于θ0是随意设的,然后减去导数乘学习率的微分,导数小就乘的小呗。
然后我们分割数据集,引入两个名词,epoch和batch
在机器学习中,epoch(周期)是指训练数据集通过模型一次的完整遍历过程。简单来说,1个epoch意味着所有的训练样本都被用来更新模型的参数一次。
batch size=example/epoch
batch size就是一小堆有多少,分成一堆一堆的。最好要分的均匀,不然每个的bias不一样
另一种激活函数,ReLU。两者被统称为activation function(还有其他的)
sigmoid是一个非线性函数,
Sigmoid 其实不是一个线性的函数,它是一个 **非线性** 函数。让我们深入分析一下:
Sigmoid 函数的数学形式:
Sigmoid 函数(也称为 logistic 函数)的数学表达式为:
$$
\sigma(x) = \frac{1}{1 + e^{-x}}
$$
这个函数的形状是一个“S”形曲线,输出值的范围在 0 到 1 之间。它的关键特性包括:
- 当 \( x \to \infty \) 时,\( \sigma(x) \to 1 \)
- 当 \( x \to -\infty \) 时,\( \sigma(x) \to 0 \)
- 在 \( x = 0 \) 时,\( \sigma(x) = 0.5 \)
Sigmoid 函数的非线性特性:
曲线形状:
Sigmoid 函数的输出是平滑的 S 型曲线,即它在输入值很大或很小时趋近于常数(0 或 1),而在输入值接近 0 时变化最快。
一般我们会选择ReLU
这里选择function不断的进行更新之后,多做几次多做几次
每一层中可以有很多个的ReLU
最后我们就给他赋予一个名字——神经网络
每一个激活函数就是神经元
假设你有一个简单的神经网络,包括一个输入层和一个隐藏层:
### 输入:
\( x_1, x_2 \)(可能是原始数据或前一层的输出)
### 权重:
\( w_1, w_2 \)
### 偏置:
\( b \)
### 激活函数:
假设我们使用 **ReLU** 激活函数。
那么每个隐藏层神经元的计算过程是:
1. **加权求和**:
$$
z = w_1 \cdot x_1 + w_2 \cdot x_2 + b
$$
2. **激活函数**:
$$
\text{output} = \text{ReLU}(z)
$$
在这里,**ReLU** 就是激活函数,它决定了神经元的输出。
---
### 总结:
- **神经元** 是神经网络中的基本单元,负责接收输入、进行计算和输出结果。
- **激活函数** 是神经元中的一个部分,它对神经元的计算结果进行非线性变换,从而使神经网络能够学习复杂的模式。
layer就是neuron