之前文章中提到监督学习的应用可分为两类:线性回归和逻辑回归。和线性回归不同,逻辑回归输出只有0和1。对于一个逻辑回归任务,可以先使用线性回归来预测y。然而我们希望逻辑回归预测模型输出的是0和1,为了达到这个目的,我们使用sigmoid()来把线性回归预测的输出y映射到0和1之间。
sigmoid公式为:
公式中的z表示的是线性回归模型中输出的结果y。m个training data的情况下,y是一个含m个value的向量。
sigmoid公式代码实现很简单:
def sigmoid(z):"""Compute the sigmoid of zArgs:z (ndarray): A scalar, numpy array of any size.Returns:g (ndarray): sigmoid(z), with the same shape as z"""g = 1/(1+np.exp(-z))return g
用图形表示sigmod的输出样子是:可以看到输出区间始终在0到1之间,输入z越大,越趋近于1,反之趋近于0
逻辑回归的公式与线性回归类似: