1.机器学习基础与线性回归
机器学习就是计算机用数据来学习。通过给计算机一些数据,让计算机来学习,之后能够进行自主计算和判断。
比如先给计算机一些阿猫阿狗的图片,并且告诉计算机每张图片是什么(也就是标签),计算机通过这些喂进去的数据来学习。学习完后,计算机就具备自主判断能力,给计算机一张从未见过的阿猫或者阿狗的图片,计算机就能够给图片打一个标签(阿猫?阿狗?)。
而线性回归是机器学习中一个很重要的概念。我的理解是把离散的数据,通过一个函数来拟合,让离散的数据连续化。然后就可以通过任意的一个x值来求出预测值f(x)。
单变量线性回归算法(比如,x代表学历,f(x)代表收入):
我们用f(x)这个函数来映射输入特征和输出值
损失函数和梯度下降也是很重要的概念,损失函数来就是预测值和真实值之间差距的度量,我理解为预测误差大小。而梯度下降的目的也就是降低损失函数的值。就是让误差更小。
在上面线性回归中,有参数a和b,也就是两个参数,机器学习的过程就是修改这两个参数的过程。这两个参数影响了损失函数的大小,因此梯度下降法来更改参数的同时达到降低loss函数的目的。
2.Keras实现单变量线性回归
首先生成数据
生成后的数据画个图:
搭建一个最简单的模型:
编译加训练:
画个图更明显:(红线为拟合后)
3.Keras实现多变量线性回归
多变量和单变量的主要区别就是参数数量增加了。
在构造模型时:
4.逻辑回归实例
除了线性回归问题,还有一类问题就是逻辑回归问题,比如一个阿猫识别系统,做预测时输入一张图片判断是不是阿猫,如果是阿猫就输出1反之为0
当然也可以做多分类问题,比如手写数字识别
解决二分类问题用sigmoid函数和binary_crossentropy算损失值
多分类问题用softmax函数和category_crossentropy算损失值
二分类:
多分类: