一、简介
cost fuction是用来判断机器预算值和实际值得误差,一般来说训练机器学习的目的就是希望将这个cost function减到最小。本文会介绍如何找到这个最小值。
二、用一元一次方程式解释
假设现在有个一元一次方程式 h(x) = wx + b,要用来预测实际值y, 今天我输入了一组(x0, x1, x2......xm)and(y0, y1, y2, y3.......ym),那cost function = [(h(x0) - y0)**2 +......(h(xm) - ym)**2]/2m
函数的图如下
接着我们就要去改变w和b来找到让cost function J函数最低的值,方法为下
temp0 := w - α?J(w,b)/?w
temp1 := b - α?J(w,b)/?b
w := temp0
b := temp1
:=就是相当于程式语言里面的=,用右边的值取代左边。α是learning rate,在sklearn和tensorflow都可以配置,代表了学习速度,如果α越大代表优化的速度越快,但有可能会过头造成震荡,速度太慢会导致学习时间过长。这边要注意的是,必须要先对w,b两值进行完计算再替换,否则新的w会影响到b的计算。
原文:https://www.cnblogs.com/yenpaul/p/10122276.html