#DatawhaleX李宏毅苹果书 AI夏令营#task2

通过学习文章,我学到了一些新的知识。

一、线性模型的基本概念

1. 线性模型是将输入的特征x乘上一个权重,再加上一个偏置就得到预测结果的模型。

2. 例如,最初的模型为y = b + wx_1,其中x_1代表前一天的观看人次。

二、线性模型的改进

1. 观察数据发现每隔7天有一个循环,因此修改模型为,考虑了前7天的观看人次。

2. 进一步考虑更多天,如考虑28天的模型为,在训练数据上损失更小。

3. 但考虑更多天无法再降低在未看过数据上的损失,似乎达到了极限。

三、线性模型的局限性与解决方案

1. 线性模型过于简单,无法模拟x1跟y中间复杂的关系,如分段线性曲线或其他复杂曲线。

2. 为解决此问题,引入Hard Sigmoid函数和Sigmoid函数来逼近复杂曲线。

3. 通过调整Sigmoid函数的参数(b、w和c),可以制造不同形状的Sigmoid函数,进而逼近各种分段线性函数和连续函数。

4. 可以使用多个特征代入不同的c、b、w,组合出更有灵活性的函数。

四、梯度下降与参数优化

1. 在优化过程中,使用梯度下降来找出可以让损失最低的参数。

2. 当参数较少时,可以穷举所有可能的参数值;但参数多时,需使用梯度下降。

3. 定义损失函数为L(θ),其中θ统设所有的参数。 4. 梯度下降的过程为:随机选取初始值θ0,计算梯度g = ∇L(θ0),然后根据梯度更新参数θ1 = θ0 - ηg,以此类推。

5. 实际使用梯度下降时,会将数据分成批量(batch),每个批量包含若干笔数据。每次用一个批量的数据计算损失L,根据L计算梯度,再用梯度更新参数。

6. 把所有批量都看过一次称为一个回合(epoch),每一次更新参数叫做一次更新。

五、模型变形与激活函数

1. Hard Sigmoid可以看作是两个修正线性单元(ReLU)的加总,将Sigmoid的地方换成max(0, b + wx)即可使用ReLU。

2. Sigmoid或ReLU称为激活函数,常见的激活函数还有其他,但Sigmoid和ReLU最常见。

3. 实验中使用更多的ReLU可以制造更复杂的曲线,降低训练数据上的损失,但在未看过的数据上的损失可能不会变化。

六、深度学习与神经网络

1. 许多的神经元称为神经网络,每一排神经元称为一层,称为隐藏层,很多隐藏层就“深”,这套技术称为深度学习。

2. 随着神经网络层数的增加,错误率会降低,但可能会出现过拟合问题,即在训练数据上表现好,在未看过的数据上表现差。

3. 深度学习的训练会用到反向传播(BP),它是一种更有效率计算梯度的方法。

七、机器学习框架的步骤

1. 写出一个有未知数θ的函数$f_θ(x)$,输入特征为x。

2. 定义损失函数,判断参数的好坏

3. 解优化问题,找到使损失最小的θ

4. 将θ*带入测试集,输出结果并上传到Kaggle。

在遇到问题时要学习搭建机器学习框架,可以用一些函数来解决问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值