概要:
逻辑回归:
首先,明确的是,逻辑回归是分类问题。这个算法的性质就是:输出值永远在0~1之间。y在内取值,并定义:0:负向类(negative class);1:正向类(positive class)
sigmoid函数:
常用的逻辑函数,通过该函数使得输出值在0~1之间。
假设函数变为:
假设函数的作用是:对于给定的输入变量,根据选择的参数计算输出变量=1的可能性。比如:h(x)=0.7,即 P(y=1丨x;theta)=0.7; P(y=0丨x;theta)=1-0.7=0.3
代价函数:
逻辑回归的代价函数不能采用和线性回归一样的定义,如果采用,代价函数会出现非凸函数(non-convex funtion),该函数会有许多local minimum,这会影响梯度下降算法寻找global minimum。 重新定义逻辑回归的代价函数:
梯度下降:
实际问题:
假设你是一所大学系的管理者,你想根据每一位申请人在两次考试中的成绩来确定他们的入学机会。你有来自以前申请者的历史数据,可以用作逻辑回归的训练集。对于每个训练示例,上面都有申请者在两次考试中的分数和招生决定。你的任务是建立一个数学模型,根据这两次考试的分数来估计申请人的入学概率。
本文采用Python解决该问题实例。
第一步,查看数据,并预处理
运行查看结果:
第二步,数据可视化
查看运行结果
第三步,定义sigmoid函数
第四步,定义代价函数以及梯度下降
运行,在theta为[0,0,0]时,得到的结果
第五步,使用scipy.optimize
运行得到结果
第六步,使用训练出的theta值,建立预测模型。由逻辑回归的假设函数,并根据
运行查看结果
准确度有89%。这个结果还算可以。
最后,我们要来绘制二分边界。
运行查看结果
看起来效果还行呐。
领取专属 10元无门槛券
私享最新 技术干货