什么是机器学习
机器学习可以看作是找函数的问题,其类型可以分为回归,分类,结构化学习
回归是根据一个预测对象的相关数值因素,来预测该对象的未知数值。例如:预测PM2.5的明天的数值,则可以将今天的PM2.5相关数值,温度,臭氧浓度等相关数值作为输入,则由机器学习模型(可看作一个函数)来预测下一天的PM2.5数值作为输出
分类是对于输入对象可以根据模型算法来进行分类,其分类结果的范围是已知的,其标签是已经设定好的。分类任务要让机器做选择题,例如:AlphaGo,其输出结果也是分类结果,即棋盘19*19的位置作为分类标签。
结构化学习:机器不只是要做选择题或输出一个数字,而是产生一个有结构的物体,比如让机器画一张图,写 一篇文章。这种叫机器产生有结构的东西的问题称为结构化学习。
机器学习如何找到函数
第一步骤:写出带有位置参数的函数,例如:y = b + wx1,y是预测的东西,x1是已知因素的数值(该数据可以查到),b,w是未知模型参数,确保模型的准确性,就要找到最好的b,w参数
第二步骤:定义模型参数的损失loss,假设损失函数为 L(b,w)
损失函数:
损失函数其计算方式多样,例如:平均绝对误差(Mean Absolute Error,MAE),均方误差(Mean Squared Error,MSE),交叉熵(cross entropy)等,需要根据具体的情况来进行选择损失函数计算公式。
选择不同的w,b计算损失值,进行比较,画出来的等高线图【误差表面(error surface)】
第三步骤:找出一组损失值最小的w,b 。
如果算 出来的斜率是正的,就代表左边比较低右边比较高。左边比较低右边比较高,如果左边比较低 右边比较高的话,就代表把 w 变小了,w 往左边移,可以让损失的值变小。这个时候就应该 把 w 的值变小。
我们可以想像说有一个人站在这个地方,他左右环视一下,算微分就是左右 环视,它会知道左边比较高还是右边比较高,看哪边比较低,它就往比较低的地方跨出一步。 这一步的步伐的大小取决于两件事情:
• 第一件事情是这个地方的斜率,斜率大步伐就跨大一点,斜率小步伐就跨小一点。
• 另外,学习率(learning rate)η 也会影响步伐大小。学习率是自己设定的,如果 η 设 大一点,每次参数更新就会量大,学习可能就比较快。
不断地移动 w 的位置,最后会停下来。往往有两种 情况会停下来:
第一,设置参数更新次数;第二,算出来这个微分的值是 0