0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种用于预测的算法——逻辑回归

Dbwd_Imgtec 来源:未知 作者:李倩 2018-08-22 14:51 次阅读

本章给大家介绍一种用于预测的算法——逻辑回归(logistic regression)

给定一个输入特征向量x(例如你想要识别的图像——是否有猫),你需要一个算法进行计算之后进行结果输出(在这里我们用的是逻辑回归算法)。这个被输出的预测结果我们称为y^y^,假设y是1,如果预测得很准的话y^y^可能会是0.99)。

上图第一个公式中的x是个(n,1)维的矩阵,表示一个训练样本,里面的n表示一个训练样本中的特征数量,例如一张图片就是一个训练样本,图片中每个颜色强度值就是一个特征;w也是一个(n,1)维的矩阵,它表示权重(weight),它一一对应于每个输入的特征,也可以说它指示了某个特征的重要程度;b是一个实数,在这里可以将其看作为一个阀值。

如何理解w和b呢?

我举个例子来帮助大家理解。可以把上面的算法过程看作是一种通过权衡输入然后再做出决定的一个过程。假设周末即将到来,你听说在你的城市将会有一个音乐节。你要决定是否去参加这个节日。你需要通过权衡3个因素(3个特征)来做出决定:1、天气好吗 2、你的女友是否愿意陪你去 3、举办地点离地铁近吗 这3个因素就对应着上图中的x1、x2,x3(它们是x这个训练样本中的3个特征)。

我们可以给它们赋个值,如果天气好,那么x1为1,否则为0,x2和x3雷同;假设你很讨厌坏天气,如果天气不好,你就不会去参加这个节日,对其它两个因素要求不高(这里假设你是个老司机,女人多得是,不怕冷落了女友)。那么我们分别给3个权重赋值为7,2,2。w1的值大很多,这表明天气对你来说很重要,比你的女友是否愿意去,以及交通的便利性更重要。而b我们可以看作一个阀值,假设我们给b赋值为-5,那么也就是说,只要天气好,即使女友不陪你去、交通也不方便,你也会去参加这个节日——x1 * w1 + x2 * w2 + x3 * w3 = 1 * 7 + 0 * 2 + 0 * 2 = 7(这里的*代表乘法)(我们这里先不考虑σ函数),而7 +(-5)> 0,结果是你会去那个音乐节。如果我们选择不同的w和b值,那么对于同一个输入x,会有不同的结果输出。

训练神经网络的目的就是通过训练过程来得到这些w和b值(后面会教大家如何来训练得到它们)。这些w和b值可以让神经网络得到一项判断能力,一项预测能力——输入一张图片,神经网络根据训练好的w和b,通过上面的公式根据每个像素的值以及与其对应的权重值以及阈值来判定这张图里是否有猫。神经网络就是这样来进行预测的。它和我们人类的思考方式是一样的。虽然我们人可以做出非常复杂的判断,但是基本原理是很简单的。

人为什么能轻松分辨出一个图片中是否有猫?因为我们人就是一个巨型的神经网络,这个神经网络里面包含了数亿甚至更多的神经元(上图蓝色的圆圈就表示一个神经元),每个神经元都可以接受多个输入,在日常生活中,小孩子通过大人的教导,不断的看见猫,我们的神经元对于这个输入就形成了很多特定的w(权重),所以当再次看见一个猫时,这个输入(这个猫)与相应的w联合起来进行运算后,其结果就指示了这个输入是一个猫。

下面再来说一下σ,它代表了sigmoid函数,上面是它的定义公式以及图形。我们为什么需要它?在上面我们举的去参加节日的例子中,我们得出的结果为2,其实对于不同的x和w值,结果可能会更大。所以这并不适用于二元分类问题,因为在二元分类问题中你想要得到的y^y^应该表示一个概率,一个输入是否等于它真实标签的概率(例如输入的图像里面是否有猫)。所以y^y^的值应该在0和1之间。sigmoid函数的作用就是把计算结果转换为0和1之间的值。通过看它的图形就可以明白,往sigmoid函数里输入的值z越大,那么y^y^就越靠近1,也就是里面有猫的概率就越大。

以上就是神经网络为什么能够给出预测结果的大致原理。其实就像jack床长所说,“每个人都是一个巨型的神经网络”,只要我们善于反思、善于总结、善于学习,每个人都会变得越来越强大,都能成就更好的自己。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4570

    浏览量

    98707
  • 算法
    +关注

    关注

    23

    文章

    4451

    浏览量

    90742

原文标题:神经网络是如何给出预测结果的?

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    回归预测之入门

    式子吧,不然看些相关的论文可就看不懂了,这个系列主要将会着重于去机器学习的数学描述这个部分,将会覆盖但不定局限于回归、聚类、分类等算法回归
    发表于 10-15 10:19

    经典算法大全(51个C语言算法+单片机常用算法+机器学十大算法

    learning),又称再励学习、评价学习,学习不是单方法,而是一种机器学习方式,在智能控制机器人及分析预测等领域有许多应用。 强化学习例子:马尔可夫决策过程 通用机器学习算法列表
    发表于 10-23 14:31

    Keras之ML~P:基于Keras中建立的回归预测的神经网络模型

    Keras之ML~P:基于Keras中建立的回归预测的神经网络模型(根据200个数据样本预测新的5+1个样本)——回归预测
    发表于 12-20 10:43

    浅析逻辑回归

    ML-逻辑回归-公式推导- 多种实现
    发表于 04-25 15:35

    基于逻辑回归算法的乳腺癌肿瘤二分类预测

    ML之LoR:基于LoR(逻辑回归)算法对乳腺癌肿瘤进行二分类预测(良恶性)
    发表于 06-18 07:06

    干货 | 这些机器学习算法,你了解几个?

    ,我们想要介绍另一种分类算法的方法,即通过机器学习所负责的任务来分类。 机器学习的任务1.回归回归一种用于建模和
    发表于 09-22 08:30

    回归算法逻辑回归的介绍

    回归算法逻辑回归
    发表于 05-21 16:25

    回归算法有哪些,常用回归算法(3)详解

    逻辑回归。另一种用于两个或更多输出变量的常见技术是 OneVsAll。对于多类型逻辑回归,交叉熵
    发表于 07-28 14:36

    一种基于灰色预测的APF预测控制方案

    请求大佬分享一种基于灰色预测的APF预测控制方案
    发表于 04-22 06:09

    一种改进的模型预测直接转矩控制算法

    为什么要提出一种改进的模型预测直接转矩控制算法?改进的模型预测直接转矩控制算法有哪些功能?
    发表于 07-06 07:45

    如何用C语言实现个简单的元线性回归算法

    今天我们用C语言实现个简单的线性回归算法;在代码前面我们在回顾下线性回归。线性回归
    发表于 07-20 06:34

    使用KNN进行分类和回归

    般情况下k-Nearest Neighbor (KNN)都是用来解决分类的问题,其实KNN是一种可以应用于数据分类和预测的简单算法,本文中
    发表于 10-28 14:44

    回归滞后模型进行多变量时间序列预测案例分享

    wine。如何建立个模型来进行预测呢?  一种常见的方法是将该变量其视为单变量时间序列。这样就有很多方法可以用来模拟这些系列。比如 ARIMA、指数平滑或 Facebook 的 Prophet,还有自
    发表于 11-30 15:33

    遗传模糊算法在短期负荷预测中的应用

    遗传模糊算法在短期负荷预测中的应用 提出了一种基于模糊逻辑原理的负荷预测方法,使用遗传算法对系
    发表于 07-11 18:48 547次阅读
    遗传模糊<b class='flag-5'>算法</b>在短期负荷<b class='flag-5'>预测</b>中的应用

    机器学习的回归分析和回归方法

    根据受欢迎程度,线性回归逻辑回归经常是我们做预测模型时,且第一个学习的算法。但是如果认为回归
    的头像 发表于 01-19 17:22 3611次阅读