机器学习的任务:
- regression:输出是一个标量scalar;
- classification:给出多个classes,输出正确的类别;
- structured learning:创造有结构的东西,比如生成一个图片或者文档;
机器学习完成任务,是通过找到一个function来实现的,一个案例学习:以youtube每天的点击量预测为例
1. 先写出一个有未知参数的function作为model,想用哪个函数来实现任务;介绍model,feature,weight,bias四个概念
2. 定义一个loss function:L(b, w),它是一个把上述未知参数作为自变量的函数,这个函数是要评价这些参数的设定究竟好不好,通过training data进行计算
选择一个loss函数,这里用了预测结果与label的绝对误差的平均值作为了loss,loss函数有很多种形式。通过training data使用目前确定的w和b来得到预测结果,计算loss。
3. 进行优化:表现最好的参数,是能让loss最小的参数,所以要针对这一问题进行优化
优化方法:gradient descent(梯度下降)
以一个参数的优化过程为例如上图;目前可以看到的GD的缺陷:可能无法找到全局最小值,而是陷入到局部极小值处;比如上图到了w1右边的极小值点,再怎么更新都无法跑到再右边的最小值去了。(但是老师说GD真正的痛点并不是这个)
超参数 hyperparameters
在机器学习中需要自己设定的参数
上述三步是机器学习的训练过程,根据已知的trainning data进行模型的训练;下面进行测试,看一下测试的效果,可能会比较不如意;
4. 根据测试的结果,根据你的domain knowledge,需要对模型进行修改。
比如对观看人数的预测,你发现明显数据是七天一周期的变化,那用前七天来进行预测显然比用前一天的预测更加好一些。
Linear Model
(上面的例子就是一个linear model)
线性模型太简单,特征和label的关系永远都是线性的,但是事实上可能有非线性的关系,那线性模型无论怎么训练都无法很好的拟合了。
这种局限叫做model bias。
喜欢的朋友记得点赞、收藏、关注哦!!!