原理
从图中可以看出与perceptron的异同:
logistic regression model:
perceptron:
简单地说把Sigmoid function用作activation function。
Advantages:
1. Sigmoid function的收敛性更好
2. 逻辑回归是用通过计算一件事情发生的概率来预测事件是否发生
cost function
具体公式推导参见:链接
为什么cost function不再用平方差,而是用对数损失函数?这个问题我纠结了好久,最终在这里
看到一句话
“而在已知模型和一定样本的情况下,估计模型的参数,在统计学中常用的是极大似然估计方法”
所以说,选择的cost function与模型是有一定关系的。我们的log-likelihood function是极大似然函数的对数,我们要取对数?
1. 好求导
2. 防止numerical underflow发生(就是超出编译器里数值表示范围)
log-likelihood function
我们的目标是,为了Maximum 对数损失函数,找到最优的
然而我们实际常用的是cost function是:
Min(-对数损失函数)+
其中
测试
>>> from sklearn.linear_model import LogisticRegression
>>> lr = LogisticRegression(C=1000.0, random_state=0)
>>> lr.fit(X_train_std, y_train)
>>> plot_decision_regions(X_combined_std,
... y_combined, classifier=lr,
... test_idx=range(105,150))
>>> plt.xlabel('petal length [standardized]')
>>> plt.ylabel('petal width [standardized]')
>>> plt.legend(loc='upper left')
>>> plt.show()
其中
>>> lr = LogisticRegression(C=1000.0, random_state=0)
里面的
线性回归、逻辑回归、一般回归
http://blog.csdn.net/viewcode/article/details/8794401
线性回归:以 高斯分布 为误差分析模型
逻辑回归:以 伯努力分布 为误差分析模型
逻辑回归的模型 是一个非线性模型,sigmoid函数,又称逻辑回归函数。但是它本质上又是一个线性回归模型,因为除去sigmoid映射函数关系,其他的步骤,算法都是线性回归的。可以说,逻辑回归,都是以线性回归为理论支持的。
只不过,线性模型,无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。一般回归:以 指数分布 为误差分析模型
高斯分布、伯努力分布 属于 指数分布。softmax回归就是 一般线性回归的一个例子。有监督学习回归,针对多类问题(逻辑回归,解决的是二类划分问题),如数字字符的分类问题,0-9,10个数字,y值有10个可能性。