机器学习之逻辑回归
上一章学习了一般线性回归,现在我们来看一下逻辑回归到底是什么鬼?
其实从这点上我认为,逻辑回归已经不属于什么回归了,而直接属于一种分类问题,但分类,为什么还叫回归呢,因为我们的逻辑回归使用的函数是这样的:
如果预测大于0.5,就判断为正,否则为负,对于回归,我们必不可少的函数就是损失函数,一般线性回归的函数如下:
而逻辑回归的损失函数是这样的:
这不是一个凸函数,因此很难找到一个最优解,这时候,数学家发挥作用了,他们用他们的智慧,研究出了下面的模型:
也就是这样的:
让我们来实现一下逻辑回归到底是什么样的
首先读入数据:
import matplotlib.pyplot as plt
from scipy.optimize import minimize
def loaddata(file, delimeter):
data = np.loadtxt(file, delimiter=delimeter)
print('Dimensions: ',data.shape)
print(data[1:6,:])
return(data)
我们还需要将点打印出来:
def plotData(data, label_x, label_y, label_pos, label_neg, axes=None):
neg = data[:,2] == 0
pos = data[:,2] == 1
if axes == None:
axes &