精华内容
下载资源
问答
  • Excel—对数回归分析与预测

    千次阅读 2018-06-08 10:12:49
    背景:很多业务并不是线性增长,当增长某一程度时,其增长率会开始减缓1、准备数据 案例中准备数据如下 以excel2013为例选择数据“插入”散点图,见下图选择增加“趋势线”选择对数配置,选择公式显示,便可以看到...

    背景:很多业务并不是线性增长,当增长某一程度时,其增长率会开始减缓

    1、准备数据

        案例中准备数据如下 


    以excel2013为例

    选择数据“插入”散点图,见下图选择

    增加“趋势线”


    选择对数配置,选择公式显示,便可以看到公式
    也可以向前或后预测,图中实例向后预测5期,结果显示如下



    展开全文
  • 前言:引入周志华《机器学习》书中对数几率统计中的理论和吴恩达深度学习系列结合自己理解的内容。 应用场景:逻辑回归是一个应用于二分类的算法。其输出标记为,而线性回归模型所产生的预测值是实数,于是将实值z...

    前言:引入周志华《机器学习》书中对数几率统计中的理论和吴恩达深度学习系列结合自己理解的内容。

    应用场景:逻辑回归是一个应用于二分类的算法。其输出标记为,而线性回归模型所产生的预测值是实数,于是将实值z转化为0/1值,如果预测值大于0则标记为1,反之则标记为0.

     

    逻辑回归的假设函数(Hypothesis function):

    •   值为预测值 更正式的说是表示y等于1的可能性或机会
    • w   实际上是特征权重,维度与特征向量相同
    • b   表示偏差

    这时我们得到是一个关于x的线性函数,但此时对于二分类问题却不是一个非常好的算法,因为如果想让表示实际值y等于1的几率的话,应该是在0~1之间,因为实际的值比1要大的多,或者甚至可能为一个负值。因此我们在逻辑回归中应使用sigmoid函数,将线性函数转化为非线性函数,如下图所示:

    sigmoid函数的公式为:,这里z是一个实数,当z的值特别大时,趋向于0,而此时sigmoid函数的值趋向于1,反之,当z的值特别小时,sigmoid函数的值趋向于0.,亦可将公式变形为,这里将y视为样本x作为正例的可能性,1-y视为作为反例的可能性。则两者的比值,称为几率,反映了x作为正例的相对可能性。所以在实现逻辑回归时,主要任务就说让机器学习参数w和b。

     

    逻辑回归的代价函数(Logistic Regression Cost Function):

    代价函数的作用是训练参数w和参数b,通过给定m个训练样本,我们可以得到w和b,并以此得到预测值。

    上标i的含义是样本的索引。

     

    损失函数(Loss function):又叫误差函数,用于衡量算法的运行情况

    ,通过L来衡量预测值和真实值得差距,一般情况下我们用到得损失函数是用均方误差来衡量,即,而在逻辑回归中,我们使用来衡量误差值。

    • 当y=1时,损失函数,如果想让误差尽可能小,那么就要尽可能大,因为sigmoid函数取值0~1,所以会无限接近于1。
    • 当y=1时,损失函数,如果想让误差尽可能小,那么就要尽可能小,因为sigmoid函数取值0~1,所以会无限接近于0。

    损失函数是在单个函数上定义的,它衡量的是算法在单个训练样本中表现如何,为了衡量算法在全部训练样本上的表现如何,我们需要定义一个算法的代价函数,算法的代价函数是对m个样本的损失函数求和然后除以m:

    损失函数只适用于像这样的单个训练样本,而代价函数是参数的总代价,所以在训练逻辑回归模型时候,我们需要找到合适的w和b,来让代价函数 J的总代价降到最低。

     

    逻辑回归中的梯度下降(Logistic Regression Gradient Descent):

    w和b的修正量表示如下:

    假设样本只有两个特征x1和x2,为了计算z,需要输入w1,w2和b,以及特征值x1,x2.

    首先我们需要反向计算出代价函数关于a的导数,

    ,因为 所以,由链式求导法则可知,

    所以

    又因为

    dw1 = ,dw2 = ,db = dz

    所以单个样本的逻辑回归梯度下降要做的就是先用a-y计算出dz,再分别计算出dw1,dw2,db,最后更新w和b的值即完成一次梯度下降

     

    m个样本的梯度下降:

    J=0;dw1=0;dw2=0;db=0;
    
    for i = 1 to m
    
        z(i) = wx(i)+b;
    
        a(i) = sigmoid(z(i));
    
        J += -[y(i)log(a(i))+(1-y(i))log(1-a(i));
    
        dz(i) = a(i)-y(i);
    
        dw1 += x1(i)dz(i);
    
        dw2 += x2(i)dz(i);
    
        db += dz(i);
    
    J/= m;
    
    dw1/= m;
    
    dw2/= m;
    
    db/= m;
    
    w=w-alpha*dw
    
    b=b-alpha*db

    将其向量化来简化上述代码

    首先来看db,因为,不难看出,db可用1/m*np.sum(dz)来代替,然后来看dw

    ,X是一个行向量,因此展开后

    则处理后代码可简化为:

    代码实际演练 (采取吴恩达深度学习第二周编程作业):

    定义sigmoid函数,返回经过处理后的预测值

    def sigmoid(z):
        """
        参数:
            z  - 任何大小的标量或numpy数组。
        
        返回:
            s  -  sigmoid(z)
        """
        s = 1 / (1 + np.exp(-z))
        return s
    

     计算代价函数及其渐变

    def propagate(w, b, X, Y):
    	"""
        实现前向和后向传播的成本函数及其梯度。
        参数:
            w  - 权重,大小不等的数组(num_px * num_px * 3,1)
            b  - 偏差,一个标量
            X  - 矩阵类型为(num_px * num_px * 3,训练数量)
            Y  - 真正的“标签”矢量(如果非猫则为0,如果是猫则为1),矩阵维度为(1,训练数据数量)
    
        返回:
            cost- 逻辑回归的负对数似然成本
            dw  - 相对于w的损失梯度,因此与w相同的形状
            db  - 相对于b的损失梯度,因此与b的形状相同
        """
    	m = X.shape[1]
        
        #正向传播
        A = sigmoid(np.dot(w.T,X) + b) #计算激活值,请参考公式2。
        cost = (- 1 / m) * np.sum(Y * np.log(A) + (1 - Y) * (np.log(1 - A))) #计算成本,请参考公式3和4。
        
        #反向传播
        dw = (1 / m) * np.dot(X, (A - Y).T) #请参考视频中的偏导公式。
        db = (1 / m) * np.sum(A - Y) #请参考视频中的偏导公式。
    	
    	#使用断言确保我的数据是正确的
        assert(dw.shape == w.shape)
        assert(db.dtype == float)
        cost = np.squeeze(cost)
        assert(cost.shape == ())
        
        #创建一个字典,把dw和db保存起来。
        grads = {
                    "dw": dw,
                    "db": db
                 }
        return (grads , cost)
    

    使用渐变下降更新参数w和b

    def optimize(w , b , X , Y , num_iterations , learning_rate , print_cost = False):
        """
        此函数通过运行梯度下降算法来优化w和b
        
        参数:
            w  - 权重,大小不等的数组(num_px * num_px * 3,1)
            b  - 偏差,一个标量
            X  - 维度为(num_px * num_px * 3,训练数据的数量)的数组。
            Y  - 真正的“标签”矢量(如果非猫则为0,如果是猫则为1),矩阵维度为(1,训练数据的数量)
            num_iterations  - 优化循环的迭代次数
            learning_rate  - 梯度下降更新规则的学习率
            print_cost  - 每100步打印一次损失值
        
        返回:
            params  - 包含权重w和偏差b的字典
            grads  - 包含权重和偏差相对于成本函数的梯度的字典
            成本 - 优化期间计算的所有成本列表,将用于绘制学习曲线。
        
        提示:
        我们需要写下两个步骤并遍历它们:
            1)计算当前参数的成本和梯度,使用propagate()。
            2)使用w和b的梯度下降法则更新参数。
        """
        
        costs = []
        
        for i in range(num_iterations):
            
            grads, cost = propagate(w, b, X, Y)
            
            dw = grads["dw"]
            db = grads["db"]
            
            w = w - learning_rate * dw
            b = b - learning_rate * db
            
            #记录成本
            if i % 100 == 0:
                costs.append(cost)
            #打印成本数据
            if (print_cost) and (i % 100 == 0):
                print("迭代的次数: %i , 误差值: %f" % (i,cost))
            
        params  = {
                    "w" : w,
                    "b" : b }
        grads = {
                "dw": dw,
                "db": db } 
        return (params , grads , costs)
    

    optimize函数会输出已学习的w和b的值,我们可以使用w和b来预测数据集X的标签。

    计算预测值将a的值变为0(如果激活值<= 0.5)或者为1(如果激活值> 0.5)

    展开全文
  •  如果自变量X和因变量Y的回归方程为对数关系,则为对数回归
    

    如果自变量X和因变量Y的回归方程为对数关系,则为对数回归。







    展开全文
  • 双变量自然对数回归预测分析编程规范(模型):http://www.cnblogs.com/omygod/archive/2013/05/14/3078860.html 双变量自然对数回归预测分析编程规范(预测):...htt...

    双变量自然对数回归预测分析编程规范(模型):http://www.cnblogs.com/omygod/archive/2013/05/14/3078860.html

    双变量自然对数回归预测分析编程规范(预测):http://www.cnblogs.com/omygod/archive/2013/05/14/3078896.html

    双变量自然对数回归预测分析编程范例(模型):http://www.cnblogs.com/omygod/archive/2013/05/14/3078920.html

    1. PAL Setup:

    image

    2. App Setup

    image

    3. Run time

    image

     

    4. Check data

    image

    转载于:https://www.cnblogs.com/omygod/archive/2013/05/14/3078938.html

    展开全文
  • 1 对数几率回归原理分析 1.1 引入 1.2 损失函数 1.3 求最优解 2 对数几率回归实践 Logistic回归的一般过程 Logistic回归的优缺点 Logistic回归算法描述(改进的随机梯度下降) 《机器学习实战》第五章代码...
  • 基于主成分分析对数几率回归的硬件木马检测
  • 常用的三个线性模型的原理及python实现——线性回归(Linear Regression)、对数几率回归(Logostic Regression)、线性判别分析(Linear Discriminant)。 这可能会是对线性模型介绍最全面的博客一、线性模型 ...
  • 对数几率回归学习

    2018-06-15 19:15:48
    关于对数几率回归(Logistic Regression)背景:在线性回归的基础上,引入sigmoid函数,将线性回归转化成对数几率回归,能够解决一般的分类问题。是一种很实用,很典型的监督学习的模型。问题描述:给定训练集...
  • 对数几率回归(逻辑回归)详解

    千次阅读 2020-02-16 17:53:07
    文章目录一、对数几率和对数几率回归二、Sigmoid函数三、极大似然法四、梯度下降法四、Python实现 一、对数几率和对数几率回归   在对数几率回归中,我们将样本的模型输出y∗y^*y∗定义为样本为正例的概率,将y∗1...
  • 回归分析评估指标均方对数误差(MSLE)详解及其意义:Mean Squared Log Error 目录 回归分析评估指标均方对数误差(MSLE)详解及其意义:Mean Squared Log Error 均方对数误差(MSLE) 何时使用MSLE MSLE示例 ...
  • 基本形式 优点:线性模型形式简单、易于建模。 很多非线性模型是在线性模型的基础上通过引入层级结构或高维映射得到...线性回归(linear regeression)试图学习一个线性模型以尽可能准确预测实值输出标记。 对...
  • 对数几率回归模型

    千次阅读 2018-11-18 20:02:14
    1.对数几率回归 本质是一个神经元。 对数几率回归可以回答Yes-No类的问题。 logistic函数,亦称为sigmod函数。 f(x)=1/(1+exp(-x)) sigmod函数是一个概率分布函数,即给定某个特定输入,该函数将计算输出为“success...
  • 西瓜书对数几率回归公式推导 周志华西瓜书3.3、P59公式推导 对于前面这里最好需要对最小二乘法有一定的了解: https://blog.csdn.net/Willen_/article/details/88867735 这里,我们直接给出了对数极大似然入籍,...
  • 线性回归、最小二乘法
  • 回归分析

    千次阅读 2016-07-19 19:47:06
    回归分析是建模和分析数据的重要工具。本文解释了回归分析的内涵及其优势,重点总结了应该掌握的线性回归、逻辑回归、多项式回归、逐步回归、岭回归、套索回归、ElasticNet回归等七种最常用的回归技术及其关键要素,...
  • 多元相关分析与多元回归分析

    万次阅读 多人点赞 2018-10-27 17:13:02
    什么是回归分析 分析步骤 回归分析与相关分析的主要区别 一元线性相关分析 一元线性回归分析 建模 方差分析检验  t检验 多元回归分析模型建立 线性回归模型基本假设 多元回归分析用途 多元线性相关分析 ...
  • 逻辑回归的实质是事件发生的概率除以事件不发生的概率后取对数。这种变换,将自变量和因变量的关系变成了线性的。逻辑回归经常被用于二分类问题。当然,它也是可以应用与多分类问题的。下面我们一步一步来看逻辑回归...
  • 逻辑回归不是回归算法,是分类算法,可以处理二元分类以及多元分类。 线性回归 线性回归的模型是求出特征向量Y和输入样本矩阵X之间的线性关系系数θ,满足Y = Xθ。此时Y是连续的,所以是回归模型。 对应n维样本...
  • 更多CFA官方教材详解,请关注“边际实验室”。“边际实验室”是一家专注于金融科技...■在估计回归之前,可能需要转换一个或多个回归变量(例如,通过对变量取自然对数)。■回归模型汇集了来自不同样本中不应该被汇集...
  • 回归分析汇总

    2020-09-17 22:30:53
    一、回归分析概述 回归分析是指用一个方程式建立一个因变量与一个或多...又称为对数回归。当因变量的类型属于二元(1 / 0,真/假,是/否)变量时,我们就应该使用逻辑回归。 3、多项式回归(Polynomial Regression)
  • 回归分析算法

    万次阅读 2016-05-07 13:39:20
    回归分析 1.回归分析基本原理 所谓回归分析法,就是在掌握大量观察数据基础上,利用数理统计方法建立因变量与自变量之间的回归关系函数表达式(简称为回归方程式)。回归分析是一种预测性的建模技术,它研究的是因...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,825
精华内容 7,130
关键字:

对数回归分析