逻辑回归
本人才开始学习机器学习方面的知识,希望把每个学到的项目都记录在此,其中也会包括自己的分析,理解。希望以后成为一个高手!废话不多说,开始自己的学习记录。这个实验小项目会建立一个模型来预测一个大学生是否能被录取(最后会上传代码与数据集)。
1.线性回归模型
建立的模型描述是因变量的期望与自变量之间的线性关系。比如常见的线性回归模型:
预测函数在此,我们更希望把它建立成为矩阵的形式,因为使用矩阵运算更高效,表达更简洁。整合后为:
矩阵表达形式x:已知特征
θ:所求参数
2.Sigmoid函数
Sigmoid函数是逻辑回归的核心,通过Sigmoid函数将原本的线性回归问题转化成了一个分类问题。我们首先介绍Sigmoid函数:
Sigmoid函数图像通过图像可知,该函数定义域为R,值域为(0,1)。所以我们可以通过把原本的预测函数输入到Sigmoid函数中,从而转化成概率值。从而实现从线性回归到分类任务的转换。
该分类任务可表示为:
将原本的预测函数输入Sigmoid函数得到新的预测函数假设:
P:概率值
整合后:
3.建立似然函数
根据极大似然估计法可建立似然函数:
对表达式进行取对处理:
4.转化为梯度下降任务
似然函数可以求出极大值,所以在此我们引入一个新的目标函数,将似然函数转化为求极小值任务。
取负号是为了把原本求极大值问题转为求极小值问题,整体除以m是让结果更加平均。
然后J(θ)对θ求偏导,求取最小值。
5.参数更新
6.代码及实验结果
1.导入数据+查看数据:
2.创建Sigmoid函数:
3.创建model函数:(返回预测结果)
4.创建损失函数:
5.计算梯度:
6.设定三种不同停止策略方法:
7.
8.
9.不同条件的实验结果:
(1):设置迭代次数的停止策略
(2):设置阈值的停止策略:
7.总结
通过实验结果,我们可以看到设置不同的条件,都可以得出参数,只是最终的Last cost(损失值)各有不同。之后我会学习验证和优化的方法再做记录。
网友评论