目录
- 一、概念:
- 1、机器学习概念:
- 2、深度学习概念:
- 二、深度学习中f(.)的输入和输出:
- 1、输入:
- 2、输出:
- 三、三种机器学习任务:
- 1、Regression回归任务介绍:
- 2、Classification分类任务介绍:
- 3、Structured Learning创造性学习:
- 四、机器学习步骤(模型训练阶段):
- 第一步:定义一个含有未知参数的函数(以线性函数为例):
- 第二步: 定义损失函数:
- 第三步: 寻找最优的w、b使得Loss最小:
- 1.梯度下降:
- 五、线性函数和复杂函数:
- 1、线性函数定义:
- 2、非线性函数定义:
- 3、如何表示出Hard Sigmoid函数:
- 4、对(四)中案例的深入理解(以非线性函数为例):
- 5.多特征预测单变量+非线性函数:
一、概念:
1、机器学习概念:
机器学习 ≈ 训练生成一个函数f(.) ,这个函数相当复杂。
例如:
2、深度学习概念:
机器学习的目的是寻找一个满足需求的函数f(.),但是具体使用什么方式寻找f(.)没有说明。
深度学习为机器学习领域的一个子领域,故深度学习给出了寻找函数的方法,即通过“神经网络”来训练生成一个函数f(.) 。
例如:
二、深度学习中f(.)的输入和输出:
1、输入:
函数f(.)的输入可以是向量、矩阵、序列,根据不同场景使用不同的输入。
- 向量
- 矩阵:图像识别领域,一张图片可以转换成矩阵表示
- 序列:序列预测、语音辨识、文字翻译领域输入可以转换成序列表示
2、输出:
根据不同任务需求f(.)的输出不同。
- 数值
- 类别:分类任务
- 句子、图片:翻译任务、图片生成
三、三种机器学习任务:
1、Regression回归任务介绍:
函数输入:过往PM2.5数据以及影响PM2.5的特征值
函数输出:预测未来PM2.5的值
2、Classification分类任务介绍:
函数输入:棋盘中黑子白子位置
函数输出:从19*19个选项中选择下一个落子位置
3、Structured Learning创造性学习:
函数输出:图片、文档等有结构的文件
四、机器学习步骤(模型训练阶段):
这里以回归任务为例:目标是根据2/25日浏览量数据预测2/26日浏览量数据。
第一步:定义一个含有未知参数的函数(以线性函数为例):
以最简单的线性回归函数y=b+Wx为例(当然机器学习的函数基本上不会这么简单):
- 函数y=b+Wx即为平时称呼的模型
- x为函数输入,输入的是2/25日浏览量数据
- y为函数输出,输出的是未来2/26日浏览量数据
- w和b都是超参数,初始为位置数,在模型训练过程中不断更新参数使得函数的输出值不断精确(模型训练阶段的最终目的是:训练集训练+验证集预测过程不断更新w和b),力图训练一个预测效果最优的模型
- 其中w为x的权重,b为偏置值
第二步: 定义损失函数:
损失函数L(b,w)是一个已写好的函数,用于模型训练阶段每次更新超参数w和b时都会在验证集上使用该组w和b计算预测值,然后比较预测值和真实值的差异(损失),从而衡量本组训练得到的超参数w和b是否能使得模型预测效果最优。
- 损失函数的输入为超参数b和w
- Loss越大,即表示当前的一组b和w越差,Loss越小,即表示当前的一组b和w越优秀。
第三步: 寻找最优的w、b使得Loss最小:
1.梯度下降:
使用梯度下降法不断更新w和b,使得每次获得一组新的w和b(wn和bn)。
不断执行第二步和第三步使得获得最优的w和b(w和b)。
- 其中η为学习率,用来控制梯度下降的快慢程度,也是一个超参数。
五、线性函数和复杂函数:
1、线性函数定义:
同(五),以最简单的线性回归函数y=b+Wx为例(当然机器学习的函数基本上不会这么简单):
- x为函数输入,输入的是2/25日浏览量数据
- y为函数输出,输出的是未来2/26日浏览量数据
- w和b都是超参数,初始为位置数,在模型训练过程中不断更新参数使得函数的输出值不断精确(模型训练阶段的最终目的是:训练集训练+验证集预测过程不断更新w和b),力图训练一个预测效果最优的模型
- 其中w为x的权重,b为偏置值
2、非线性函数定义:
线性函数y=wx+b不管超参数w和b如何变化,函数始终是一条直线,所以线性函数在处理具有复杂关系的xy时不适用。
- 对于复杂函数,我们可以用简单的蓝色函数(Hard Sigmoid函数)叠加的方式来获得一个复杂函数,如下图所示:
- 对于曲线函数,我们可以对曲线每段取微分,每个微元看做是一个蓝色函数(Hard Sigmoid函数),无数个蓝色函数叠加也可以获得任意的曲线函数。
3、如何表示出Hard Sigmoid函数:
各种曲线都可以通过蓝色函数(Hard Sigmoid)的叠加来表示,那么Hard Sigmoid函数又要如何表示?
有一种函数叫做sigmoid函数,该函数可以逼近任何的hard sigmoid函数,所以一般使用sigmoid函数来表示hard sigmoid函数。
从sigmoid函数的公式可以看出:
- 通过改变w可以改变函数的斜率
- 通过改变v可以改变函数的位置
- 通过改变c可以改变函数的高度
因此,通过不同的sigmoid函数叠加我们可以获得任意的函数曲线。
4、对(四)中案例的深入理解(以非线性函数为例):
(四)中我们以线性函数y=wx+b为例,假设x和y是线性关系。其中x输入为2/25日浏览量数据,y输出为2/26日浏览量数据。而在现实中x和y不可能是简单的线性关系,那么函数应该如何表示?当然是使用我们的sigmoid函数:
进一步设想,案例中我们用2/25日浏览量数据预测2/26日浏览量数据,属于单特征,此时仅有一个输入x和一个输出y,如果我们输入数据为多特征,即要用2/01~2/25这25天的浏览量预测2/26日浏览量数据,函数应如何表示?很简单,数据中有25个特征,每个特征xi与y之间都有一个权重值wi, 因此多特征预测单变量的线性函数关系和非线性函数关系表示如下:
5.多特征预测单变量+非线性函数:
下面我们举个例子来深度理解多特征预测单变量+非线性函数