【机器学习】机器学习阶段三 从回归理解神经网络 - hippowc/hippowc.github.io GitHub Wiki
线性回归、逻辑回归与神经网络
回归
回归分析
回归分析是一种统计分析方法,研究因变量(目标)和自变量(预测器)之前的关系。通俗来讲,就是根据样本,求回归方程的系数。
常见的回归方程
- 线性回归:一元线性回归就是一条直线
- 最小二乘法:最小化每个数据点与直线的误差的平方和
- 逻辑回归:因变量(y)是二进制
- 最大似然估计
- 多项式回归:自变量(x)指数大于1
线性回归
给定数据集D={(x1, y1), (x2, y2), ... },我们试图从此数据集中学习得到一个线性模型,这个模型尽可能准确地反应x(i)和y(i)的对应关系。这里的线性模型,就是属性(x)的线性组合的函数,可表示为
- 函数表示
- f(x) = w1 * x1 + w2 * x2 + ... + wn * xn + b
- 向量表示
- f(x) = wT * x
机器学习中一般会有多个特征或属性,对应线性方程的xn,机器学习的目的就是获取f(x)这个函数,也就是根据样本求出所有w的值
损失函数
在模型训练中,需要衡量预测值和真实值的误差,通常会选取一个非负数作为误差,数值越小表示误差越小,在机器学习力将衡量误差的函数成为损失函数
优化算法
- 解析解
- 当模型和损失函数形式较为简单时,误差最小化问题的解可以直接用公式表达出来。这类解叫作解析解
- 譬如:最小二乘法
- 数值解
- 大多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。这类解叫作数值解
- 譬如:随机梯度下降
逻辑回归
使用回归解决二分类问题,使用的方法为逻辑回归,比较常用的函数式Sigmoid函数
对于k分类问题,假设函数针对每一个类别j估算出概率值p(y=j|x),即估计x属于某个类别的概率,则该函数的输出为一个k维的向量来表示k个估计值。
Softmax回归(Softmax Regression)又被称作多项逻辑回归(multinomial logistic regression),它是逻辑回归在处理多类别任务上的推广
线性回归与神经网络
在深度学习中,神经元的概念与线性函数的概念是等价的,通俗来讲,神经元其实没听着那么高大上,其本质就为线性函数
从一个例子看起,房价预测
使用线性回归(神经元)进行预测
假设只有一个属性 x 房子尺寸,预测房子价格 y,很容易可以通过线性回归的方式得到 y = a * x + b
- 问题
- 满足不了非线性拟合,最简单的,最起码价格不能存在负数
- 解决方法
- 在输入之后增加一个非线性的激活函数,或者称为修正线性函数,譬如:max(0, x)
激活函数
激活函数的作用为增加模型的非线性表达能力,因为无论神经网络有多少层,多少个节点,输出都是输入的线性组合,
- 可微性:计算梯度时必须要有此性质。
- 非线性:保证数据非线性可分。
- 单调性:保证凸函数。
- 输出值与输入值相差不会很大:保证神经网络训练和调参高效
常见的激活函数
- Sigmoid
- ReLU
- Softmax
- Tanh激活函数
- Maxout激活函数
两层房价预测网络
假设现在有多个特征,房子尺寸,卧室数量,房子邮编,房子周边繁华程度,使用4个特征表示:x1 x2 x3 x4,同时这次新增一个隐藏层,包含三个特征:a1 a2 a3,最后是输出y
对于 a1 = O(w1x1 + w2x2 + w3x3 + w4x4),其中O是激活函数,w是特征权重,这样就构建了神经网络的第一层,类似的可以构建 a --> y的第二层神经网络
我们实际上要做的就是:搭建好网络,设定好学习规则,开启循环训练,在将特征输入模型,得到预测的结果.神经网络在足够多的数据训练之后,非常擅长计算从x到y的精准映射函数.
神经网络
- 由多层网络构成
- 每一层网络中都包含n个节点或神经元
- 每个神经元的本质原理无非是线性函数+激活函数(Relu,Sigmoid等)
- 构建好网络之后,设定模型学习的规则,输入数据,自发的在数据中学习特征之间的联系
搭建一个神经网络的思路
- 根据权值 、偏移量、激活函数(Relu等)搭建神经网络
- 确定损失函数(交叉熵、平方差)
- 根据训练数据(训练样本与标签)进行模型训练,具体表现为使用梯度下降算法更新模型参数,直到获得最优解或达到设定的迭代次数
- 使用模型进行预测、分类
神经网络与深度学习
“深度学习”是与机器学习中的“神经网络”是强相关,“神经网络”也是其主要的算法和手段;或者我们可以将“深度学习”称之为“改良版的神经网络”算法。
- 使用神经网络的许多层完成特征提取的工作,可以通过每一层产生适当的特征,最后提供一个非常好的预测
- 给DNN(深度神经网络)带来了新的生机,并在图像分类和语音识别产生重大突破
- DNN演变成许多不同的拓扑结构,统称为深度学习,譬如:
- CNN 卷积神经网络
- RNN 递归神经网络
- LSTM 长期短期记忆
- GAN 生成敌对网络
- 转移学习
- 注意模型
从函数逼近论理解神经网络
- 多个直线组合起来,可以围城各种形状 - 链接