Linear_regression与 Logistic_regression简单比较与python实现
好久没写博客了,在度厂实习期间更是天天累成了狗的节奏,最近有幸蹭到隔壁组老大小黑黑关于machine learning这块的培训(以下图片均摘自小黑黑的PPT),甚是感动,决定好好学习下这块的东西。
Linear_regression 和 Logistic_regression 其实是非常相似的两种算法。它们都属于监督学习,都可以用梯度下降等方法进行参数的迭代学习等等。
他们最大的不同应该说是 估价函数的不同。
此外Linear_regression 的 cost function:
Logistic_regression 的 cost function :
即我们的最终目标是要求出使得 J(theta)最小时theta的值。采取的方法均为类似梯度下降法的方法。
最后给出两种算法的python实现:
Linear_regression
import sys
MAX_FEATURE_DIMENSION = 1024
MAX_SAMPLE_NUMBER = 1024
MAX_ITERATE_NUMBER = 1024
##求导
def compute_gradient(x,y,theta,feature_number,feature_pos,sample_number):
sum = 0.0
for i in range(sample_number):
res = 0.0
for j in range(feature_number+1):
res += x[i][j] * theta[j]
sum += (res - y[i])*x[i][feature_pos]
return sum/sample_number
##估价函数
def compute_cost(x,y,theta,feature_number,sample_number):
sum = 0.0
for i in range(sample_number):
res = 0.0
for j in range(feature_number+