机器学习
一、机器学习简介
1. Maching learning
- 让机器具备找一个函式的能力
- Machine Learning ≈ Looking for Function
- Speech Recognition 声音辨识
- Image Recognition 图像辨识
- Playing Go
- 找到一个函数,输入就是棋盘上黑子跟白子的位置,输出就是下一步应该落子的位置
2. Different types of Functions
- Regression:The function outputs a scalar. 输出是一个数值
- Classification:Given options(classes), the function outputs the correct one. 先准备好一些选项,这些选项又叫作类别,函数的输出就是从我们设定好的选项里面选择一个当作输出
- Gmail 里有一个函数帮我们侦查是否是垃圾邮件
- 函数的输入是一封电子邮件,输出的是yes或no
- Structured Learning
- create something with structure(image, document)
- 叫机器产生有结构的东西的问题叫做 Structured Learning
- 要机器学会创造某些事情
3. How to find a function?
- 机器怎么找一个函数?
- 例子:函数的输入是youtube后台的资讯,输出是这个频道隔天的总点击率有多少。根据一个频道过往所有的资讯去预测它明天有可能的观看的次数是多少呢?
3.1 Function with Unknown Parameters
- 写出一个带有未知参数的函数(随便写出)
- Model(模型)在机器学习中就是一个带有未知的Parameter的Function
- 已知2月25日点阅的总人数是多少,这叫做feature
- w和b是unknown parameters,weight and bias
3.2 Define Loss from Training Data
- Loss is a function of parameters L(b,w)
- Loss就是一个函数,输入是b和w,输出的值代表说如果我们把这一组未知的参数设定某一个数值的时候,这个数值好还是不好
- Loss: how good a set of values is.
- 训练资料:从2017年到2020年的点阅次数
- 如何计算Loss?
- 把2017年1月1号的点阅次数代入函数里,也就是我们想知道b设定为0.5k,w设定为1时,这个函数有多棒
- 如果1月1号是4.8k的点阅次数的话,隔天应该是5.3k的点阅次数,隔天实际点阅次数是4.9k
- e1代表估测的值跟真实的值之间的差距,label指的是正确的数值
- L是每一笔训练资料的误差的e相加的结果,L越大,代表这一组参数越不好
3.3 Optimization
- 随机选择一个初始的点,在w等于w0,w这个参数对loss的微分是多少(计算这一个点在w0这个位置的error surface的切线斜率),也就是这一条蓝色的虚线
- 计算w1微分的结果,然后再决定现在要把w1移动多少
- 不断的把w移动位置,最后会停下来,微分的项算出来是0的时候,参数就不会再移动位置(理想状况)
- 两个参数
- 计算w对L和b对L的微分
- 计算w对L和b对L的微分
4. More
- 观察了真正的数据后,得到一个结论是:每隔七天有一个循环
- 所以要把前七天的观看人数都列入考虑
- 写了一个新的模型