逻辑回归(Logistic Regression)
逻辑回归是一种用于解决二分类问题的机器学习算法,用于估计某种事物的可能性。逻辑回归既可以看作是一个回归算法,也可以看作是一个分类算法,通常用于分类,并且是二分类。 分类主要是根据概率来进行分类。
逻辑回归和线性回归的区别:
逻辑回归与线性回归都是一种广义线性模型。
逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布。因此逻辑回归与线性回归有很多相同之处,去除Sigmoid映射函数的话,逻辑回归算法就是一个线性回归。可以说,逻辑回归是以线性回归为理论支持的,但是逻辑回归通过Sigmoid函数引入了非线性因素,因此可以轻松处理0/1分类问题。
回归问题怎么解决分类问题?
将样本的特征和样本发生的概率联系起来,概率是一个数。
逻辑回归既可以看做是回归算法,也可以看做是分类算法。
通常作为分类算法用,只可以解决二分类问题。
kNN天生可以解决多分类问题。
预测函数
预测函数就是将获取的模型参数应用到新的测试数据上,从而获取预期的结果。
在线性回归中,直接训练出来的模型就可以获取预测的结果,但是在逻辑回归中,需要增加一个映射函数,从而保证模型得出的结果在(0,1)之间,这个函数叫Sigmoid函数。
Sigmoid函数
import numpy as np
import matplotlib.pyplot as plt
def sigmoid(t):
return 1 / (1 + np.exp(-t))
x = np.linspace(-10, 10, 500)
y = sigmoid(x)
plt.plot(x, y)
plt.show()
Output:
Sigmoid函数用于逻辑回归:
由于存在一个θ0,所以x用xb表示,每来一个样本,这个样本前面还要再加一个1,这个1和θ0相乘,得到的是截距。
问题:
对于给定的样本数据集X, y,我们需要找到参数theta,使得用这样的方式,可以最大程度获得样本数据集 X 对应的分类输出 y。
参考资料:bobo老师机器学习教程