说明:本人正在跟随台大李宏毅老师的课程学习,为了加强学习效果,特写成blog来记录,所有博客中的图片均截取自李宏毅老师的PPT。
一、机器学习是在干什么?
以中学时代所学的函数为例,做应用题时我们都会建立相应的正比例函数、二次函数等来解决,给定一个自变量x都能得到唯一的因变量y。现在我想找到一个函数ƒ,它的输入并不是数字,而是一段语音,最后相应的文字,亦或输入的是一副图片,最后输出的是图片中的内容,那么如何求解该函数?显然,人类做不到,那就交给机器(计算机)来找!
二、不同类型的函数(亦即不同的任务)
Regression(回归问题类):输出的是scalar(标量),标量只有大小而无方向,可以表示温度、湿度、长度等。>scalar(标量),标量只有大小而无方向,可以表示温度、湿度、长度等。
Classification(分类):给一些选项或类别,函数可以输出正确的一类(class),一个one-hot向量
Structured Learning(结构化预测):输出一个句子或一张图……输出的是结构化结果
三、机器学习的三个步骤
以预测隔天的视频点击量为例
1. Function with unkonwn parameters
写出一个带有未知参数的函数,先预测一下这个函数会是什么形式(基于数据所在领域的一些先验知识)
设:\(y = b + w*x_1\),其中y是要预测的第二天的值,\(x_1\)是当天已知的值,\(b\)和\(w\)是未知的参数,要通过后面的步骤来确定(从大量数据中学习)
2. Define Loss from Training Data
Loss是一个函数,输入的参数就是第1步中未知的b和w,记为$L(b, w)$
Loss函数判断的是当确定一组b和w时,输出的数据“好不好”
假设b = 0.5k,w = 1,即\(L(0.5k, 1)\),有\(y = 0.5k + x_1\),我们要判断此时该函数是否够准确,即预测值与实际值(Label)之间的误差大不大
假如我们将每天的实际点击量与预测点击量作差,然后累加求平均值,即 \(L = \frac{1}{N}\sum_n{e_n}\)
其中N表示training data的个数,n代表有多少天,\(e_n\)表示每天的误差。则L越大,代表当前选择的\(b\)与\(w\)不好,L越小代表这一组参数越好。
注意其中\(e = \lvert y – \widehat{y} \rvert\) L is mean absolute error(MAE:平均绝对误差);
\(e = (y – \widehat{y}) ^2\),L is mean square error(MSE:均方误差),两种方法可以根据实际情况确定
3. Optimization
解一个最优化问题,如本例中我们要找到一组最好的w与b,即\(w^*,b^* = arg min_{w,b} L\),我们用到的optimization方法是Gradient Descent即梯度下降法。
Graient Descent
简化一下,假如目前我们只考虑参数w
- (randomly)pick an initial \(w^0\)
- Compute $\dfrac{\partial y}{\partial x}|_{w = w^0} $
- Update \(w\) iteratively
\(w^1 \leftarrow w^0 – \eta\dfrac{\partial L}{\partial w}|_{w = w^0}\)
当偏导数为负时,左高右低 $\longrightarrow $ Loss函数递减 $\longrightarrow $ 增大w使其值减小
当偏导数为正时,左低右高 $\longrightarrow $ Loss函数递增 $\longrightarrow $ 减小w使其值减小
也就是说我要朝哪个方向迈出去走到新的 \(w_1\)处,走的这段距离不仅与偏导数有关,还与 学习率(learning rate)\(\eta\) 有关,即 \(\eta\dfrac{\partial L}{\partial w}|_{w = w^0}\)
这里的 \(\eta\) 是自己根据情况自行设定的,在机器学习中自己设定的参数叫 hyperparameters
w走到什么时候会停止?一是可以自己设定,求多少次微分后就停止;二是找到一个最小值时
回到最初的两个参数的情况,即\(w^*,b^* = arg min_{w,b} L\)
- (Randomly)Pick initial values \(w^0\), \(b^0\)
- Compute \(\dfrac{\partial L}{\partial w}|_{w = w^0, b = b^0}\) \(\dfrac{\partial L}{\partial b}|_{w = w^0, b = b^0}\)
- Update \(w\), \(b\) iteratively
\(w^1 \leftarrow w^0 – \eta\dfrac{\partial L}{\partial w}|_{w = w^0}\)
\(b^1 \leftarrow b^0 – \eta\dfrac{\partial L}{\partial b}|_{b = b^0}\)
不停地更新下去,直到找到一组最优值
上面的 \(y = b + w*x_1\)我们只考虑了一天,我们对model加强一下,让它能够根据更多的数据来预测,可以写作:
\[y = b + \sum_{j = 1}^{n}w_jx_j \]
同理,\(x_j\)是第j天的feature播放量,\(w_j\)是权值,\(b\)是bias,\(n\)是前多少天
这类模型通称为Linear Models(线性模型)
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容