登录
首页 » Others » BP神经网络法确定工程材料评价指标的权重

BP神经网络法确定工程材料评价指标的权重

于 2020-12-07 发布
0 264
下载积分: 1 下载次数: 2

代码说明:

BP神经网络法确定工程材料评价指标的权重

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 振动信号数据采集
    基于labview的 振动信号数据采集,希望对大家有所帮助
    2020-12-04下载
    积分:1
  • OJ离线版 ACM离线本地测评/判定系统/软件 三合
    OJ离线版 ACM离线本地测评/判定系统/软件仅此一个压缩包即可解压,解压密码12343
    2020-11-28下载
    积分:1
  • 华为面试数字芯片提纲.pdf
    本人面试华为海思数字芯片,总结出一份应对数字芯片面试的复习材料华为面试数字芯片提纲解答以及要点备注1、时序逻辑/组合逻辑时序逻辑电路主要由组合逻辑电路和触发器等记忆元件组成,输出不仅取决于当前输入,还和电路原米状态有关(这里原来状态是指的中间的触发器等记忆元件部分的端口值也可能会影响到当前的电路总的输出);组合逻辑电路主要由组合逻辑器件构成,电路无存储元件,输出仅仅取决于当前的输入。同步逻辑/异步逻辑同步逻辑是指的电路驱动时钟是有固定因果关系的逻,异步熤辑是电路驱动时钟之间没有固定因果关系的逻辑。通常同步逻辑电路的驱动时钟来源于同一个时钟源产生的相同时钟或者相位差可预知的不同时钟,这里不包括相位差在一定时钟周期内(例如1000ck)依然无法确定公共周期的同源时钟;异步逻辑的电路驱动时钟来自不同源时钟或者相位差关系不确定的时钟。同步时钟/异步时钟同步时钟指的是时钟源来自于同一个时钟源生成的时钟,其相位差可计算预知,这里不包拈来白同一时钟源但是在一定时钟周期内(例如1000ck)依然无汯确定公共周期的时钟,通常为由PLL生成的非整数分频或者倍频时钟。异步时钟是指的相位差无法预测的时钟,通常来自于不同的时钟源。2、亚稳态的概念/可能出现的场合和抑制手段亚稳态是指触发尜的建立时间或者保持时间不能满足时触发尜的输岀介于0或者1两者之间的某个不稳定态。理想的触发器在时钟到來时刻采样数据,但现实之中时钟边沿通常具有一定斜率,因此数据需要在时钟到来的前后各一段时间内保持稳定,使得触发器能够准确采样数据,否则就可能岀现亚稳态。亚稳态通常出现在同步时钟驱动电路的异步复位信号来临和消失的时候,或者是异步时钟域之冋数据传递的时候。前者解决方案是釆用同步复位(通常会导致电路逻辑资源占用面积增加)/或者是异步复位同步释放方式避免亚稳态;后者通常考虑用昦步FFo,双端口RAM,双触发器,或者是握于杋制等方法进行冋步ε比外还有例如降频,使用速度较快的触发器,改善时钟质量也会有一定效果。3、异步FIFO原理/FFO的深度计算/同步FFO/要求自凵写异步FFO代码/自凵尝试添加约束(H: Desktop Hardware study Async _ FIFO)异步FFO主要用于实现异步时钟域之间的数据传输。异步F|FO由以下几部分构成。●BRAM/DRAM组戍的缓冲区。用于缓存数据流,其深度的设定需要根据输入输岀数据的吋钟差别以及最大连续输入/输岀数据量确定。读写指针。其变化需要根椐FFO的空满状态以及当前的读写请求指令共同确定。当缓存为空则不读,读指针不变;当缓存为满不可写,写指针不变。空满状态标志。由于异步FFO工作在不同时钟域,因此对空满状态的判断依赖于不同时钟域的读指针和写指针。为了便于区分“快一圈”的现象,可以考虑将指针位宽多设置一位,当最髙位相同时候,读指针等于写指针认为是读空,当最高位不同的吋候,读指针等于写指针认为是写满●同步电路。由于两者读写指针比较是在不同时钟域下进行,因此为了避免亚稳态需要进行同步设计。此处通常采用格雷码进行比较(传输端首先 BIN TO GRAY,经过两级触发器在目的端同步,然后 GRAY TO BIN,进行下一步的比较,得出空满状态),保证一次只有一位数据变化,利用格雷码结合两级触发器进行同步后,可以严格保证至少数据不会出错(起码是原地踏步,不会造成满状态写入的情况),中间加的两级触发器公对实际状态做延迟比较(避免了空读和满写),也属于保守预估,最多是不是真空/真满情况下告知空淸,但是不会导致数据出错,属于保守的方法●FFO深度计算,计算主要考虑最坏的情况,例如100wclk里血进来80个这种,需要考虑200个时钟内连续进米160个的情况,然后计算深度也是根据“平均进米一个出去几个,然后乘以最大连续量即可得到FFO深度”这样的方式考虑最大深度同步FFO由」驱动时钟同步,因此可省去中闩同步器以及格雷码编码机制,其作用原理和异步FIFO类似4、双端口RAM的实现/要求自己写双端口RAM(H: Desktop Hardware study async_ Dual _port ram)FPGA内部RAM资源分为 Block ram和 Distribute ram,前者一殷用于大量数据的缓存,后者多用于小部分数据缓存。就速度而言由于 Distribυ ute ran利用FPGA内部 Slicer的LUT存储资源,少量存储的话速度比较快,但是大量存储会对布线造成影响,难以保让时序。FPGA可以配置 Single-port-ram, Simple-port-ram,True- port-ram等形式的RAM,读写模式有 write-first,read-frst,no- change等模式, write-first表明输出端口的数据和写入的数据相冋, read-first表明输出端口的数据为当前地址之前存储的数据,no- change表明输出数据为写入之前一刻的数据不变;Single- port-ram同时只能进行读或写操作; True-port-ram可同时进行读写操作,但是要避免地址冲突,不能两个端口同时对一个地址写入, Simple- port-ram实际上是 True-port-ram只开启了A端口的写入和B端口的输出。5、两级触发器同步/应用场合/MTBF的计算以及2FF的计算两级触发器通常用于异步时钟域之间的单比特信号传输,通常是控制信号。其扣制亚稳态传播的原理并不是避免亚稳态的发生,也无法避免出错信号的继续传输,而是尽量减少亚稳态传播的概率。根据触发器MTBF(平均故障时问间隔)计算,一缬触发器的MTBF=(e^(tmet/c1)/c2*f*a)两级触发器MTBF=(MTBF1)*MTBF2),相当」不稳定态在第一级触发器后被阻断了传播。如果条件更苛刻可考虑三级触发器。6、握手机制/代码(H: Desktop Hardware study async dual_ port ram握于机制通常用于数据传输速率要求不高但要求准确的场合,两边的握手信号都需要各自时钟域的同步器进行同步。当接收端经过冋步电路接收到req信号后锁存总线数据,然后发岀ack信号,ack经过冋步电路后到达发送端,发送端接受后撤销req信号,接收端也撤销掉ack信号,一次握手完成7、同步复位/异步复位/异步复位同步释放/三者比较/代码同步复位指的是时钟有效沿来临的时候进行复位操作,冋步复位使得电路为冋步电路,能够利于仿真,缺点是要求复位信号要大于一个周期,否则无法保证成功复位,此外综合出米的电路实际上并没有利用器件的复位端,而是在输入端插入额外的逻辑电跻,这样増加了额外的逻辑资源消耗。异步复位是指的在仼何时候只要复位信号有效即可复位,不占用额外的逻辑资源,充分利用器件的复位引脚,但是由于来临和结束时间未知,容易引起亚稳态现象对于FPGA的Fip-Fop,一般有同步复位,置位引脚RST/S和异步复位,置位引脚CLR/PRE,对于同步复位,需要引入额外的MUⅹ电路控制RST/S,对资源有一定的占用比较理想的方式是异步复位同步释放,既充分利用了器件的复位引脚,又能够有效避免亚稳态的产生。8、恢复时间/去除时间/ positive or negetive or global skew/ jitter/Recovery time(恢复时间)是指的异步控制信号(例如复位信号)在被断言后到下一个时钟沿的最短时间Recovery time is the minimum amount of time required between the release of an asynchronous signal from theactive state to the next active clock edge.(类比建立时间)( Example: The time between the reset and clock transitionsfor a flip-flop if the active edge occurs too soon after the release of the reset the state of the flip-flop can be unknownUFF5UFF6CDN-aCKNbCKCLKPRemoval time(去除吋间)是指异步控制信号在吋钟沿后需要保持稳定的吋间。 Removal time specifies theminimum amount of time between an active clock edge and the release of an asynchronous control signal.(类比保持时间)这个异步控制信号可以来自于“异步复位同步释放产生的复位信号,如下图”。positive or negetive or globa|skeW分别表明相比| atch clock edge的延迟为正/负/最大延迟减去最小延迟Clock jitter指的是实际周期和理想厝期之间产生的偏差,jter通常由时钟发生器电路,噪声,电源变化引起9、触发器组成/锁存器组成/区别触发器通常包括SR触发器,」触发器,D触发器,T触发器;SR锁存器由与非门或者或非门组成,SR触发由时钟控制逻辑加上双与非门/或非门组成,还有门控SR触发器将时钟换为使能即可。四状态分别为保持/0/1/不允许。不允许态主要是全1/全0同时翻转为0/1不能确定哪个逻辑元件最先变成0/1,从而导致下一时刻不定态D触发器由时钟边沿触发,锁存数据,D触发器是FPGA中的主要元件,T发器作用是翻转信号Q00-1DcLK-(LDLa触发器对边沿敏感,锁存器对电平敏感10、脉冲检测电路(非同步时钟如何处理,快到慢,慢到快)对于慢时钟到快时钟的脉冲检测电路,由于脉冲长度一般大于接收端一个时钟周期,可以利用两级触发器结合一个与门和反相器电路实现单周期脉冲的传输,如图1;对于快时钟到慢时钟区域的检测电路,由于脉冲长度一般较小,可能导致慢时钟区域检测不到,因此可借助脉冲信号作为触发器的时钟信号,然后利用接收端信号重新复位该触发器信号即可,如图2对于相同时钟的脉冲检测电路,可以利用两级触发器结合与门和非门电路,类似方案一11、可综合和不可综合概念/ timescale的理解可综合是指的代码能够被EDA工具映射为具体的逻辑电路,能够在硬件端实现的语句;不可综合指的无法被映射为只体的电路在哽件端,通常用于仿真阶段timescale是指的吋间维度的常量,用于仿真阶段,由吋间最小单元和时间精度两部分组成,例如 timescale1ns/1000s,意思是时间最小延迟单元为1ns,按照1005的精度进行换算,#5.22代表延迟52*100p5,如果是1ns/1s则代表延迟5220s,如果遇到一个模块包含其他模块的情况则精度按照最小的精度计算。精度越高会导致仿真的复杂度越大,仿真需求时间也就越久。12、组合逻辑环路概念缃合逻辑需要避免牛成环路,即绢合逻辑输岀端不绎过仟何时序逻辑就反馈到输入节点形成的环路,这样公产生振荡和毛刺等现象,而且会出现无法预知的结果。这样的组合逻辑坏烙的功能完全依赖丁逻辑元件的延迟和布线延迟,具有很大的不确定性。13、静态时序分析/动态时序分析/二者对比静态时序分析(STA)通过遍历系统中所有路径来计算每条路径是否满足时序要求。无需外部信号激励的输入,只需要按照设计要求作岀对应约束即可。静态时序分析不能分析电路逻辑功能是否满足需求,只能测试设计是否满足时序要求,系统能否在要求的时钟速率下正常运行。静态时序分析的速度较快。动态时序分析是指的对系统生成测试向量并查看输出结果是否满足设计要求的方法。动态时序分析能够验证系统的逻辑功能,但难以通过输入向量测试到所有路径,而且随着输入信号数量增加,验证复杂度会越米越大。14、建立时间/保持时间/数据到达时间/数据需求时间/建立时间裕量/保持时间裕量建立时间( (setup time)是指的时钟边沿到来之前数据保持稳定的最少时间。保持时间( hold time)是指的时钟边沿到来后数据保持稳定的最少时间。数据到达吋间( data arrival time)= Latch+Tlka+Tcq+ Logic建立时间的数据需求时间 data required time/ setup)= Capture+llkb-Tsu- Uncertainty保持时间的数据需求时间 data required time/hod)= Latch+Tk+Thd- Uncertainty( Uncertainty-还是+存疑)建立时间裕量( setup slack)=( data required time- data arrival time)=T-Tsu-(Tcq+ Logic)+ Skew保持时间裕量( hold slack)=( data arrival time- data required time)= Skew+Thd-(Tcq+ Logic15、四类时序路径及起点终点/完整的时序路径包含三部分/建立时间检查,保持时间检查/恢复时间检查,去除时间检查/检查违例的解决方案Start point-All input ports/pins or clock ports /pins of sequential cells are considered as start pointsEnd points-All output ports/ pins or d pin of sequential cells are considered as end pointsA.输入端口到第一级寄存器的数据输入D端之间路径B.最后一级寄存器输出Q端到输出端口之间路径C.系统内部寄存器的时钟端口CLK到下一级寄存器的数据输入端口D之间路径D.输入端口经过组合逻辑到输出端口之间路径个完整的时序路径包括源时钟路径(时钟端到当前寄冇器的时钟输入端),数据跤径(当前寄存器时钟输入端到卜一级寄存器数据输入端),目的时钟路径(时钟端到卜一级寄存器的时钟输入端)建立时间检查上要看数据路径的最大延迟路径,两级寄存器时钟skew最小的情况,淸足建立时间需要有:T+Tskew-Tsetup >(Tcq +Logic保持时间路径主要看数据路径的最小延迟路径,两级寄存器时钟skew最大的情况,淸足保持时间需要有:(cq+Tlogic)> Thd+ Tskew恢复时闩检査和去除时冋检査比较类似建立时间和保持时间检查,检查方式是一样的,主要看这个异步控制信号(通常是经过“例如异步复位同步释放生成的的复位信号”后传递给寄存器的复位信号)到达的时间是否和时钟边沿满足一定的时间关系,否则可能导致复位失败或者控制失败对于建立时间违例,可以考虑对较大的组合逻辑插入寄存器增加一级流水线,或者是考虑降低时钟频率,或者是考虑优化组合逻辑使之延迟降低;对于保持时间违例可以考虑插λ buffer或者两级反相器对效据路径实现延迟。16、时序约束/时钟约束/输入输出约束/时序例外约束/多周期路径约束( Multicycle paths)/伪路径约束( Falsepaths/ min-max约束/ set bus skew吋序约束是指的对电路的吋序提出要求,并在时序约束的基础上检验系统电路是否能够满足设计需求。●时钟约束是指的对系统中出现的时钟信号添加的限定条件,主要有以下类别:1) Primary clock(通过引脚输入系统) creat clock- name clk in- period10- waveform05}[ get ports clk2) Virtual clock(并未连接到系统的任何端口,只是用来做输入信号的参考,而该信号按照这个虚拟时钟的速率传输,只是这个时钟也没有接到系统任何韶位。可以理解为上游芯片的一个数据时钟,只是这个时钟没有接入系统)tcl语言描述为 create clock- name virtual clk-period103) Generated clock(通过PLL或者内部逻辑,如计数分频生成的吋钟) example1: create generated clock-nameclk div2 -source [get_ports clkin]-divide by 2 [get pins clk div 2]; example2: create generated clock -nameclk div_ mul-source [get_pins mmcmo/ clkin]-multiply by 4 -divide by 3 [get_pins mmcmo/clkout4) Clock groups(主要对异步时钟组之间约束,避免对异步时钟之间进行无效的时序分析,例如两个独立的时钟以及他们生成的时钟网络之间,或者是虽然来自同一个时钟源但是牛成的时钟在1000ck内无法确定公共周期的时it i [a )set clock groups -name async clk -asynchronous- group clk1-group clk 2 set clock groups-name clkunexclusive-group clko-group clk1;5) Clock latency(由于EDA工只通常会自动计算内部网络的时钟延迟,因此通常只需要提供器件外部时钟走线延iRRP H)set clock latency-source-early 0.2 [get ports sysclk]; set clock latency -source -late 0. 5 [get ports sysclk6) Clock jitter (E A input jitter FA system jitter) set input jitter sysclk 0.3 set system jitter 0.117) Clock uncertainty(为特定的时钟或者时钟之间约束) set clock uncertainty0.1[ get clocks clk];set clock uncertainty 0. 2 from [get_ports clk1] to [get clocks clk2输入输出约束1) set_input delay(用于确定和系统某个时钟相关的输入信号的外部路径延迟,通常取决于外部器作输出的最后一级寄存器的Tcq和中间走线延迟。 Consequently, the input delay value can be positive or negative, depending on theclock and data relative phase at the interface of the device,这个相关的时钟可以来自于系统的某个时钟或者虚拟时钟)example 1: set_input delay -clock sysclk [get_ ports din]; example 2: set_ input_ delay -clock sysclk-max 4 [get_ports din]example3: create clock -name clk virtual- period 10set input delay -clock clk virtual -min 2 [ get ports din22) set output delay(用于确定和系统某个时钟相关的输岀信号的外部路径延迟,通常取决于外部走线延迟和下游芯片第一级输入寄存器的建立时冋和保持时冋)exεmple: set output delay- clock sysclk-min2[ get ports dout●时序例外包含多周期路径约束,伪路径约束,最大最小延迟约束1) Multicycle paths(多周期路径通常指的由于系统的特定设计,重新修改建立时间和保持时间检查方式,通常不像EDA工具默认的单周期的检查,多周期路径约束通常定义新的时序检查方式)BEFOREA)相同时钟下由于使能信号等原因导致的多个周期读取IHold:SetupLostnaton clock对于相同时钟,无需确定- start-end,因为参考的时钟都是一样的,只需要重Choct Erable新确定建立时间检查和保持时间检查的关系。由于 setup relationship同时影响crScure cocshold relationship,因此修改建立吋间的同吋也要修改保持吋间关系。如图set multicycle path n -setup -from [get _ pins a-to [get pins b]capture edgeClock Enableset multicycle path N-1hold-from[ get pins a] to get pins b](其中N为建立OIS 2IN 46 CrIS IN 10: I2Slaunch edge时间检查的移动周期数)setupB)相同周期时钟但是有相移,因此修改建立时间检查关系,保持检查会随之-。如。2。=。移动。 set multicycle_path2- - setup- from Iget clocks clk』to[ get clocks clk2]。Destinationapture edge8ns Bn:launch edge Ons 2neine如果是负相移(相移很小)的话,无需约束,情形相当于同吋钟无相移。C)慢时钟到快时钟。 set multicycle_path3- setup-from[ get clocks clk1]-to[ get clocks clk2]Set multicycle_ path 2-hold -end- from iget clocks clk1]-to [get clocks clk2D)快时钟到慢时钟。 set multicycle_ path3- setup- - start-from[ get clocks clk1]-to【xx] set multicycle_ paths2- hold -fromlget clocks clkl to [get clocks clk2];Table 5.3: To define a multicycle path with a Setup of nScenarioMulticycle Constraintslaunch edgeSource cloSame clock domain or betweenset_multicycle_path N-setup-from CLK1 -to CLK2c「L「LLsynchronous clock domains with sameFeriod and no phase-shiftsct_multicycle_path N 1 hold from CLK1 to CLKBetween SLOW-to FAST synchronous clock set_multicycle_ path N-setup from CLK1 -to CIcomaInsset_multicycle_path N-1 -hold-end -from CLK1-to CLK2clock(CLk2capture edgeBetween FAST-to SLOW synchronous clock set_multicycle_path -start -from CLK1 -to CLKcomaInsset_multicycle_path N-1-hold -from CLKI-to CLK2False paths(伪路径约束)对于一些永远不可能起作用的路径或者无需进行时序分析的路径可以设置为 Falsepath(例如异步时钟之间已经经过两级同步器同步则无需分析,例如上电瞬间内容确定则无需分析)example: set false_ path-from [get clocks clk1] to [get clocks clk2]● Min-max(用于约束输入端口到输出端口的最人延迟以及异步信号之间的最人廷迟(意思是即使两个时钟域以经通过同步器或者FFO进行同步,依然可能需要一个最大路径延迟约束川 example1: set max delay10from [get _ ports din]-to [get ports dout] example 2: set max delay - from [get_ pins a]-to [get _pins b●set_bus_skew(用于对异步时钟域多位数据传输路径延迟进行约束,通常用于格雷码转换,多bit数据传输由于传输是多位的bit,因此每个bt之间的路径差异需要被约束,通常是约束一个目的时钟周期。 exampleset bus skew -from[ get cells gray*]-to[ get cells gray_sync+2.5,其中*代表这个寄存器的每个bt;同时为∫保证源时钟和目的时钟之间数据正常传输,需要进一步设置 sex max delay使得这个数据路径的延迟不能超过一定时间(通常是一个源时钟周期) set max delay-datapath only-from[ get cells gray]to[ get cellsgray_sync 517、竞争冒险/消除方法竞争是指的由J逻辑和走线延迟差异导致不同信号到达输入端的时间不同,冒险是指的由于不同信号到达输入端时间差异导致输出信号存在短时不稳定的现象,也叫输出毛刺。消除互补乘积项,例如(A~+B)*(A+C需要消除AA●增加冗余项,例如AB+A~C,当B=C=1的时候是A+A~,因此可以考虑增加BC项,这样就桷保输出无毛刺。输出端并联电容器,能够是的毛刺的上升下降沿变得缓慢,从而抑制毛刺被后级电跻读取的慨率。将组合逻辑电路转变为时序逻辑,因为触发器对毛刺边沿不敏感,可以有效减少毛刺对后级电路影响18、状态机分类/状态转移图/一段两段三段式状态机区别特征(优缺点,本质特征,状态数差别,输出改变时间差别,状态机也分为同步状态机(有CLK控制输出)和异步状态机)/思考具体的状态机实例(饮料售卖)MeaⅣy状态机:输出取决于当前状态和输入,输出可以在输入发牛改变之后立刻响应,具有异步输出的特点,Meay由于结合了当前输入信息和状态信息,因此状态数量更少。Moore状态机:输山仪仅取决于当前状态,和Meay相比 Moore机首先根据输入信息更新状态,然后在下个时钟根据当前状态决定输出,因此速度响应比Meay慢一拍,但是具有可以同步输出的特点。设计状态机首先考虑改计功能需求,然后根据运作流程列举可能的状态并根据转移条件列状态转移表转移图。状态的编码可以考虑采用格雷码(适用于连续跳变)或者是独热码,段式状态机将状态转移和输出集中在一个 always块内书写,电路为时序逻辑不会产生毛刺,但是书写代码冗长且不易修改,可维护性差;两段式状态机将状态转移和输出分放在两个 always块中,前一个用时序逻辑进行状态调转,第二个用组合逻辑控制下一状态的计算和组合逻辑输出,容易产生毛刺。这种与法只有最优的血积和时序性能,但是由于是组合逻辑输出因此增加了到下一级寄存器的输出延迟。段式状态机分为状态调转模块,状态转栘条件判断模块,输岀逻辑模块。三段式状态机将组合和时序逻辑分开,易于维护和综合饮料杋编写(自己编的题目),可以首先考虑实现的玏能,输入应该包括时钟信号,复位信号,输入的钱,输入的饮料选择,以及是否有当前饮料存货;输岀应包括找岺,饮料输出,无饮料提小等信息。中间状态应包括空闲状态,提示无饮料,输入钱多,输入钱正好,输入钱相等,找钱,出饮料,提示继续输入钱等状态,基于上述可能的状态进行状态转移图绘制,然后编写状态转移组合逻辑以及输出逻辑。“H、 Desktop Hardware_ study Sail_· machine”19、系统级/算法级/RTL级/门级/开关级Verilog HDL语言自顶向下通常分为系统级,算法级,RTL级(寄存器传输级),门级,开关级;系统级措述语言提供的髙级结构和所能实现的性能算法级措述算法运行的模型,以上两种描述级别一般不涉及具体实现细节,不考虑是否能转化为硬件结构。RTL级用」描述数据如何在寄存器之问流动和传输门级用于描述逻辑门之间的连接模型开关级措述的是器件晶体管规模的具体连接和信号流动模型前三个级别表述的是行为级,后两个级别分别代表逻辑级和电路级20、阻塞赋值/非阻塞赋值阻塞赋值是指的执行当前语句的时候阻塞其他语句的执行,因此阻塞赋值的执行具有一定的顺序性;非阻塞赋值是指的一次激活操作来临后会首先计算所有非阻塞语句表达式的右值,在激活操作结束后统一赋值给左边变量,执行无先后顺序,当前语句的赋值操作不会阻塞其他语句的赋值操作,因而叫做非阻塞赋值。在设计代码的付候通常对组合逻辑采用阻塞赋值,对时序逻辑采用非阻塞赋值,对阻寒赋值和非阻寒赋值分开在不同的away坎中实现。21 function/task/ repeat/ while/ forFunction用于执行一段的功能电路,由组合逻辑组成,至少一个输入,无输出。返回一个输出值(缺省值为1bit寄存器数据),输入输出的类型可以自己定义。 function可以驱动和使用全局变量,内部定义的为局部变量。函数
    2021-05-07下载
    积分:1
  • 分形图像代码(matlab)
    分形图像的源代码,而且运行完全正确。还附有可执行的程序。
    2020-12-08下载
    积分:1
  • 风控建模等奖
    使用拍拍贷数据,建模全过程,从数据预处理开始到最后的模型比较。仅用于交流学习。队伍介绍队名“不得仰视本王”,队伍由五个小伙伴组成,我们是在一个类以的比赛(微额借款用户人品预测大赛)认识的,对数据挖掘竹热爱让我们走到了一起,以下是成员简介:姓名学校、学历比赛经历匚陈靖」中国科学技术大学研二天泡科学家总分第三,微额借贷用户人品预测大赛季军朱治亮浙江大学研二淘宝穿衣搭配比赛李军,微额借贷用户人品预测大赛李军质耀重庆邮电大学研二微额借贷用户人品预测大赛冠军匚赵蕊」重庆邮电大学研微额借贷用户人品预测大赛亚军黄伟鹏北京大学研一微额借贷用户人品预测大赛冠军解决方案概述2.1项目介绍与问题分析拍拍贷“魔镜风控系统”从平均400个数据维度评估厍户当前的信用状态,给每个告款人打出当前状态的信用分,在此基础上再结合新发标的信息,打出对于每个标约6个月内逾期率的预沨,为没资人提供关键的决策依据。本次竞赛目标是根据用户历史行为数据来颈测用户在六来6个月内是否会逾期还款的概率。问题转换成2分类问题,评估指标为AUC,从 Master, LogInfo, Update Info表中构建恃征,考虑评估指标为AUC,其本质是排序优化问题,所以我们在模型顶层融合也使用基于排序优化的 RANK AVG融合方法。2.2项目总体思路本文首先从数据清洗开始,介绍我们对缺失值的多维度处、对离群点的剔除方法以及对字符、空格等的处理;其次进行特征工程,包括对地理位置信息的特征构建、成交玉间特征、类别特征编码、组合特征构建、 Lpdatelnfo和 Log Info表的特征提取等;再次进行特征选择,我们采用了 boost, boost的训练过栏即对特征重要性的排序过程;然后处理类别的不平衡度,由于赛题数据出现了类不平衡的情况,我们采用了代价敏感学习和过采样两和方法,重点介绍我们所使用的过采样方法;最后一部分是模型设计与分析,我们采用了二业界广泛应用的逻辑回归模型、数据挖掘比赛大杀器 ghost.,创新性地揆索了large- scale sⅧm的方法在本赛题二的应用,玟得了不错的效果,此外还介绍了模型融合方、数据清洗3.1缺失值的多维度处理在征信领域,用户信总的完善程度可能会影响该层户的信用评级。一个信息完苦程度为100%的户比起完善程度为50%的用户,会更加容易官核通过并得到借款。从这一点亡发,我们对缺失值进行了多维度的分析和处理按列(属性)统计缺失值个数,进一步得到各列的缺失比率,下图(图1)显示了含有缺失值的属性和相应的缺失比率sing rate of Attributes图1.属性缺失比枣WeblogInfo_1和 WeblogInfo3的缺失值比率为97%,这两列属性基本不携带有用的信息,直接剔除。 Uscr Info_11、 Userinfo_12和 Uscr info_13的缺失值比率为63%,这三列属性是类别型的,可以将缺失值用-1垣充,相当于“是否缺失”当成另一种类别。其他缺失值比卒较小的数值型属性用中值填充按行统计每个样本的属性缺矢值个数,将缺失值个数从小到大排序,以序号为横坐标,缺失值个数为纵坐标,画出如下散点图(图2)test set16016014014C12012Cw9mczE100400060008000Order Numbe(sort ircreasinglyOrde Nt mber(sort increasing ly)图2.样本属性缺失个数对比 trainset和 testset上的样本的属性缺失值个数,可以发现其分有基本一致,但是trainset上出了几个缺失值个数特别多的样本(红框区域内),这几个样本可以认为是离群点,将其剔除另外,缺矢值个数可以作为一个特征,衡量用户信息的完善程度。3.2剔除常变量原始数据宁有190维数值型特征,通过计算每个数值型特征的标准差,剔除部分变亿很小的特征,下表(表1)列出的15个特征是标准差接近于0的,我们剔了这15维特征表1.剔除数值特征标准差属性标准差属性标准差属忾标准差Webloglnfo_10 0.0707 WeblogInfo_41 0.0212 Webloglnfo_490.0071Webloglnfo_23.0939 WeblogInfo_43 0.0372 Webloglnfo_5200512Webloglnfo_31.0828 Webloglnfo_44.0166 Webloglnfo_5400946Webloglnfo_32 0.0834 Webloglnfo_46.0290 WeblogInfo_5500331Webloglnfo_40.0666 Webloglnfo_47 0.0401 WeblogInfo_58006093.3高群点剔除在样本空间中与其他样本点的一般行为或特征不一致的点称为离群点,考虑到离群点的异常特征可能是多维度的组合,我们通过分析样本属性的缺矢值个数,剔除了极少量的离群点(见3.1节)此外,我们还采用了另外一种简单有效的方法:在原始数捶上训练ⅹ gboost,用得到的xgb模型输出特征的重要性,取最重要的前20个特征(如图3所示),统计每个栏本在这20个特征上的缺失值个数,将缺矢值个数大于10的样本作为离群点。ThrciParty Ifn PeriodIntrAparty nto HerodThrcPorty hfo Penod3ardiParty hfo Period?ThirdParty Info Penod图3.Xgb特征重要性通过这个方法,易除了400多个样水。这些样在重要特征上的取值是缺失的,会使得模型学习变得因难,从这个角度妖说,它们可以看成是离群点,应剔除掉。3.4其他处理(1)字符大小写转换Userupdate Info表宁的 Userupdate Info1字段,属性取值为英文字符,包含了大小写,如Q"和”qQ",很玥显是同一和取值,我们将所有字符统一转换为小写(2)空格符处理Mastor表中 UserInfo9字段的取值包含了空格字符,如“中国移动”和“中国移动”它们是同一种取值,需要将空格符去除。(3)城市名处理Userinfo_8包含有“重庆”、“重庆市”等取僬,它们实际上是同一个城市,需要把字符中的“市”全部去掉。去掉“市”之后,城市数由600多下降到400多。四、特征工程4.1地理位置的处理对地理位置信(类别型变量)最简单的处理方式是独热编码(one- hot encoding),但是这样会得到很高维的稀疏特征,影响糢型的学习,我们在独热编码旳基础上,做了特征选择。下面介绍具体的方法。赛题数据提供了用户的地挛位置信息,包括7个字段: Userinfo2、 Userinfo4、UserInfo7、 UserInfo8、 UserInfo I9、 UserInfo20,其中 UserInfo_7和 UserInfo19是省份信息,其余为城市信息。我们统计了每个省份和城市的违约率,下图以 Userinfo_7为例图1.省分违约率可视化图5可视化了每个省份的违约率,颜色越深代表违约率越大,其中违约率最大的几个省份或直辖市为四川、湖南、湖北、吉林、天津、山东,如下图所示:图5.违约深突出省份可视化因此我们可以构建6个二值特征:“是否为四川省”、“是否为湖南省”...“是否为山东省”,其取值为或1。其实这相当于对地理位置信息做了独热编码,然后保留其中有判别性的菜些列。这里 UserInfo_7何含32和取值,编码后可以得到32维的稀疏特征,而我们只保留其宇的6维以上我们是通过人工的分析方法去构延二值特征,在处理省份信息时还是匕较直观的,但是处理城市信息,比如 Userinfo2,包含了33个减市,就没有那么直观了。为了得到有判别性的二值特征,我们首先对 Userinfo2进行独热编码,得到333维的二值特征,然后在这333维稀疏特征上训练ⅹgb模型,再根据xgb输出的特征重要性刷选二值痔征,以下是选取到的部分二值特征(对应的城市):“淮纺市”、“九江市”、“三门峡市”、“汕头市”、“长春市”、“铁岭市”、“济菊市”、“成都市”、“淄博市”、“牡丹江市”。按城市等级合并类别型特征取值个数太多时,独热编码后得到太高维的稀疏特征,除了采用上面提到的特征选择方法外,我们还使用了合并变量的方法。按照城市等级,将类别变量合并,例如线城市北京、上海、广州、深圳合并,赋值为1,同样地,二线城市合并为2,三线城市合并为3>经纬度特征的引入以上对地理位置信息的处理,都是基于类别型的,我们另外收集了各个城市的经纬度,将城市名用经纬度替换,这样就可以将类别型的变量转化为数值型的变量,比如北京市,用经纬度(39.92,116.46)替换,得到北纬和东经两个数值型特征。加入经纬度后,线下的cross validation有千分位的提升。城市特征向量化我们将城可特征里的城市计数,并取Log,然后等值离散化到610个区间内。以下图为例,将 serino2这个特征里面的325个城市离散为一个6维向量。向量“100000”表示该城位于第一个区间。线下的 cross validation有千分位的提升。Loglui2 num)6.城市特征离散化地理位置差异特征如图8所示,1,2,1,6列郗是城市。那么我们构建一个城市差异的特征,比妇diff_12表示1,2列的城市是否相同。如此构建 diff l2,diff_14,diff_l6,diff_24,diff26,diff46这6个城市差异的特征。线下的 cross validation有千分位的提升。⊥aJse⊥nfa2 userinfo4 Userinfo7 Userinfo8 Userinfo19uer⊥nf。201C013郴州1C020惠州1C033零1c035深圳东东东东建东福建省10038济104连云港远言港带1C042德州1c043青岛聊拔东自聊城市46深圳汕广东广东省汕尾市105所多工新乡图7.地理位置差异样例4.2成交时间特征按日统计训练集中每天借贷的成交量,正负样本分别统计,得到如下的曲线图8,横坐标是日期(20131101至20141109),纵坐标是每天的借贷量。蓝色由线是违约的样本每天的数量(为了对比明显,将数量乘上了2),绿色曲线对应不违约的样本train set1200count o10008004002广外从20030350Date20131101~20141109图8.每日借贷量统计可以发现拍拍贷的业务量总体是在埤长的,而违约数量一开始也是缓慢增长,后面基本保持不变,总体上违约率是平稳甚至下降的。在横坐标300~350对应的日期区间,出现了些借贷量非鸴大的时间苄点,这些可能隐减着苿些信息,我们尚未挖掘出来。考虑到违约率跟时间线有关,我们将戒交时间的字段 Listinginfc傲了几种处理,一和是直接将其当做连续值特征,也就是上图对应的横坐标,另一和是离散化夂理,每10天作为一个区间,乜就是将日期0`10离散化为1,日期1120离散化为2.4.3类别特征的处理除了上面提到的对菜些类别特征进行特殊处理外,其他类别特征都做独热编码。44组合特征Xgboost的训练完成后可以输出特征的重要性,我们发现第三方数据特征ThirdParty Info Period XX”的 feature score比较大(见图3),即判别性比较高,于是用这部分特征构建了ξ合特征:将特征两两相除得到7000个特征,然后使用 boost对这7000多个特征单独训练模型,训练完成后得到特征重要性的排序,取其中top500个特征线下cv能达到0.73+的AUC值。将这500个特征添加到原始特征体系中,线下cv的AC值从0.777捉高到0.7833。另外,也组合了乘法特征(取对数):10g(x*y),刷选出其中的270多维,加入到原始特征休系中,单模型cv又提高到、0.785左右。4.5 Upadte Info表特征根据提供的修改信息表,我们从中抽取了用户的修改信息特征,比如:修改信息次数,修改信息时间到成交时间的跨度,每和信息的修改次数等等特征。46 LogInfo表特征类似地,我们从登录信息表里提取了用户的登录信息特征,比如登录天数,平均登录间隔以及每种操作代码的次数等47排序特征对原始特征中190维数值型特征接数值从小到大进行排序,得到190维排序特征。排序特征对异常数据有更强的鲁棒性,使得模型更加稳定,降低过拟合的风险。五、特征选择在特征工程部分,我们构建了一系列位置信息相关的特征、组合特征、成交时间特征、排序特征、类别稀疏侍征、 updateinfo和1 oginfo相关的特征等,所有特征加起来将近1500维,这么多维特征一方面可能会导致维数灾难,另一方面很容易导致过拟合,需要做降维处理,降维方法赏用的有如PCA,tSNE等,这类方法的计算复杂度比较高。并且根据以往经验,在数据挖掘类的匕赛中,PCA或t-SNE效果仨往不好。除了釆用降维算法之外,也可以通过特征选择来降低特征维度。特征选择的方法很多:最大信息系数(MIC)、皮尔森相关系数(衡量变量间的线性相关性)、正则化方法(L1,L2)、基于模型的特征排序方法。比较高效的是最后一种,即基于学习模型的特征排序方法,这种方法有一个好处:模型学习的过程和特征选择的过程是同时进行的,医此我们采用这和方法,基于 boost来做特征选择, xgboost模型洲练完成后可以输岀特征的重要性(见3.3图),据此我们可以保留TopN个特征,从而达到特在选择的目的。
    2020-06-23下载
    积分:1
  • 北航教 计算电磁学.rar
    【实例简介】北航教学 计算电磁学 绪论: 介绍计算电磁学的含义、研究内容、应用及发展情况 矩量法: 介绍矩量法的原理和应用 有限差分法: 介绍有限差分法的原理和应用 有限元法: 介绍有限元法的基本原理和方法的实施过程
    2021-11-21 00:35:21下载
    积分:1
  • Java读取json文件并对json数据进行读取、添加、删除与修改操作
    开发过程中经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,尤其是Geojson文件的处理,通过对网络资料的整理总结,下面介绍Java语言方法对json数据进行读取、添加、删除与修改操作。
    2020-12-07下载
    积分:1
  • java实现国密算法SM2,SM3,SM4算法
    java实现国密算法SM2,SM3,SM4算法,包含需要导的一个jar包,直接导入开发工具即可(eclipse,myeclipse等)
    2020-12-07下载
    积分:1
  • ENVI常用扩展补丁
    关于很多高分卫星的数据处理插件,适合ENVI4.8及以上用户,请叫我雷锋哦
    2020-12-11下载
    积分:1
  • 修正剑桥模型小序(Matlab)
    采用Matlab R2012编写的修正剑桥模型,安装Matlab R2012软件后,可以直接打开改程序进行运算
    2020-12-01下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载