# 1.机器学习就是让机器找函数(函数模型)
1. 这个函数人类没有能力做到,我们期望机器自己发现。比如声音识别,图像识别,下围棋的下一步计算。
2. 不同类别的函数:
1. [[regression回归]]:输出的是一个数值,**标量**(scale)。e.g.预测明天的空气质量
2. [[classification]]:设定好选项,输出选项。Alphago其实也就是这个分类选择的问题——找出最优的落子点
3. [[structured Learning结构化学习]]:让机器产生一个有结构的东西:文章or图像。
3. 案例:
1. 目标函数:预测未来频道的订阅人数变化
2. 步骤:
1. **写出一个带有未知参数的函数**(这个被假设的函数模型就是[[Modle]]):预测一些这个数学函数的形式:猜测y=b+wx,y是下一天的订阅,x是即今天的订阅次数,这个是一个猜测是一个线性的关系。x是[[feature]]已知的量,与[[festure]]相乘的是**weight权重**,相加的称为[[bias]]偏差
2. 定义==损失loss==:LOSS本身是一个函数,输入的是权重weight和偏差bias。也就是L(b,w)。它输出的值来衡量这个model拟合效果如何。e.g.如果用L(0.5k,1)在已知的数据中计算,比较估计值和真实值的差(有点类似高中数学的**残差**),这个真实值被称为**label**,每一组数据计算出差**e=|真实值-预测值|**。对总的误差取平均值,就是总的Loss:L=1/N(sigma en)
1. 多种损失:
2. MAE:L is mean absolute error:**平均绝对误差**
3. MSE:L is mean squared error:**均方误差**
4. 用你的选择计算loss,用不同的b和w计算出的L画出等高线,形成==误差表面==蓝色代表L较小,红色代表L较大
5. ==损失函数是由你自己决定的==所以loss值的正负也由你设定
3. **最佳化**:寻找出让L最小的w与b,我们把最好的这组成为w\*与b\*。采用的方法==Gradient Decent梯度下降==。
1. 首先选定针对w,画出不同w下L的值的曲线,首先**随机选择一个值W0**然后计算w对L的微分此时w=w0(就是算出曲线在w0处切线斜率)如果斜率小于0,左高右低,要将w值增大得到更小L对应的w;斜率大于0则反之。这样确定了**下一个w的方向**
2. 根据方向来移动,移动的距离多大合适?步长大小为![[Pasted image 20240826105354.png]]也就是**负的学习率\*微分值**
3. eta学习率是由你自己设定的一开始预测的函数模型也是你自己预测的。这些机器不能得到的被成为**超参数**hyperparameter,它由训练者设定
4. 于是你就得到w1,然后不断继续计算寻找,最后会停下:
1. 参数更新到达极限:更新的次数也是超参数
2. 得到一个微分值为0,得到最小值
5. 但是这个方式你会找到L函数的**极小值**(local minima)而我们要找到的是**最小值**,会存在这样的有一个问题。
6. 推广到w和b两个参数:选定一个w0和b0然后分别微分,再得到w1和w2,最后得到wt与bt!
Datawhale X 李宏毅苹果书 AI夏令营:机器学习概念
最新推荐文章于 2024-10-31 17:05:07 发布