目录
5.0 Linear Classifier and Logistic Regression
2.Logistic Regression用pytorch实现
5.3 Logistic Regression Cross-Entropy Loss
3.logistic regression交叉熵:此处只涉及Logistic regression的交叉熵,但实际上交叉熵适用于所有分类问题
5.0 Linear Classifier and Logistic Regression
1.Logistic regression定义
2.Logistic Regression用pytorch实现
1.logistic function
2.用nn.Modules创建自定义模型
3.nn.Sequential
1.Logistic regression定义
Logistic regression是一种二分类线性分类器。
Logistic函数是一种阈值函数,用其将线性组合计算出的数值转换为为类别1的概率。其公式和图像如(图5.0-1)所示:
图5.0-1 logistic函数及其图像
2.Logistic Regression用pytorch实现
1.logistic function
2.用nn.Modules创建自定义模型
3.nn.Sequential
1.logistic function
表5.0-1 在pytorch中两种使用logistic函数的方法 |
|
图5.0-2 pytorch中两种使用logistic函数的方法
2.两种创建logistic模型的方法:
表5.0-2 两种创建logistic模型方法 |
|
图5.0-3 两种在Pytorch中创建logistic模型的方法
5.2 Bernoulli分布和最大似然估计
图5.2-1 最大化似然值的直观理解
伯努利分布就是取值只有两种可能的分布,假设有两种情况,以中国认为硬币向上的概率是0.5,另一种假设硬币向上的概率是0.2,然后根据观测值将发生上述时间的概率计算出来,可以看到更贴近实际发生时间的参数是使得似然值最大的参数。
图5.2-2 极大似然函数的定义
直接求解极大似然函数很难计算,因此可以使用对数极大似然函数进行求解,因为Log函数是单调函数,因此最大值的位置并不发生改变。(图5.2-3)
图5.2-3 对数极大似然函数不改变取得最大值的位置
图5.2-4 对数极大似然函数损失函数定义
5.3 Logistic Regression Cross-Entropy Loss
1.均方误差的问题
2交叉熵损失函数
3.logistic regression交叉熵:此处只涉及Logistic regression的交叉熵,但实际上交叉熵适用于所有分类问题
4.pytorch中的Logistic回归
- 均方误差的问题
图5.3-1 使用均方误差作为损失函数时导致的问题
某些地方等高线稀疏,梯度小,收敛慢
2交叉熵损失函数
当参数有个好的初始化方法时仍然可以找到最小值点,但在另一些地方代价函数几乎是平坦的,当参数初始化在该范围内时将无法找到最小值点。
用交叉熵作为损失函数时,总的损失函数形如:
图5.3-2 交叉熵损失函数公式(pytorch实现)
使用交叉熵的损失函数平面如下图图5.3-3所示,只有在最小值附近损失函数是接近平坦的,这样对于参数的初始化值的依赖性减小: 这也是交叉熵损失函数的优点
图5.3-3 交叉熵损失函数图像
4.pytorch中的Logistic回归
图5.3-4 pytorch中内置损失函数(MSE && CE)
注:本文截图来自Coursera同名课程,感谢Coursera~