线性回归
理解标签、特征两个重要概念
- 特征(feature):是一种输入(Input); 用于预测标签的因素(attribute);e.g. 房屋大小,地理位置等用于预测房价
- 标签(label):是一种输出(output);最后的结果
损失函数和优化函数
损失函数:用于呈现预测值和真实值之间的差距(difference),数值越小误差越小(P.S.:通俗地说线性回归中,预测值是那条线上的点,真实值是围绕在那条回归直线或在回归直线上的点)
优化函数:优化函数适用于优化损失函数使误差变小,线性回归中通常使用梯度下降法(又分为:随机梯度下降、批量梯度下降以及小批量梯度下降(小梯度结合了前两者的优点))
小批量梯度下降:
1. 超参数:学习率(步长)、学习周期
2. 梯度:损失函数J(theta)针对theta求导
3. 新函数 = 旧函数 - 步长*梯度
Softmax 与分类模型
softmax回归的输出结果是一种离散的数值,它是一种分类模型; 同线性回归相同,它是一种单程神经网络,且输出层是全连接层。
然而,输出层的数据不适合直接使用,两个原因:
1. 输出值范围不确定,直观上的意义不明显
2. 真实标签是离散值,与不确定范围的输出值之间的误差难以衡量
于是,我们用softmax operator把输出值变换成值为正和为1的概率分布
由于平方损失估计太严格,此次损失函数使用交叉熵损失函数(cross entropy):
交叉熵只关心对正确类别的预测概率
多层感知机
多层感知机输于多层神经网络,理解隐藏层的概念很重要,输入层的输入传到隐藏层,隐藏层的输出(隐藏变量H)作为输出层的输入,隐藏层和输出层都是全连接层。
虽然引入了隐藏层,现在的神经网络依然等价于单层神经网络,为了解决这个问题(全连接层只是对数据做仿射变换affine transformation, 而多个仿射变换的叠加依然是一个仿射变换),我们需要引入非线性**函数(activation function)
常用**函数有Relu(正值保留,负值清零), sigmoid((0,1)), tanh((-1, 1))
- Relu是通用**函数,但只能在隐藏层中使用;
- Sigmoid用于分类器效果好;但有时候由于梯度消失问题,要避免使用sigmoid和tanh
- 网络层数较多时,最好用Relu, 因为计算量少