每每以为攀得众山小,可、每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~

———————————————————————————

本笔记源于CDA-DSC课程,由常国珍老师主讲。该训练营第一期为风控主题,培训内容十分紧凑,非常好,推荐:CDA数据科学家训练营

——————————————————————————————————————————

一、信用风险建模中神经网络的应用

申请评分可以将神经网络+逻辑回归联合使用。

《公平信用报告法》制约,强调评分卡的可解释性。所以初始评分(申请评分)一般用回归,回归是解释力度最大的。

神经网络可用于银行行为评级以及不受该法制约监管的业务(P2P)。其次,神经也可以作为申请信用评分的金模型。

金模型的使用:一般会先做一个神经网络,让预测精度(AUC)达到最大时,再用逻辑回归。

建模大致流程:

一批训练集+测试集+一批字段——神经网络建模看AUC——如果额定的AUC在85%,没超过则返回重新筛选训练、测试集以及字段;

超过则,可以后续做逻辑回归。

——笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)

——————————————————————————————————————————

二、激活函数

神经网络模型中,激活函数是神经网络非线性的根源。

1、sigmoid函数=Logit

其实就是逻辑回归的转化,神经网络=逻辑回归+变量的自动转化

如果激活函数是sigmoid的话,神经网络就是翻版的逻辑回归,只不过会自动转化(适合排序)

2、高斯型函数

适合分类+聚类,识别类(欺诈行业很好,因为行为跟别人不一样,属于异常),在二维空间中就是等高线。

——————————————————————————————————————————

三、感知器

1、单感知器——无隐藏层

Delta规则,w就是权重。很重要

单层感知器,相当于只要了神经网络的输入层以及输出层,比较简单,所以感知器其实相当于线性回归,也叫做线性神经网络,没有隐藏层

2、多层感知器——加入隐藏层

两个隐藏层可以做任何复杂形状域。隐藏层因为属于黑箱,隐藏层越多,会产生过拟合现象(泛化能力不强),并且模型稳健性较差,但是要是模型调试的好,也是一匹“黑马”。

回归出现的所有错误(多重共线性(需进行变量筛选)、缺失值),神经网络都会出现,因为当激活函数为sigmoid时,等同于逻辑回归。

3、BP神经网络——多层感知器

BP神经网络对数据有严格要求,需要做极差标准化。

△,小,就会摆动;大,乱跑;设置多少没有定论

——————————————————————————————————————————

四、BP神经网络-R语言实现——nnet包+AMORE包

BP神经网络需要对数据进行标准化,所以建模之间切记要进行标准化

library(nnet)
help(package="nnet")
model_nnet<-nnet(y~., linout = F,size = 24, decay = 0.01, maxit = 100,trace = F,data = train)
   #对分类数据预测需要加上y参数
   #decay就是eta权重的调节,默认为0
   #linout=F默认,线性回归;T代表逻辑回归(激活函数只有一个sigmoid)
   #size就是隐藏层的个数,若size=0就是单感知器模型

linout=F代表线性回归,T代表逻辑回归(激活函数为sigmod);

maxit代表最大循环迭代的次数,该值并不是越大越好,越大过拟合现象更严重,要调节在适当的数量。

size代表隐藏层大小,也跟迭代次数一样,层次越多过拟合现象加重,就会把训练集的很多噪声都拿来做建模,虽然训练集的精度高了,但是测试集的精度反而弱了,就是因为训练集噪声不适合于测试集的噪声。

BP神经网络调节模型精度AUC值的话:一般会选择调整maxit(最大迭代次数)+size(隐藏层大小)来调整最优精度。这里可以自编译一些函数来实现,CDA-DSC课程中就有一个自编译函数来进行选择。但是会耗费大量的运行速度。

AMORE包有待继续深入研究。

————————————————————————————

应用一:报错Error in nnet.default(x, y, w, entropy = TRUE, ...)

Error in nnet.default(x, y, w, entropy = TRUE, ...) :
  too many (1209) weights

这个是因为隐藏层多了之后,运算不了,台式机不能运行那么多,所以要通过调整size的隐藏层个数来看效果如何。

每每以为攀得众山小,可、每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~

———————————————————————————

笔记+R︱信用风险建模中神经网络激活函数与感知器简述的更多相关文章

  1. 神经网络入门——8XOR感知器

    XOR 感知器     XOR 感知器就是一个这样的逻辑门:输入相同返回 0 ,输入不同返回 1.与之前的感知器不同,这里并不是线性可分的.要处理这类较为复杂的问题,我们需要把感知器连接起来. 我们用 ...

  2. 神经网络入门——7or 感知器

    OR 感知器 OR 感知器与 AND 感知器很类似,在下图中,OR 感知器与 AND 感知器有相同的分割线,只是 OR 感知器分割线下移了一段距离.对权重或者偏置做怎样的设置可以实现这个效果?用下面的 ...

  3. 笔记+R︱风控模型中变量粗筛(随机森林party包)+细筛(woe包)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本内容来源于CDA-DSC课程内容,原内容为& ...

  4. 笔记+R︱Logistics建模简述(logit值、sigmoid函数)

    本笔记源于CDA-DSC课程,由常国珍老师主讲.该训练营第一期为风控主题,培训内容十分紧凑,非常好,推荐:CDA数据科学家训练营 ---------------------------------- ...

  5. Mybatis笔记六:Mybatis中SqlSessionFactoryBuilder/SqlSessionFactory/SqlSession/映射器实例的作用域(Scope)和生命周期

    SqlSessionFactoryBuilder 这个类可以被实例化.使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了.因此 SqlSessionFactoryBuilder ...

  6. RBF神经网络学习算法及与多层感知器的比较

    对于RBF神经网络的原理已经在我的博文<机器学习之径向基神经网络(RBF NN)>中介绍过,这里不再重复.今天要介绍的是常用的RBF神经网络学习算法及RBF神经网络与多层感知器网络的对比. ...

  7. CNN笔记:通俗理解卷积神经网络【转】

    本文转载自:https://blog.csdn.net/v_july_v/article/details/51812459 通俗理解卷积神经网络(cs231n与5月dl班课程笔记) 1 前言 2012 ...

  8. 浅谈深度学习中的激活函数 - The Activation Function in Deep Learning

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激活 ...

  9. The Activation Function in Deep Learning 浅谈深度学习中的激活函数

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html 版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激 ...

随机推荐

  1. spring之构造注入

    第一种:通过构造name和value属性(不常用) <!-- userAction --> <bean id="userAction" class="c ...

  2. zalenium 应用

    zalenium是一个Selenium Grid扩展,用Docker容器动态扩展你的本地网格.它使用docker-selenium在本地运行Firefox和Chrome中的测试,如果需要不同的浏览器, ...

  3. SpringMVC源码情操陶冶-AbstractHandlerMethodMapping

    承接前文SpringMVC源码情操陶冶-AbstractHandlerMapping,本文将介绍如何注册HandlerMethod对象作为handler 类结构瞧一瞧 public abstract ...

  4. 常系数齐次线性递推 & 拉格朗日插值

    常系数齐次线性递推 具体记在笔记本上了,以后可能补照片,这里稍微写一下,主要贴代码. 概述 形式: \[ h_n = a_1 h_{n-1}+a_2h_{n-2}+...+a_kh_{n-k} \] ...

  5. BZOJ 1444: [Jsoi2009]有趣的游戏 [AC自动机 高斯消元]

    1444: [Jsoi2009]有趣的游戏 题意:每种字母出现概率\(p_i\),有一些长度len的字符串,求他们出现的概率 套路DP的话,\(f[i][j]\) i个字符走到节点j的概率,建出转移矩 ...

  6. 在控制台进行依赖注入(DI in Console)

    首先我们准备两个服务接口 public interface IServiceA { void showConsole(); int GetValue(int val); } public interf ...

  7. 小甲鱼OD学习第6讲

    这次我们的任务是破解这个通讯录的软件,首先,我们在通讯录一个分组添加第5个人,发现弹出对话框,限制每组只能添加4个人 并且发现最多只能添加3个分组 我们把程序载入OD,运行,添加人,这个时候点击暂停, ...

  8. Google chrome浏览器中通过扩展调用本地应用程序以及和程序相互通讯(C++)

    最近项目用到浏览插件的开发,IE用到的是BHO,chrome打算做成扩展. 但是和ie有一点不同,chrome扩展是基于html+js+css开发的,那么就会有二个问题 1. 代码和算法等容易被别人复 ...

  9. Mac 系统安装 oh my zsh

    先来张图感受一下: 安装oh my zsh: 1.克隆这个项目到本地(前提是你得有装git) git clone git://github.com/robbyrussell/oh-my-zsh.git ...

  10. (转)CocoaPods:管理Objective-c 程序中各种第三方开源库关联

    在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...