一、机器学习的主要两大分类
Regression(回归):回归问题通常是用来预测一个值,预测的结果是连续的,例如预测明天的温度,23,24,25度。举个最简单的例子:假设机器要预测未来某一个时间的 PM2.5 的数值。机器要找一个函数 f,其输入是可能是种种跟预测 PM2.5 有关的指数,包括今天的PM2.5 的数值、平均温度、平均的臭氧浓度等等,输出是明天中午的 PM2.5 的数值,找这个函数的任务称为回归(regression)。
Classification(分类):分类问题是用于将事物打上一个标签,预测的结果是离散的,例如预测明天天气,阴,晴,雨。同样举一个例子:每个人都有邮箱账户,邮箱账户里面有一个函数,该函数可以检测一封邮件是否为垃圾邮件。分类不一定只有两个选项,也可以有多个选项。
Structured Learning(结构化学习):由于问题的多元化,所以不局限于回归问题和分类问题,结构学习指的是输入和输出都是具有结构化的对象(数列、列表、树、边界框等)
例1:通过Youtobe的后台数据预测接下来的数据
1.通过猜测假定该函数的数学式(注意,猜测都是有依据的,来自于对这个问题本质上的理解,因此也被称之为领域知识),比如这里假定为:
(对于该函数整体,其实就是Model模型(即,带有未知的参数的函数),x是我们输入的已知数,也就是feature特征值,w和b是我们需要计算出来的参数,分别代表weight权重和bias偏置)
2.制定Loss损失函数,L(b,w)计算对应的误差,L(b,w)指的是将对应的b和w带入而得到的函数,通过代入不同的x得到相应的e(e指的误差,可以是实际值和预测值的差,也可以是差的平方),最后的得到的L值为所有e的平均值。(这里注意,我们拿去计算e的时候,是假设的b和w的数据,随后将真实值x代入其中,这里的x被称作label标签)
MAE平均绝对误差:
MSE均方误差:
Loss:
上述公式中,N代表训练数据的个数。
我们通过不断的更改b和w的值,可以由此获得一个b和w等高线图,一般来说红色区域的LOSS值较高,蓝色区域的LOSS值较小,可以从蓝色区域中选择最优解。(这个等高线图,被称作误差表面)
3.Optimization(最优化),找到一组b和w,使Loss函数最小,此时的b和w写作b*和w*,用公式表达即:
这里使用的方法是Gradient Descent(梯度下降法)
先假设LOSS函数只关于b或者只关于w,将另外一个参数暂时忽略,得到一个函数图像,随后对任意一点取微分。根据微分的数值,将选取的w 0 进行左右平移。
而w每次左右平移的取值有这样一个公式:
这里的η指的是Learning rate(学习率),学习率越高,平移速度越快,学习率越低,平移速度越慢。但是学习率越低,损失函数的变化速度越慢,容易过拟合
在机器学习过程中需要自己设定的东西叫做hyper parameters(超参数)
这里从w0 开始,往后依次到w1 ,w2 ,w3 ,期间两者之间的距离d就是η乘上前一个w对L的微分,用数学表达式则为:
如此,一直移动,当微分算出来为0时(或者我们手动停止机器学习)训练结束,最后移动到wT的位置,我们会发现此时的wT并非是Loss函数最小值,后续还有更小的值,此处的wT我们称之为Local minima(局部最优),而真正的最小值则是global minima(全局最优)。
由此,我们扩展到两个变量b和w的形式,方法相同:
对于选取的初始点,每次都计算对应的微分,乘上学习率逐步调整方向,最后找到需要的点,此处既有最好的w和b。
这里计算完毕之后,很明显为了更新参数,应该是让函数值往小了变,所以我们应该在刚好相反的方向上变化,所以应该是乘以负的η乘上前一个w对L的微分。