Bootstrap

李宏毅机器学习课程知识点摘要(1-5集)

前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

;