从numpy到pytorch实现softmax回归
使用pytorch
实现softmax
回归,首先使用基本数学运算函数实现,然后逐步使用各种封装函数和优化包进行替换
超参数如下:
- batch_size = 8
- lambda = 2e-4
- alpha = 2e-4
使用数据库
使用pytorch
实现softmax
回归,首先使用基本数学运算函数实现,然后逐步使用各种封装函数和优化包进行替换
超参数如下:
使用数据库
在机器学习和深度学习中,通常需要把目标函数设置或者假定为凸函数(Convex Function
),这样能够满足局部最小值就是全局最小值的特点,方便进行梯度计算
在数据处理过程中经常使用函数式命令,确实能够方便和快捷的实现功能,下面小结一下python实现函数式编程
python提供了lambda、map、filter、reduce和sorted等基础函数进行函数式编程
softmax
回归常用于多分类问题,其输出可直接看成对类别的预测概率
假设对k
类标签([1, 2, ..., k]
)进行分类,那么经过softmax
回归计算后,输出一个k
维向量,向量中每个值都代表对一个类别的预测概率
下面先以单个输入数据为例,进行评分函数、损失函数的计算和求导,然后扩展到多个输入数据同步计算
成绩函数(score function
)、目标函数(objective function
)、代价函数(cost function
)和损失函数(loss function
)这四个术语经常出现在机器学习和深度学习的各类算法中
什么是正则化
逻辑回归常用于二元分类任务,其使用交叉熵损失进行梯度计算,实现步骤如下:
3-4
步,直到精度达到要求或达到指定迭代次数使用numpy
和pytorch
分别实现小批量梯度下降的2
分类逻辑回归
逻辑回归(logistic regression
)是分类算法,常用于二元分类
首先利用numpy
实现梯度下降解决多变量线性回归问题,然后逐步将操作转换成pytorch
实现步骤如下:
3-5
步,直到完成迭代次数多变量线性回归测试数据参考ex1data2.txt
梯度下降是求解函数最小值的算法,也称为最速下降法,它通过梯度更新不断的逼近最优解
常用的比喻是下山问题,通过计算梯度能够找到函数值变化最快的地方,通过步长决定收敛的速度
梯度下降方法包括批量梯度下降、随机梯度下降和小批量梯度下降,下面通过梯度下降计算多变量线性回归问题