机器学习的简单理解

比如预测一张图片上是否有猫,首先要得到一个计算公式,把图片带进去可以计算得出1或者0,表示图片有猫和无猫两种情况。这个计算公式的输入是图片的特征,比如一张图片是64*64大小,RGB三种颜色,那么这张图片的特征数量就是64*64*3=12288这么多个,其中64*64表示图片上的像素的数量,3表示每个像素点点RGB数值,所以这种图片的特征总数就是12288个,其实就是图片上的所有点的RGB数值。图片以一维向量的方式输入到计算公式,公式里面的参数经过训练集的训练得到,可以以一定的概率通过测试集的测试,一般这个概率在95%以上。计算公式做了什么呢,其实就是将一维向量的各个元素加权求和,再加上一个偏移量,再功过一个函数转化为0-1之间的小数,如果这个小数大于0.5则认为有猫,反之无猫。

result = sigmoid(wx+b),其中w为各元素的权重,b为偏移量,这是一个线性模型

sigmoid函数的作用就是将wx+b的结果转换到0-1区间

w和b如何得到呢,这就需要用到监督学习了,学习过程中有一个训练集,有标签(表示训练集中的图片是否存在猫咪),训练完了还有测试集,用于测试训练结果。在这个模型中,训练的对象是w和b,要不断地调整这两个参数,使得预测准确率越来越高,因此需要得到一个关于准确率和w,b的函数L,求出dL/dw,dL/db,通过梯度下降算法来更新w和b,达到不断优化的目的。其中L叫做损失函数,其实是通过交叉熵来计算,为什么用他而不知平方差求和,还需要进一步了解学习。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章