keras机器学习基础

1.机器学习基础与线性回归

机器学习就是计算机用数据来学习。通过给计算机一些数据,让计算机来学习,之后能够进行自主计算和判断。

比如先给计算机一些阿猫阿狗的图片,并且告诉计算机每张图片是什么(也就是标签),计算机通过这些喂进去的数据来学习。学习完后,计算机就具备自主判断能力,给计算机一张从未见过的阿猫或者阿狗的图片,计算机就能够给图片打一个标签(阿猫?阿狗?)。

线性回归是机器学习中一个很重要的概念。我的理解是把离散的数据,通过一个函数来拟合,让离散的数据连续化。然后就可以通过任意的一个x值来求出预测值f(x)。

单变量线性回归算法(比如,x代表学历,f(x)代表收入):

keras机器学习基础

我们用f(x)这个函数来映射输入特征和输出值

损失函数和梯度下降也是很重要的概念,损失函数来就是预测值和真实值之间差距的度量,我理解为预测误差大小。而梯度下降的目的也就是降低损失函数的值。就是让误差更小。

在上面线性回归中,有参数a和b,也就是两个参数,机器学习的过程就是修改这两个参数的过程。这两个参数影响了损失函数的大小,因此梯度下降法来更改参数的同时达到降低loss函数的目的。

2.Keras实现单变量线性回归

首先生成数据

keras机器学习基础

生成后的数据画个图:

keras机器学习基础

搭建一个最简单的模型:

keras机器学习基础

编译加训练:

keras机器学习基础

画个图更明显:(红线为拟合后)

keras机器学习基础

3.Keras实现多变量线性回归

多变量和单变量的主要区别就是参数数量增加了。

在构造模型时:

keras机器学习基础
 

4.逻辑回归实例

除了线性回归问题,还有一类问题就是逻辑回归问题,比如一个阿猫识别系统,做预测时输入一张图片判断是不是阿猫,如果是阿猫就输出1反之为0

当然也可以做多分类问题,比如手写数字识别

解决二分类问题用sigmoid函数和binary_crossentropy算损失值

多分类问题用softmax函数和category_crossentropy算损失值

二分类:

keras机器学习基础

keras机器学习基础

多分类:

keras机器学习基础

keras机器学习基础