python人工智能深度学习入门逻辑回归限制

目录
  • 1.逻辑回归的限制
  • 2.深度学习的引入
  • 3.深度学习的计算方式
  • 4.神经网络的损失函数

1.逻辑回归的限制

逻辑回归分类的时候,是把线性的函数输入进sigmoid函数进行转换,后进行分类,会在图上画出一条分类的直线,但像下图这种情况,无论怎么画,一条直线都不可能将其完全分开。

但假如我们可以对输入的特征进行一个转换,便有可能完美分类。比如:

创造一个新的特征x1:到(0,0)的距离,另一个x2:到(1,1)的距离。这样可以计算出四个点所对应的新特征,画到坐标系上如以下右图所示。这样转换之后,就可以将转换后的数据,输入给一个逻辑回归,将其完全分开。

虽然我们不容易直接找到这样的一个转换标准,但我们可以通过逻辑回归去寻找标准,使用第一个逻辑回归,寻找第一个转换后的参数x1, 再使用第二个逻辑回归,寻找第二个转换后的参数x2,将这两个作为新的输入,给到第三个逻辑回归,即可完成分类。

因此,我们可以通过参数的调整,使得输入的x1,x2归属于两类的概率(其实就是一个0-1中间的数字,我们暂且称为概率)如下图所示。那么左上角的点属于两类的概率就是(0.73,0.05),同理,其他的点也有属于两类的概率,将其放到坐标轴上,就完成了对特征的转换。将转换之后的结果作为输入,给到一个新的逻辑回归,就可以完成分类。

2.深度学习的引入

可以看出来,每一个逻辑回归单元,既可以作为接受者,接收输入数据,也可以作为发送者,将自己的输出结果作为其他的逻辑回归单元的输入数据。

多个逻辑回归单元交织在一起,就称为神经网络,每一个逻辑回归单元,就是一个神经元。这种学习方式,就叫做深度学习。

以下是一个例子:

假设初始输入数据是1和-1,并且所有的权重我们都知道,比如两个数据到第一层两个神经元的权重分别是1,-1,-2, 1,然后通过sigmoid函数转换后,那么我们就可以计算出结果分别是0.98,0.12,同样的,假如我们知道后面所有的权重(参数),我们最终可以得到两个输出,0.62,0.83

当最开头的数据输入是0和0,通过同样的转换,可以得到输出0.51,0.85。可以看出,无论输入是什么样的,我们总能够通过一系列参数,进行一系列转换,将其输出成特征完全不一样的数据。

因此,整个网络可以看作是一个函数。更一般地,如下图所示,每一个圆圈都是一个神经元,最前面的输入叫做输入层,最后面没有接任何神经元的,叫做输出层,中间所有的叫做隐藏层。像下图这样每一个神经元都连接到下一层所有的神经元,叫做全连接神经网络。

3.深度学习的计算方式

对于深度学习,通常使用矩阵运算的方式进行计算。

更一般地:

即上一层的参数*上一层给的输入值 + 偏置项,再对整体进行一个sigmoid函数转化,就可以输出一个本层的数据,供下层使用。对于所有的神经元均是一样的操作,一直到输出层。

4.神经网络的损失函数

对于一个样本来说,损失函数如下图所示:

比如输入的是样本“1”,有256个像素点,也就是256个特征,将其输入神经网络,最终得到的输出是一个10维向量,每一个维度,都会有一个概率值,比如是“1”的概率为0.8, “2”的概率为0.1等等,而实际的标签是“1”,也就是只有y1hat是1,其他是0。将这两个向量求出交叉熵并求和,如上图的式子,得出的C就是这个样本的损失。

对于整体而言,把所有的样本损失算出来并求和即可。

以上就是python人工智能深度学习入门逻辑回归限制的详细内容,更多关于python人工智能逻辑回归限制的资料请关注我们其它相关文章!

(0)

相关推荐

  • 人工智能机器学习常用算法总结及各个常用算法精确率对比

    本文讲解了机器学习常用算法总结和各个常用分类算法精确率对比.收集了现在比较热门的TensorFlow.Sklearn,借鉴了Github和一些国内外的文章. 机器学习的知识树,这个图片是Github上的,有兴趣的可以自己去看一下: 地址:https://github.com/trekhleb/homemade-machine-learning 简单的翻译一下这个树: 英文 中文 Machine Learning 机器学习 Supervised Learning 监督学习 Unsupervised

  • python人工智能深度学习算法优化

    目录 1.SGD 2.SGDM 3.Adam 4.Adagrad 5.RMSProp 6.NAG 1.SGD 随机梯度下降 随机梯度下降和其他的梯度下降主要区别,在于SGD每次只使用一个数据样本,去计算损失函数,求梯度,更新参数.这种方法的计算速度快,但是下降的速度慢,可能会在最低处两边震荡,停留在局部最优. 2.SGDM SGM with Momentum:动量梯度下降 动量梯度下降,在进行参数更新之前,会对之前的梯度信息,进行指数加权平均,然后使用加权平均之后的梯度,来代替原梯度,进行参数的

  • 浅谈机器学习需要的了解的十大算法

    毫无疑问,近些年机器学习和人工智能领域受到了越来越多的关注.随着大数据成为当下工业界最火爆的技术趋势,机器学习也借助大数据在预测和推荐方面取得了惊人的成绩.比较有名的机器学习案例包括Netflix根据用户历史浏览行为给用户推荐电影,亚马逊基于用户的历史购买行为来推荐图书. 那么,如果你想要学习机器学习的算法,该如何入门呢?就我而言,我的入门课程是在哥本哈根留学时选修的人工智能课程.老师是丹麦科技大学应用数学和计算机专业的全职教授,他的研究方向是逻辑学和人工智能,主要是用逻辑学的方法来建模.课程包

  • python深度学习人工智能BackPropagation链式法则

    目录 1.链式法则 2.前向传播 3.后向传播 4.计算方式整理 5.总结 1.链式法则 根据以前的知识,如果我们需要寻找到目标参数的值的话,我们需要先给定一个初值,然后通过梯度下降,不断对其更新,直到最终的损失值最小即可.而其中最关键的一环,就是梯度下降的时候,需要的梯度,也就是需要求最终的损失函数对参数的导数. 如下图,假设有一个神经元,是输入层,有2个数据,参数分别是w1和w2,偏置项为b,那么我们需要把这些参数组合成一个函数z,然后将其输入到sigmoid函数中,便可得到该神经元的输出结

  • Python人工智能深度学习CNN

    目录 1.CNN概述 2.卷积层 3.池化层 4.全连层 1.CNN概述 CNN的整体思想,就是对图片进行下采样,让一个函数只学一个图的一部分,这样便得到少但是更有效的特征,最后通过全连接神经网络对结果进行输出. 整体架构如下: 输入图片 →卷积:得到特征图(激活图) →ReLU:去除负值 →池化:缩小数据量同时保留最有效特征 (以上步骤可多次进行) →输入全连接神经网络 2.卷积层 CNN-Convolution 卷积核(或者被称为kernel, filter, neuron)是要被学出来的,

  • Python人工智能深度学习模型训练经验总结

    目录 一.假如训练集表现不好 1.尝试新的激活函数 2.自适应学习率 ①Adagrad ②RMSProp ③ Momentum ④Adam 二.在测试集上效果不好 1.提前停止 2.正则化 3.Dropout 一.假如训练集表现不好 1.尝试新的激活函数 ReLU:Rectified Linear Unit 图像如下图所示:当z<0时,a = 0, 当z>0时,a = z,也就是说这个激活函数是对输入进行线性转换.使用这个激活函数,由于有0的存在,计算之后会删除掉一些神经元,使得神经网络变窄.

  • python人工智能深度学习入门逻辑回归限制

    目录 1.逻辑回归的限制 2.深度学习的引入 3.深度学习的计算方式 4.神经网络的损失函数 1.逻辑回归的限制 逻辑回归分类的时候,是把线性的函数输入进sigmoid函数进行转换,后进行分类,会在图上画出一条分类的直线,但像下图这种情况,无论怎么画,一条直线都不可能将其完全分开. 但假如我们可以对输入的特征进行一个转换,便有可能完美分类.比如: 创造一个新的特征x1:到(0,0)的距离,另一个x2:到(1,1)的距离.这样可以计算出四个点所对应的新特征,画到坐标系上如以下右图所示.这样转换之后

  • Python人工智能深度学习RNN模型结构流程

    目录 1.RNN基础模型 2.LSTM 3.流程结构 1.RNN基础模型 RNN主要特点是,在DNN隐藏层的输出内容会被存储,并且可以作为输入给到下一个神经元. 如下图所示,当"台北"这个词被输入的时候,前面的词有可能是"离开",有可能是"到达",如果把上一次输入的"离开",所得的隐藏层内容,输入给下一层,这样就有可能区分开是"离开台北",还是"到达台北". 如果隐藏层存储的内容并给下次

  • Python编程深度学习计算库之numpy

    NumPy是python下的计算库,被非常广泛地应用,尤其是近来的深度学习的推广.在这篇文章中,将会介绍使用numpy进行一些最为基础的计算. NumPy vs SciPy NumPy和SciPy都可以进行运算,主要区别如下 最近比较热门的深度学习,比如在神经网络的算法,多维数组的使用是一个极为重要的场景.如果你熟悉tensorflow中的tensor的概念,你会非常清晰numpy的作用.所以熟悉Numpy可以说是使用python进行深度学习入门的一个基础知识. 安装 liumiaocn:tmp

  • python实现梯度下降和逻辑回归

    本文实例为大家分享了python实现梯度下降和逻辑回归的具体代码,供大家参考,具体内容如下 import numpy as np import pandas as pd import os data = pd.read_csv("iris.csv") # 这里的iris数据已做过处理 m, n = data.shape dataMatIn = np.ones((m, n)) dataMatIn[:, :-1] = data.ix[:, :-1] classLabels = data.i

  • Python-OpenCV深度学习入门示例详解

    目录 0. 前言 1. 计算机视觉中的深度学习简介 1.1 深度学习的特点 1.2 深度学习大爆发 2. 用于图像分类的深度学习简介 3. 用于目标检测的深度学习简介 4. 深度学习框架 keras 介绍与使用 4.1 keras 库简介与安装 4.2 使用 keras 实现线性回归模型 4.3 使用 keras 进行手写数字识别 小结 0. 前言 深度学习已经成为机器学习中最受欢迎和发展最快的领域.自 2012 年深度学习性能超越机器学习等传统方法以来,深度学习架构开始快速应用于包括计算机视觉

  • python实现梯度下降求解逻辑回归

    本文实例为大家分享了python实现梯度下降求解逻辑回归的具体代码,供大家参考,具体内容如下 对比线性回归理解逻辑回归,主要包含回归函数,似然函数,梯度下降求解及代码实现 线性回归 1.线性回归函数 似然函数的定义:给定联合样本值X下关于(未知)参数 的函数 似然函数:什么样的参数跟我们的数据组合后恰好是真实值 2.线性回归似然函数 对数似然: 3.线性回归目标函数 (误差的表达式,我们的目的就是使得真实值与预测值之前的误差最小) (导数为0取得极值,得到函数的参数) 逻辑回归 逻辑回归是在线性

  • python的numpy模块实现逻辑回归模型

    使用python的numpy模块实现逻辑回归模型的代码,供大家参考,具体内容如下 使用了numpy模块,pandas模块,matplotlib模块 1.初始化参数 def initial_para(nums_feature):     """initial the weights and bias which is zero"""     #nums_feature是输入数据的属性数目,因此权重w是[1, nums_feature]维     #

随机推荐