ope体育注册页_ope电竞竞猜|ope电竞官网
ope体育注册页

纤维瘤,穆勒-ope体育注册页_ope电竞竞猜|ope电竞官网

admin admin ⋅ 2019-06-12 13:55:10
喜爱就点重视吧!


在这篇文章中,我将用数学解说逻辑回归,介绍逻辑回归、sigmoid函数以及最大似然估量三者之邹旺廷间的联络。然后运用python中的梯度下降完成一个逻辑回归示例。本文首要包括五个问题:

1.什么是Logistic回归?

2.为什么不运用线性回归?

3.最大似然估量(MLE)李道滨

4.梯度下降

5.附python梯度下降完成代码


Logistic回归

Logistic回归是一种经典的核算模型,已广泛使用于学术界和工业界。与用于进受美国行猜测的线性回归不同,逻辑回归也用于处理分类问题。例如当一纤维瘤,穆勒-ope体育注册页_ope电竞竞猜|ope电竞官网个人从银行请求借款时,银行对请求人将来是否会违约十分感爱好?(是/否问题)。处理此问题的一种办法是直接猜测请求人的未来状况。这种办法混血小萝莉称为感知。感知是另一个风趣的问题,它是SVM和神经网络的根底。另一种办法便是逻辑回归,对请求人违约概率进行猜测。由于概率的性质,猜测将落在[0,1]中。依据经历假如猜测概率大于或等于0.5,那么咱们能够标记为YES;假如猜测概率小于0.5,那么咱们能够标记为NO;但是线性回归的规模是从负无量到正无量,而不是[0,1]。要处理这个问题,就需求运用Sigmoid函数了。其函数表达式为:


Sigmoid函数具有许多特点。



因而在逻辑回归中,y能够写为:



记住这个表达式,下边咱们会用到。


线性回归的缺陷

“核算学习简介”一书给出了开门见山的解说。首要,线性回归的规模是概率鸿沟[0,1]之外的。例如,假如通过线性回归和逻辑回归猜测违约概率,则通过线性回归的一些猜测概率乃至是负的,而逻辑回归不会呈现这样的问题。见下图。



线性回归的另一个问题是猜测值总是基数,如1,2,3,而不是类苏药在线别。


最大似然估量

从整个人口整体中抽取一个样本。该样本遵从伯努利散布。



在该纤维瘤,穆勒-ope体育注册页_ope电竞竞猜|ope电竞官网公式中,y是1或0,p是事情发作的概率。假如总共有N条记载,概率是多少呢?简而言之,假定每个根本是独立且相同散布的,咱们能够将N个概率联络在一起。



然后在等式两头同时取对数得。



留意,在公式中的p是需求估量的参数(概率),p的表达式为:



这个公式了解吗?是的,这便是第1部分中的S形函数。在核算中,最大似然估量(MLE)通过找到最大似然函数的参数值来取得参数估量。在这个典型的比如,咱们能够核算出参数p最大化对数似然,这也等于最小化本钱函数。这是凸优化中的同房姿态两层问题。假如您有爱好,我引荐Stephen Boyd和Liev纤维瘤,穆勒-ope体育注册页_ope电竞竞猜|ope电竞官网en Vandenberghe的书Convex Optimization。本钱函数为:

这便是似然函数、sigmoid函数以及逻辑回归丢失函数三者之间的数学联络。


梯度下降

与具有关闭方式解的线性回归不同,逻辑回归选用梯度下降来寻觅最优解。梯度下降的一般思维是迭代地调整参数以最小化本钱函数。首要有三种梯度下降,包括批量梯度下降,小巴罗莫角批量梯度下降和随机梯度下降。在本文中咱们首要选用批量梯度下降。



依据咱们界说的逻辑回归的本钱函数J,得到其梯度是:



在第1部分中使用sigmoid函数的导数,然后咱们能够得到梯度化简为:



最终,将初始值赋给w; 然后通受伤的玫瑰过学习率*本钱函数梯度迭代更新w,直到本钱函数最小化。



附Python梯度下降完成

这一部分我将通过虹膜分类数据来展现梯度下降怎么作业的。首要导入必要的python库。


from sklearn import datasets
import numpy&nbs纤维瘤,穆勒-ope体育注册页_ope电竞竞猜|ope电竞官网p;as n图形推理的十大规则p
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.lines as mlines


接下来加载虹膜数据,这儿只选用二分类。


# Load data
iris = datasets.load_iris()
X=iris.data[0:99,:2]
y=iris.target[0:99]
# Plot the training points
x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5
y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5
plt.figure(2, figsize=(86))


梯度下降核算进程


#Step&nbs阴模p;1: Initial Model Parameter
Learning_Rate=0.01
num_iterations=100000
N舞力全开生机派=len(X)
w=np.zeros((2,1))
b=0
costs=[]
for i in range(num_iterations):
  #Step 2: Apply sigmoid Function and get y prediction
    Z=np纤维瘤,穆勒-ope体育注册页_ope电竞竞猜|ope电竞官网.dot(w.T,X.T)+b
    y_pred=1/(1+1/np.exp(Z))
  #Step 3: Calculate Cost Function
   大叔轻点疼 cost=-(1/N)*np.sum(y*np.log(y_pred)+(1-y)*np.lo好紧啊g(1-y_pred))
  #Step 4: Calculate Gradient
    dw=1/N*np.dot(X.T,(y_pred-y).T)
    db=1/N*np.sum(y_pred-y)
  #Step 5: Update w & b
    w = w - Learning_Rate*dw
    b = b - Learning_Rate*db
   #Records cost
    if i%100==0:
    costs.append(cost)
    print亦遇如爱易(cost)


可视化丢失函数下降进程


# Plot cost function
Epoch=pd.DataFrame(list(range(100,100001,100)))
Cost=pd.DataFrame(costs)
Cost_data=pd.concat([Epoch, Cost], axis=1)
Cost_data.columns=['Epoc微米手作h','Cost']
plt.scatter(Cost_data['Epoch'], Cost_data['Cost'])
plt.xlabel('Epoch')
plt.ylabe陈忠铨l('Cost')



从上图能够看出,丢失函数先急剧下降; 通过40000次迭代后趋于稳定。


# Plot linear classification
fig, ax = plt.subplots()
ax.scatter(X[:, 0], X[:, 1], c=y,&纤维瘤,穆勒-ope体育注册页_ope电竞竞猜|ope电竞官网nbsp;cmap=plt.cm.Set1,edgecolor='k')
line=mlines.Line2D([3.701,7],[2,4.1034],color='red')
ax.add_line(line)
ax.set_xlabel('Sepal length')
ax.set_ylabel('Sepal width')
plt.show()



图中的红线是线性决议计划鸿沟。由于在这种状况下,数据只包括美足胜桃夭2个维度,因而决议计划鸿沟是一条郭锈线。假如存在3个或更多个维度高粱米水饭的状况时,决议计划鸿沟是超空间。


参阅

https://towardsdatascience.com/an-introduction-to-logistic-regression-8136ad65da2e

深度学习与Python,专心于深度学习、机器学习前沿常识与资讯

长按纤维瘤,穆勒-ope体育注册页_ope电竞竞猜|ope电竞官网辨认二维码重视

相关新闻

admin

admin

TA太懒了...暂时没有任何简介

精彩新闻