ESSENTIAL_LECTURE_CAPM[1]Updated
CAPM(资本资产定价模型英文教程)
Stocks Expected Return Beta A 16% 1.2 B 19% 1.3 C 13% 0.75 E(rm) = 18% rf = 14% Which of these stocks is correctly priced?
Example of CAPM
Interpretation of the Numerical Value of Beta
Interpretation of the Numerical Value of Beta
Beta < 1.0 Stock's return is less
volatile than the market return
Low Beta Stocks
Less systematic market risk
May be appropriate for low-risk
tolerant (defensive) investors
Individual Stock Betas
May change over time
Given the following security market line
E(ri) = 0.07 + 0.09I What must be the returns for two stocks assuming their betas are 1.2 and 0.9?
Interpretation of the Numerical Value of Beta
High Beta Stocks
More systematic market risk
May be appropriate for high-risk
tolerant (aggressive) investors
比特币 助记词正则
比特币助记词正则
比特币助记词是一种用于恢复比特币钱包的重要工具。
它以一串单词的形式存在,每个单词都代表着一个唯一的概念。
这些概念涵盖了比特币钱包的所有信息,包括公钥、私钥和交易记录等。
比特币助记词的生成过程是基于数学算法的,但在本文中,我们将避免使用数学公式或计算公式来解释其原理。
相反,我们将以简单易懂的语言来描述这个过程。
比特币助记词的生成是通过一个熵源来实现的。
这个熵源可以是随机数生成器或者是一段随机的文字。
通过这个熵源,系统会生成一系列的随机数,然后将这些随机数转化成一组单词。
这组单词的数量通常为12个或24个,每个单词都是从一个预定义的单词列表中选取的。
这个单词列表是为了避免生成的助记词出现歧义或误导的情况。
因此,这个单词列表是经过精心筛选和设计的,以确保每个单词都是独一无二的,并且易于记忆和书写。
比特币助记词的生成过程是完全确定性的,这意味着只要有相同的熵源和算法,就可以生成相同的助记词。
这就为恢复钱包提供了方便,只需输入正确的助记词,系统就能够还原出钱包的所有信息。
比特币助记词的重要性不言而喻。
它是恢复钱包的唯一方式,也是保护个人财产安全的关键。
因此,我们应该妥善保管自己的助记词,避免泄露给他人或丢失。
比特币助记词是一种重要的工具,它可以帮助我们恢复比特币钱包,并保护个人财产的安全。
了解助记词的生成原理和使用方法对于比特币用户来说是至关重要的。
希望通过本文的介绍,读者能够更好地理解和运用比特币助记词。
第6讲 资本资产定价模型(CAPM) (《金融经济学》PPT课件)
6.1 从组合选择到市场均衡
《
金
融 经
市场组合M是什么样的?
济 学
市场组合就是包含了所有风险资产的整个市场
二
五 讲
这么个依赖于大量前提条件(各类资产的收益波动状况)的复杂均值方差优化
》 配
问题的结果M,怎么会这么巧就和现实中的整个市场一模一样?
套 课
但结果就是这么巧,也必须这么巧
对市场所做的简化假设
五 讲
没有交易成本(佣金、买卖价差等)
》
配 套
没有税收
课 件
所有资产都可以任意交易,并且无限可分
完全竞争:所有人都是价格的接受者,没有影响价格的能力
对投资者的假设(所有人都求解均值-方差问题)
所有人都以均值方差的方式选择投资组合:偏好更高的期望回报率,以及更低 的回报率波动率
i
市场组合M处,否则与CML
市场组合
定义矛盾
σ
0
7
6.4 CAPM的第二种论证
基于组合构建的CAPM论证(续)
《
金
融 经
济
学
由曲线与CML在M处相切得dE到(rw)
E(rM ) rf
二 五
d (rw ) w0
M
由求导法则及E(r )的表达式可知 讲
》
配
套
课
件
wdE(rw ) dE(rw ) d (rw ) dw
所有资产(包括无风险资产)都可以任意买空卖空
一致预期:所有人针对相同的时间区间(1期)考虑投资问题,并对资产的预期 回报率和预期波动率状况{E(r1̃ ), E(r2̃ ), ..., E(rñ ), σ(r1̃ ), σ(r2̃ ), ..., σ(rñ )}有相同预期
mt4中文帮助命令中文手册
MQL4 Reference MQL4命令手册(本手册采用Office2007编写)2010年2月目录MQL4 Reference (1)MQL4命令手册 (1)Basics基础 (12)Syntax语法 (12)Comments注释 (12)Identifiers标识符 (12)Reserved words保留字 (13)Data types数据类型 (13)Type casting类型转换 (14)Integer constants整数常量 (14)Literal constants字面常量 (14)Boolean constants布尔常量 (15)Floating-point number constants (double)浮点数常量(双精度) (15)String constants字符串常量 (15)Color constants颜色常数 (16)Datetime constants日期时间常数 (16)Operations & Expressions操作表达式 (17)Expressions表达式 (17)Arithmetical operations算术运算 (17)Assignment operation赋值操作 (17)Operations of relation操作关系 (18)Boolean operations布尔运算 (18)Bitwise operations位运算 (19)Other operations其他运算 (19)Precedence rules优先规则 (20)Operators操作符 (21)Compound operator复合操作符 (21)Expression operator表达式操作符 (21)Break operator终止操作符 (21)Continue operator继续操作符 (22)Return operator返回操作符 (22)Conditional operator if-else条件操作符 (23)Switch operator跳转操作符 (23)Cycle operator while循环操作符while (24)Cycle operator for循环操作符for (24)Functions函数 (25)Function call函数调用 (26)Special functions特殊函数 (27)Variables变量 (27)Local variables局部变量 (28)Formal parameters形式变量 (28)Static variables静态变量 (29)Global variables全局变量 (29)Defining extern variables外部定义变量 (30)Initialization of variables初始化变量 (30)External functions definition外部函数的定义 (30)Preprocessor预处理 (31)Constant declaration常量声明 (31)Controlling compilation编译控制 (32)Including of files包含文件 (32)Importing of functions导入功能 (33)Standard constants标准常数 (35)Series arrays系列数组 (35)Timeframes图表周期时间 (35)Trade operations交易操作 (36)Price constants价格常数 (36)MarketInfo市场信息识别符 (36)Drawing styles画线风格 (37)Arrow codes预定义箭头 (38)Wingdings宋体 (39)Web colors颜色常数 (39)Indicator lines指标线 (40)Ichimoku Kinko Hyo (41)Moving Average methods移动平均方法 (41)MessageBox信息箱 (41)Object types对象类型 (43)Object properties对象属性 (44)Object visibility (45)Uninitialize reason codes撤销初始化原因代码 (45)Special constants特别常数 (46)Error codes错误代码 (46)Predefined variables预定义变量 (50)Ask最新卖价 (50)Bars柱数 (50)Bid最新买价 (50)Close[]收盘价 (51)Digits汇率小数位 (51)High[]最高价 (51)Low[]最低价 (52)Open[]开盘价 (53)Point点值 (53)Time[]开盘时间 (53)Volume[]成交量 (54)Program Run程序运行 (56)Program Run程序运行 (56)Imported functions call输入函数调用 (57)Runtime errors运行错误 (57)Account information账户信息 (68)AccountBalance( )账户余额 (68)AccountCredit( )账户信用点数 (68)AccountCompany( )账户公司名 (68)AccountCurrency( )基本货币 (68)AccountEquity( )账户资产净值 (68)AccountFreeMargin( )账户免费保证金 (69)AccountFreeMarginCheck()账户当前价格自由保证金 (69)AccountFreeMarginMode( )账户免费保证金模式 (69)AccountLeverage( )账户杠杆 (69)AccountMargin( )账户保证金 (69)AccountName( )账户名称 (70)AccountNumber( )账户数字 (70)AccountProfit( )账户利润 (70)AccountServer( )账户连接服务器 (70)AccountStopoutLevel( )账户停止水平值 (70)AccountStopoutMode( )账户停止返回模式 (71)Array functions数组函数 (72)ArrayBsearch()数组搜索 (72)ArrayCopy()数组复制 (72)ArrayCopyRates()数组复制走势 (73)ArrayCopySeries()数组复制系列走势 (74)ArrayDimension()返回数组维数 (75)ArrayGetAsSeries()返回数组序列 (75)ArrayInitialize()数组初始化 (75)ArrayIsSeries()判断数组连续 (75)ArrayMaximum()数组最大值定位 (76)ArrayMinimum()数组最小值定位 (76)ArrayRange()返回数组指定维数数量 (76)ArrayResize()改变数组维数 (77)ArraySetAsSeries()设定系列数组 (77)ArraySize()返回数组项目数 (78)ArraySort()数组排序 (78)Checkup检查 (79)GetLastError( )返回最后错误 (79)IsConnected( )返回联机状态 (79)IsDemo( )返回模拟账户 (79)IsDllsAllowed( )返回dll允许调用 (80)IsExpertEnabled( )返回智能交易开启状态 (80)IsLibrariesAllowed( )返回数据库函数调用 (80)IsOptimization( )返回策略测试中优化模式 (81)IsStopped( )返回终止业务 (81)IsTesting( )返回测试模式状态 (81)IsTradeAllowed( )返回允许智能交易 (81)IsTradeContextBusy( )返回其他智能交易忙 (82)IsVisualMode( )返回智能交易“图片模式” (82)UninitializeReason( )返回智能交易初始化原因 (82)Client terminal客户端信息 (83)TerminalCompany( )返回客户端所属公司 (83)TerminalName( )返回客户端名称 (83)TerminalPath( )返回客户端文件路径 (83)Common functions常规命令函数 (84)Alert弹出警告窗口 (84)Comment显示信息在走势图左上角 (84)GetTickCount获取时间标记 (84)MarketInfo在市场观察窗口返回不同数据保证金列表 (85)MessageBox创建信息窗口 (85)PlaySound播放声音 (86)Print窗口中显示文本 (86)SendFTP设置FTP (86)SendMail设置Email (87)Sleep指定的时间间隔内暂停交易业务 (87)Conversion functions格式转换函数 (88)CharToStr字符转换成字符串 (88)DoubleToStr双精度浮点转换成字符串 (88)NormalizeDouble给出环绕浮点值的精确度 (88)StrToDouble字符串型转换成双精度浮点型 (89)StrToInteger字符串型转换成整型 (89)StrToTime字符串型转换成时间型 (89)TimeToStr时间类型转换为"yyyy.mm.dd hh:mi"格式 (89)Custom indicators自定义指标 (91)IndicatorBuffers (91)IndicatorCounted (92)IndicatorDigits (92)IndicatorShortName (93)SetIndexArrow (94)SetIndexBuffer (94)SetIndexDrawBegin (95)SetIndexEmptyValue (95)SetIndexLabel (96)SetIndexShift (97)SetIndexStyle (98)SetLevelStyle (98)SetLevelValue (99)Date & Time functions日期时间函数 (100)Day (100)DayOfWeek (100)Hour (100)Minute (101)Month (101)Seconds (101)TimeCurrent (101)TimeDay (102)TimeDayOfWeek (102)TimeDayOfYear (102)TimeHour (102)TimeLocal (102)TimeMinute (103)TimeMonth (103)TimeSeconds (103)TimeYear (103)Year (104)File functions文件函数 (105)FileClose关闭文件 (105)FileDelete删除文件 (105)FileFlush将缓存中的数据刷新到磁盘上去 (106)FileIsEnding文件结尾 (106)FileIsLineEnding (107)FileOpen打开文件 (107)FileOpenHistory历史目录中打开文件 (108)FileReadArray将二进制文件读取到数组中 (108)FileReadDouble从文件中读取浮点型数据 (109)FileReadInteger从当前二进制文件读取整形型数据 (109)FileReadNumber (109)FileReadString从当前文件位置读取字串符 (110)FileSeek文件指针移动 (110)FileSize文件大小 (111)FileTell文件指针的当前位置 (111)FileWrite写入文件 (112)FileWriteArray一个二进制文件写入数组 (112)FileWriteDouble一个二进制文件以浮动小数点写入双重值 (113)FileWriteInteger一个二进制文件写入整数值 (113)FileWriteString当前文件位置函数写入一个二进制文件字串符 (114)Global variables全局变量 (115)GlobalVariableCheck (115)GlobalVariableDel (115)GlobalVariableGet (115)GlobalVariableName (116)GlobalVariableSet (116)GlobalVariableSetOnCondition (116)GlobalVariablesTotal (117)Math & Trig数学和三角函数 (119)MathAbs (119)MathArccos (119)MathArcsin (119)MathArctan (120)MathCeil (120)MathCos (120)MathExp (121)MathFloor (121)MathLog (122)MathMax (122)MathMin (122)MathMod (122)MathPow (123)MathRand (123)MathRound (123)MathSin (124)MathSqrt (124)MathSrand (124)MathTan (125)Object functions目标函数 (126)ObjectCreate建立目标 (126)ObjectDelete删除目标 (127)ObjectDescription目标描述 (127)ObjectFind查找目标 (127)ObjectGet目标属性 (128)ObjectGetFiboDescription斐波纳契描述 (128)ObjectGetShiftByValue (128)ObjectGetValueByShift (129)ObjectMove移动目标 (129)ObjectName目标名 (129)ObjectsDeleteAll删除所有目标 (130)ObjectSet改变目标属性 (130)ObjectSetFiboDescription改变目标斐波纳契指标 (131)ObjectSetText改变目标说明 (131)ObjectsTotal返回目标总量 (131)ObjectType返回目标类型 (132)String functions字符串函数 (133)StringConcatenate字符串连接 (133)StringFind字符串搜索 (133)StringGetChar字符串指定位置代码 (133)StringLen字符串长度 (134)StringSubstr提取子字符串 (134)StringTrimLeft (135)StringTrimRight (135)Technical indicators技术指标 (136)iAC比尔.威廉斯的加速器或减速箱振荡器 (136)iAD离散指标 (136)iAlligator比尔・威廉斯的鳄鱼指标 (136)iADX移动定向索引 (137)iATR平均真实范围 (137)iAO比尔.威廉斯的振荡器 (138)iBearsPower熊功率指标 (138)iBands保力加通道技术指标 (138)iBandsOnArray保力加通道指标 (139)iBullsPower牛市指标 (139)iCCI商品通道索引指标 (139)iCCIOnArray商品通道索引指标 (140)iCustom指定的客户指标 (140)iDeMarker (140)iEnvelopes包络指标 (141)iEnvelopesOnArray包络指标 (141)iForce强力索引指标 (142)iFractals分形索引指标 (142)iGator随机震荡指标 (142)iIchimoku (143)iBWMFI比尔.威廉斯市场斐波纳契指标 (143)iMomentum动量索引指标 (143)iMomentumOnArray (144)iMFI资金流量索引指标 (144)iMA移动平均指标 (144)iMAOnArray (145)iOsMA移动振动平均震荡器指标 (145)iMACD移动平均数汇总/分离指标 (146)iOBV能量潮指标 (146)iSAR抛物线状止损和反转指标 (146)iRSI相对强弱索引指标 (147)iRSIOnArray (147)iRVI相对活力索引指标 (147)iStdDev标准偏差指标 (148)iStdDevOnArray (148)iStochastic随机震荡指标 (148)iWPR威廉指标 (149)Timeseries access时间序列图表数据 (150)iBars柱的数量 (150)iClose (150)iHigh (151)iHighest (151)iLow (152)iLowest (152)iOpen (152)iTime (153)iVolume (153)Trading functions交易函数 (155)Execution errors (155)OrderClose (157)OrderCloseBy (158)OrderClosePrice (158)OrderCloseTime (158)OrderComment (159)OrderCommission (159)OrderDelete (159)OrderExpiration (160)OrderLots (160)OrderMagicNumber (160)OrderModify (160)OrderOpenPrice (161)OrderOpenTime (161)OrderPrint (162)OrderProfit (162)OrderSelect (162)OrderSend (163)OrdersHistoryTotal (164)OrderStopLoss (164)OrdersTotal (164)OrderSwap (165)OrderSymbol (165)OrderTakeProfit (165)OrderTicket (166)OrderType (166)Window functions窗口函数 (167)HideTestIndicators隐藏指标 (167)Period使用周期 (167)RefreshRates刷新预定义变量和系列数组的数据 (167)Symbol当前货币对 (168)WindowBarsPerChart可见柱总数 (168)WindowExpertName智能交易系统名称 (169)WindowFind返回名称 (169)WindowFirstVisibleBar第一个可见柱 (169)WindowHandle (169)WindowIsVisible图表在子窗口中可见 (170)WindowOnDropped (170)WindowPriceMax (170)WindowPriceMin (171)WindowPriceOnDropped (171)WindowRedraw (172)WindowScreenShot (172)WindowTimeOnDropped (173)WindowsTotal指标窗口数 (173)WindowXOnDropped (173)WindowYOnDropped (174)Obsolete functions过时的函数 (175)MetaQuotes Language 4 (MQL4) 是一种新的内置型程序用来编写交易策略。
opencv adaboost人脸检测训练程序阅读笔记(LBP特征)
1、训练程序整体流程(1)读输入参数并打印相关信息(2)进入训练程序最外层入口classifier.train1)读正负样本,将正负样本放入imgLiast中,先读正样本,后读负样本2)load( dirName )判断之前是否有已训练好的xml文件,若有,不在重新训练该stage的xml文件,没有返回false,初始化参数3)计算requiredLeafFARate = pow(maxFalseAlarm,numStages)/max_depth,该参数是stage停止条件(利用训练样本集来计算tempLeafFARate,若tempLeafFARate小于这一参数,则退出stage训练循环);4)Stage训练循环5)更新训练样本集,计算tempLeafFARate(负样本被预测为正样本的个数除以读取负样本的次数,第一次没有训练之前,这个比值为1,因为没训练之前,所有负样本都被预测成了正样本,当第一层训练好以后,负样本采集时会先用第一层的分类器预测一次,若能分类,则不选用,选用负样本的数目是固定的,但选用这么多负样本总共要选的次数会随着层数的增多而加大,因为层数越大,分类器的分类能力也要求越大,说需要的样本就是前面分类器所不恩呢该识别的,故在采集时也比较困难。
)6)判断stage是否退出训练,若tempLeafFARate<requiredLeafFARate则退出stage训练,否则继续;7)强训练器训练入口tempStage->train()a.建立训练数据data = new CvCascadeBoostTrainData(主要是一些参数的设置,还有特征值的计算)b.初始化样本权重update_weights( 0 );c.弱分类器训练循环i)tree->train—》do_trainai) 根节点的初始root = data->subsample_data( _subsample_idx );(主要是对根节点的一些参数进行初始化,parent 0,count 1,split 0,value 0,class_idx 0,maxlr 0,left = right = 0,等等)bi) CV_CALL( try_split_node(root)),根据根节点计算整颗数的各节点的参数配置aii) calc_node_value( node );计算节点的回归值,类似于分类投票值sum(w*class_lable),正样本的class_lable取,负样本的class_lable取-1;计算节点的风险值node_risk,noderisk is the sum of squared errors: sum_i((Y_i -<node_value>)^2)bii) 判断节点是否可以分裂(判断依据:样本值和设计的节点最大深度);再利用node_risk与regression_accuracy,如果这个节点的所有训练样本的节点估计值的绝对差小于这个参数,节点不再进行分裂cii) 找出最佳分裂best_split = find_best_split(node);aiii) 定义DTreeBestSplitFinder finder( this, node );biii) parallel_reduce(cv::BlockedRange(0, data->var_count), finder);此时调用DTreeBestSplitFinder类的操作符DTreeBestSplitFinder::operator()(constBlockedRange& range)aiv) 遍历所有特征vi = vi1; vi< vi2; vi++biv) res = tree->find_split_cat_reg()得到特征为split->var_idx = vi的最佳分裂的质量split->quality(split->quality越大越好)av) 将特征为vi所有样本的特征值返回到cat_labelsbv) 计算每个特征值取值不权值和和响应和,例如特征值为,则将所有特征值列表中特征值为的样本权值相加,LBP的特征值范围是0~255,故有256个categorycv) 计算每个category的平均响应值,即将每个category的响应和除以每个category的样本权值和dv) icvSortDblPtr( sum_ptr, mi, 0 );把256个值进行升序排序,注意sum_ptr里存的是sum[i]的地址,这里排序的依据是特征值还是按照每个特征值的平均响应来排序???个人感觉是按特征值的平均响应来排序fv) 将每个特征值的平均响应值乘以该特征值的总权值得到每个特征值的总响应gv) 遍历subset_i = 0; subset_i< mi-1; subset_i++avi) 计算索引是subset_i在排序前的idxbvi) 获取索引idx对应的样本总权重cvi) 获取索引idx对应的样本总响应dvi) 以subset_i为分裂点,计算分裂质量(sumL*sumL)/ weightL +(sumR*sumR)/ weightRfvi) 若最佳分裂质量小于这个质量,则更新最佳分裂质量hv) 经过训练得到最佳分裂点和最佳分裂质量,将遍历得到的值更新到split结构体各参数。
北京大学实证金融学讲义2CAPM的一些经验结果
解释
β测量误差
– 除市场组合外,β也不可观测 – 为测试CAPM,β只有通过历史数据估计而得,存
在误差 – β测量误差将使得估计的斜率系数下偏,截矩系数
上偏
解释
预期收益的测量误差
–使用样本均值µM和µi代表E(rM)和E(ri),真实均值不 可观测
– µM和µi估计中含有噪音 – µM和µi若相关,统计问题Errors-In-Variables (EIV)
–均衡收益率低于无风险利 率
–空头股票、衍生证券、金 矿开采业可能有此特点
CAPM的两个结论
• 市场组合是均值方差-有效组合
– 然而现实中没有一个组合含有所有风险资产
• 预期收益与风险之间具有线性关系
– 然而仅能观测到实际收益,预期收益不可观测
• 以上使得CAPM的经验检验困难
Gillette公司与美国股市总体收益
• Basu (1977, 1983) 和Reinganum (1981)
• PR1YR
– A factor-mimicking portfolio for one-year return momentum.
Data Description
Note: TNA, Flow, Mturn and Maximum Load are total net assets, capital inflow modified turnover ratio and maximum sale charges on funds respectively.
• 0=0 ? 1 [E(rM ) rf ]?
每单位β获得与市场相同的超额收益
我们希望检验,平均而言:
• 0风险导致0收益吗?1=[E(rM)rf]:
frm 最后的轻语 讲义
frm 最后的轻语讲义(实用版)目录1.介绍 frm 考试和最后的轻语讲义2.最后的轻语讲义的主要内容3.最后的轻语讲义的价值和适用对象4.如何有效利用最后的轻语讲义备考 frm正文frm(Financial Risk Manager)是全球金融风险管理领域最具权威的专业资格认证,而最后的轻语讲义则是针对 frm 考试的一本高质量的备考资料。
本文将对最后的轻语讲义进行详细的介绍和分析,帮助考生更好地利用这本讲义备考 frm。
最后的轻语讲义主要包括 frm 考试的两个级别:一级和二级。
其中,一级讲义涵盖了风险管理基础、数量分析、金融市场与产品、估值与风险建模等四个模块;二级讲义则包括市场风险管理、信用风险管理、操作风险管理、风险管理与投资管理等四个模块。
这本讲义对每个模块的知识点进行了系统、全面的梳理,并附有丰富的例题和习题,旨在帮助考生全面掌握 frm 考试所需的知识和技能。
最后的轻语讲义的价值在于,它为考生提供了一个清晰、有序的学习框架,使考生能够迅速了解 frm 考试的重点和难点,从而有针对性地进行复习。
此外,讲义中的例题和习题涵盖了 frm 考试的常见题型,考生通过练习可以有效提高解题能力和应试技巧。
最后,这本讲义适用于所有准备参加 frm 考试的考生,无论你是零基础还是已经有一定金融风险管理知识,都可以从这本讲义中受益。
要想有效利用最后的轻语讲义备考 frm,首先要对讲义进行全面、系统的阅读,理解其中的知识点和概念。
在此基础上,可以通过做习题和模拟试题来巩固所学知识,并及时发现自己的薄弱环节。
同时,建议与其他考生进行交流和讨论,分享彼此的学习心得和经验,以便更好地理解和掌握 frm 考试的知识。
总之,最后的轻语讲义是一本非常实用的 frm 备考资料,考生可以通过这本讲义全面了解 frm 考试的知识体系,并提高自己的应试能力。
斑马技术公司DS8108数字扫描仪产品参考指南说明书
Native Instruments MASCHINE MIKRO MK3用户手册说明书
The information in this document is subject to change without notice and does not represent a commitment on the part of Native Instruments GmbH. The software described by this docu-ment is subject to a License Agreement and may not be copied to other media. No part of this publication may be copied, reproduced or otherwise transmitted or recorded, for any purpose, without prior written permission by Native Instruments GmbH, hereinafter referred to as Native Instruments.“Native Instruments”, “NI” and associated logos are (registered) trademarks of Native Instru-ments GmbH.ASIO, VST, HALion and Cubase are registered trademarks of Steinberg Media Technologies GmbH.All other product and company names are trademarks™ or registered® trademarks of their re-spective holders. Use of them does not imply any affiliation with or endorsement by them.Document authored by: David Gover and Nico Sidi.Software version: 2.8 (02/2019)Hardware version: MASCHINE MIKRO MK3Special thanks to the Beta Test Team, who were invaluable not just in tracking down bugs, but in making this a better product.NATIVE INSTRUMENTS GmbH Schlesische Str. 29-30D-10997 Berlin Germanywww.native-instruments.de NATIVE INSTRUMENTS North America, Inc. 6725 Sunset Boulevard5th FloorLos Angeles, CA 90028USANATIVE INSTRUMENTS K.K.YO Building 3FJingumae 6-7-15, Shibuya-ku, Tokyo 150-0001Japanwww.native-instruments.co.jp NATIVE INSTRUMENTS UK Limited 18 Phipp StreetLondon EC2A 4NUUKNATIVE INSTRUMENTS FRANCE SARL 113 Rue Saint-Maur75011 ParisFrance SHENZHEN NATIVE INSTRUMENTS COMPANY Limited 5F, Shenzhen Zimao Center111 Taizi Road, Nanshan District, Shenzhen, GuangdongChina© NATIVE INSTRUMENTS GmbH, 2019. All rights reserved.Table of Contents1Welcome to MASCHINE (23)1.1MASCHINE Documentation (24)1.2Document Conventions (25)1.3New Features in MASCHINE 2.8 (26)1.4New Features in MASCHINE 2.7.10 (28)1.5New Features in MASCHINE 2.7.8 (29)1.6New Features in MASCHINE 2.7.7 (29)1.7New Features in MASCHINE 2.7.4 (31)1.8New Features in MASCHINE 2.7.3 (33)2Quick Reference (35)2.1MASCHINE Project Overview (35)2.1.1Sound Content (35)2.1.2Arrangement (37)2.2MASCHINE Hardware Overview (40)2.2.1MASCHINE MIKRO Hardware Overview (40)2.2.1.1Browser Section (41)2.2.1.2Edit Section (42)2.2.1.3Performance Section (43)2.2.1.4Transport Section (45)2.2.1.5Pad Section (46)2.2.1.6Rear Panel (50)2.3MASCHINE Software Overview (51)2.3.1Header (52)2.3.2Browser (54)2.3.3Arranger (56)2.3.4Control Area (59)2.3.5Pattern Editor (60)3Basic Concepts (62)3.1Important Names and Concepts (62)3.2Adjusting the MASCHINE User Interface (65)3.2.1Adjusting the Size of the Interface (65)3.2.2Switching between Ideas View and Song View (66)3.2.3Showing/Hiding the Browser (67)3.2.4Showing/Hiding the Control Lane (67)3.3Common Operations (68)3.3.1Adjusting Volume, Swing, and Tempo (68)3.3.2Undo/Redo (71)3.3.3Focusing on a Group or a Sound (73)3.3.4Switching Between the Master, Group, and Sound Level (77)3.3.5Navigating Channel Properties, Plug-ins, and Parameter Pages in the Control Area.773.3.6Navigating the Software Using the Controller (82)3.3.7Using Two or More Hardware Controllers (82)3.3.8Loading a Recent Project from the Controller (84)3.4Native Kontrol Standard (85)3.5Stand-Alone and Plug-in Mode (86)3.5.1Differences between Stand-Alone and Plug-in Mode (86)3.5.2Switching Instances (88)3.6Preferences (88)3.6.1Preferences – General Page (89)3.6.2Preferences – Audio Page (93)3.6.3Preferences – MIDI Page (95)3.6.4Preferences – Default Page (97)3.6.5Preferences – Library Page (101)3.6.6Preferences – Plug-ins Page (109)3.6.7Preferences – Hardware Page (114)3.6.8Preferences – Colors Page (114)3.7Integrating MASCHINE into a MIDI Setup (117)3.7.1Connecting External MIDI Equipment (117)3.7.2Sync to External MIDI Clock (117)3.7.3Send MIDI Clock (118)3.7.4Using MIDI Mode (119)3.8Syncing MASCHINE using Ableton Link (120)3.8.1Connecting to a Network (121)3.8.2Joining and Leaving a Link Session (121)4Browser (123)4.1Browser Basics (123)4.1.1The MASCHINE Library (123)4.1.2Browsing the Library vs. Browsing Your Hard Disks (124)4.2Searching and Loading Files from the Library (125)4.2.1Overview of the Library Pane (125)4.2.2Selecting or Loading a Product and Selecting a Bank from the Browser (128)4.2.3Selecting a Product Category, a Product, a Bank, and a Sub-Bank (133)4.2.3.1Selecting a Product Category, a Product, a Bank, and a Sub-Bank on theController (137)4.2.4Selecting a File Type (137)4.2.5Choosing Between Factory and User Content (138)4.2.6Selecting Type and Character Tags (138)4.2.7Performing a Text Search (142)4.2.8Loading a File from the Result List (143)4.3Additional Browsing Tools (148)4.3.1Loading the Selected Files Automatically (148)4.3.2Auditioning Instrument Presets (149)4.3.3Auditioning Samples (150)4.3.4Loading Groups with Patterns (150)4.3.5Loading Groups with Routing (151)4.3.6Displaying File Information (151)4.4Using Favorites in the Browser (152)4.5Editing the Files’ Tags and Properties (155)4.5.1Attribute Editor Basics (155)4.5.2The Bank Page (157)4.5.3The Types and Characters Pages (157)4.5.4The Properties Page (160)4.6Loading and Importing Files from Your File System (161)4.6.1Overview of the FILES Pane (161)4.6.2Using Favorites (163)4.6.3Using the Location Bar (164)4.6.4Navigating to Recent Locations (165)4.6.5Using the Result List (166)4.6.6Importing Files to the MASCHINE Library (169)4.7Locating Missing Samples (171)4.8Using Quick Browse (173)5Managing Sounds, Groups, and Your Project (175)5.1Overview of the Sounds, Groups, and Master (175)5.1.1The Sound, Group, and Master Channels (176)5.1.2Similarities and Differences in Handling Sounds and Groups (177)5.1.3Selecting Multiple Sounds or Groups (178)5.2Managing Sounds (181)5.2.1Loading Sounds (183)5.2.2Pre-listening to Sounds (184)5.2.3Renaming Sound Slots (185)5.2.4Changing the Sound’s Color (186)5.2.5Saving Sounds (187)5.2.6Copying and Pasting Sounds (189)5.2.7Moving Sounds (192)5.2.8Resetting Sound Slots (193)5.3Managing Groups (194)5.3.1Creating Groups (196)5.3.2Loading Groups (197)5.3.3Renaming Groups (198)5.3.4Changing the Group’s Color (199)5.3.5Saving Groups (200)5.3.6Copying and Pasting Groups (202)5.3.7Reordering Groups (206)5.3.8Deleting Groups (207)5.4Exporting MASCHINE Objects and Audio (208)5.4.1Saving a Group with its Samples (208)5.4.2Saving a Project with its Samples (210)5.4.3Exporting Audio (212)5.5Importing Third-Party File Formats (218)5.5.1Loading REX Files into Sound Slots (218)5.5.2Importing MPC Programs to Groups (219)6Playing on the Controller (223)6.1Adjusting the Pads (223)6.1.1The Pad View in the Software (223)6.1.2Choosing a Pad Input Mode (225)6.1.3Adjusting the Base Key (226)6.2Adjusting the Key, Choke, and Link Parameters for Multiple Sounds (227)6.3Playing Tools (229)6.3.1Mute and Solo (229)6.3.2Choke All Notes (233)6.3.3Groove (233)6.3.4Level, Tempo, Tune, and Groove Shortcuts on Your Controller (235)6.3.5Tap Tempo (235)6.4Performance Features (236)6.4.1Overview of the Perform Features (236)6.4.2Selecting a Scale and Creating Chords (239)6.4.3Scale and Chord Parameters (240)6.4.4Creating Arpeggios and Repeated Notes (253)6.4.5Swing on Note Repeat / Arp Output (257)6.5Using Lock Snapshots (257)6.5.1Creating a Lock Snapshot (257)7Working with Plug-ins (259)7.1Plug-in Overview (259)7.1.1Plug-in Basics (259)7.1.2First Plug-in Slot of Sounds: Choosing the Sound’s Role (263)7.1.3Loading, Removing, and Replacing a Plug-in (264)7.1.4Adjusting the Plug-in Parameters (270)7.1.5Bypassing Plug-in Slots (270)7.1.6Using Side-Chain (272)7.1.7Moving Plug-ins (272)7.1.8Alternative: the Plug-in Strip (273)7.1.9Saving and Recalling Plug-in Presets (273)7.1.9.1Saving Plug-in Presets (274)7.1.9.2Recalling Plug-in Presets (275)7.1.9.3Removing a Default Plug-in Preset (276)7.2The Sampler Plug-in (277)7.2.1Page 1: Voice Settings / Engine (279)7.2.2Page 2: Pitch / Envelope (281)7.2.3Page 3: FX / Filter (283)7.2.4Page 4: Modulation (285)7.2.5Page 5: LFO (286)7.2.6Page 6: Velocity / Modwheel (288)7.3Using Native Instruments and External Plug-ins (289)7.3.1Opening/Closing Plug-in Windows (289)7.3.2Using the VST/AU Plug-in Parameters (292)7.3.3Setting Up Your Own Parameter Pages (293)7.3.4Using VST/AU Plug-in Presets (298)7.3.5Multiple-Output Plug-ins and Multitimbral Plug-ins (300)8Using the Audio Plug-in (302)8.1Loading a Loop into the Audio Plug-in (306)8.2Editing Audio in the Audio Plug-in (307)8.3Using Loop Mode (308)8.4Using Gate Mode (310)9Using the Drumsynths (312)9.1Drumsynths – General Handling (313)9.1.1Engines: Many Different Drums per Drumsynth (313)9.1.2Common Parameter Organization (313)9.1.3Shared Parameters (316)9.1.4Various Velocity Responses (316)9.1.5Pitch Range, Tuning, and MIDI Notes (316)9.2The Kicks (317)9.2.1Kick – Sub (319)9.2.2Kick – Tronic (321)9.2.3Kick – Dusty (324)9.2.4Kick – Grit (325)9.2.5Kick – Rasper (328)9.2.6Kick – Snappy (329)9.2.7Kick – Bold (331)9.2.8Kick – Maple (333)9.2.9Kick – Push (334)9.3The Snares (336)9.3.1Snare – Volt (338)9.3.2Snare – Bit (340)9.3.3Snare – Pow (342)9.3.4Snare – Sharp (343)9.3.5Snare – Airy (345)9.3.6Snare – Vintage (347)9.3.7Snare – Chrome (349)9.3.8Snare – Iron (351)9.3.9Snare – Clap (353)9.3.10Snare – Breaker (355)9.4The Hi-hats (357)9.4.1Hi-hat – Silver (358)9.4.2Hi-hat – Circuit (360)9.4.3Hi-hat – Memory (362)9.4.4Hi-hat – Hybrid (364)9.4.5Creating a Pattern with Closed and Open Hi-hats (366)9.5The Toms (367)9.5.1Tom – Tronic (369)9.5.2Tom – Fractal (371)9.5.3Tom – Floor (375)9.5.4Tom – High (377)9.6The Percussions (378)9.6.1Percussion – Fractal (380)9.6.2Percussion – Kettle (383)9.6.3Percussion – Shaker (385)9.7The Cymbals (389)9.7.1Cymbal – Crash (391)9.7.2Cymbal – Ride (393)10Using the Bass Synth (396)10.1Bass Synth – General Handling (397)10.1.1Parameter Organization (397)10.1.2Bass Synth Parameters (399)11Working with Patterns (401)11.1Pattern Basics (401)11.1.1Pattern Editor Overview (402)11.1.2Navigating the Event Area (404)11.1.3Following the Playback Position in the Pattern (406)11.1.4Jumping to Another Playback Position in the Pattern (407)11.1.5Group View and Keyboard View (408)11.1.6Adjusting the Arrange Grid and the Pattern Length (410)11.1.7Adjusting the Step Grid and the Nudge Grid (413)11.2Recording Patterns in Real Time (416)11.2.1Recording Your Patterns Live (417)11.2.2Using the Metronome (419)11.2.3Recording with Count-in (420)11.3Recording Patterns with the Step Sequencer (422)11.3.1Step Mode Basics (422)11.3.2Editing Events in Step Mode (424)11.4Editing Events (425)11.4.1Editing Events with the Mouse: an Overview (425)11.4.2Creating Events/Notes (428)11.4.3Selecting Events/Notes (429)11.4.4Editing Selected Events/Notes (431)11.4.5Deleting Events/Notes (434)11.4.6Cut, Copy, and Paste Events/Notes (436)11.4.7Quantizing Events/Notes (439)11.4.8Quantization While Playing (441)11.4.9Doubling a Pattern (442)11.4.10Adding Variation to Patterns (442)11.5Recording and Editing Modulation (443)11.5.1Which Parameters Are Modulatable? (444)11.5.2Recording Modulation (446)11.5.3Creating and Editing Modulation in the Control Lane (447)11.6Creating MIDI Tracks from Scratch in MASCHINE (452)11.7Managing Patterns (454)11.7.1The Pattern Manager and Pattern Mode (455)11.7.2Selecting Patterns and Pattern Banks (456)11.7.3Creating Patterns (459)11.7.4Deleting Patterns (460)11.7.5Creating and Deleting Pattern Banks (461)11.7.6Naming Patterns (463)11.7.7Changing the Pattern’s Color (465)11.7.8Duplicating, Copying, and Pasting Patterns (466)11.7.9Moving Patterns (469)11.8Importing/Exporting Audio and MIDI to/from Patterns (470)11.8.1Exporting Audio from Patterns (470)11.8.2Exporting MIDI from Patterns (472)11.8.3Importing MIDI to Patterns (474)12Audio Routing, Remote Control, and Macro Controls (483)12.1Audio Routing in MASCHINE (484)12.1.1Sending External Audio to Sounds (485)12.1.2Configuring the Main Output of Sounds and Groups (489)12.1.3Setting Up Auxiliary Outputs for Sounds and Groups (494)12.1.4Configuring the Master and Cue Outputs of MASCHINE (497)12.1.5Mono Audio Inputs (502)12.1.5.1Configuring External Inputs for Sounds in Mix View (503)12.2Using MIDI Control and Host Automation (506)12.2.1Triggering Sounds via MIDI Notes (507)12.2.2Triggering Scenes via MIDI (513)12.2.3Controlling Parameters via MIDI and Host Automation (514)12.2.4Selecting VST/AU Plug-in Presets via MIDI Program Change (522)12.2.5Sending MIDI from Sounds (523)12.3Creating Custom Sets of Parameters with the Macro Controls (527)12.3.1Macro Control Overview (527)12.3.2Assigning Macro Controls Using the Software (528)13Controlling Your Mix (535)13.1Mix View Basics (535)13.1.1Switching between Arrange View and Mix View (535)13.1.2Mix View Elements (536)13.2The Mixer (537)13.2.1Displaying Groups vs. Displaying Sounds (539)13.2.2Adjusting the Mixer Layout (541)13.2.3Selecting Channel Strips (542)13.2.4Managing Your Channels in the Mixer (543)13.2.5Adjusting Settings in the Channel Strips (545)13.2.6Using the Cue Bus (549)13.3The Plug-in Chain (551)13.4The Plug-in Strip (552)13.4.1The Plug-in Header (554)13.4.2Panels for Drumsynths and Internal Effects (556)13.4.3Panel for the Sampler (557)13.4.4Custom Panels for Native Instruments Plug-ins (560)13.4.5Undocking a Plug-in Panel (Native Instruments and External Plug-ins Only) (564)14Using Effects (567)14.1Applying Effects to a Sound, a Group or the Master (567)14.1.1Adding an Effect (567)14.1.2Other Operations on Effects (574)14.1.3Using the Side-Chain Input (575)14.2Applying Effects to External Audio (578)14.2.1Step 1: Configure MASCHINE Audio Inputs (578)14.2.2Step 2: Set up a Sound to Receive the External Input (579)14.2.3Step 3: Load an Effect to Process an Input (579)14.3Creating a Send Effect (580)14.3.1Step 1: Set Up a Sound or Group as Send Effect (581)14.3.2Step 2: Route Audio to the Send Effect (583)14.3.3 A Few Notes on Send Effects (583)14.4Creating Multi-Effects (584)15Effect Reference (587)15.1Dynamics (588)15.1.1Compressor (588)15.1.2Gate (591)15.1.3Transient Master (594)15.1.4Limiter (596)15.1.5Maximizer (600)15.2Filtering Effects (603)15.2.1EQ (603)15.2.2Filter (605)15.2.3Cabinet (609)15.3Modulation Effects (611)15.3.1Chorus (611)15.3.2Flanger (612)15.3.3FM (613)15.3.4Freq Shifter (615)15.3.5Phaser (616)15.4Spatial and Reverb Effects (617)15.4.1Ice (617)15.4.2Metaverb (619)15.4.3Reflex (620)15.4.4Reverb (Legacy) (621)15.4.5Reverb (623)15.4.5.1Reverb Room (623)15.4.5.2Reverb Hall (626)15.4.5.3Plate Reverb (629)15.5Delays (630)15.5.1Beat Delay (630)15.5.2Grain Delay (632)15.5.3Grain Stretch (634)15.5.4Resochord (636)15.6Distortion Effects (638)15.6.1Distortion (638)15.6.2Lofi (640)15.6.3Saturator (641)15.7Perform FX (645)15.7.1Filter (646)15.7.2Flanger (648)15.7.3Burst Echo (650)15.7.4Reso Echo (653)15.7.5Ring (656)15.7.6Stutter (658)15.7.7Tremolo (661)15.7.8Scratcher (664)16Working with the Arranger (667)16.1Arranger Basics (667)16.1.1Navigating Song View (670)16.1.2Following the Playback Position in Your Project (672)16.1.3Performing with Scenes and Sections using the Pads (673)16.2Using Ideas View (677)16.2.1Scene Overview (677)16.2.2Creating Scenes (679)16.2.3Assigning and Removing Patterns (679)16.2.4Selecting Scenes (682)16.2.5Deleting Scenes (684)16.2.6Creating and Deleting Scene Banks (685)16.2.7Clearing Scenes (685)16.2.8Duplicating Scenes (685)16.2.9Reordering Scenes (687)16.2.10Making Scenes Unique (688)16.2.11Appending Scenes to Arrangement (689)16.2.12Naming Scenes (689)16.2.13Changing the Color of a Scene (690)16.3Using Song View (692)16.3.1Section Management Overview (692)16.3.2Creating Sections (694)16.3.3Assigning a Scene to a Section (695)16.3.4Selecting Sections and Section Banks (696)16.3.5Reorganizing Sections (700)16.3.6Adjusting the Length of a Section (702)16.3.6.1Adjusting the Length of a Section Using the Software (703)16.3.6.2Adjusting the Length of a Section Using the Controller (705)16.3.7Clearing a Pattern in Song View (705)16.3.8Duplicating Sections (705)16.3.8.1Making Sections Unique (707)16.3.9Removing Sections (707)16.3.10Renaming Scenes (708)16.3.11Clearing Sections (710)16.3.12Creating and Deleting Section Banks (710)16.3.13Working with Patterns in Song view (710)16.3.13.1Creating a Pattern in Song View (711)16.3.13.2Selecting a Pattern in Song View (711)16.3.13.3Clearing a Pattern in Song View (711)16.3.13.4Renaming a Pattern in Song View (711)16.3.13.5Coloring a Pattern in Song View (712)16.3.13.6Removing a Pattern in Song View (712)16.3.13.7Duplicating a Pattern in Song View (712)16.3.14Enabling Auto Length (713)16.3.15Looping (714)16.3.15.1Setting the Loop Range in the Software (714)16.3.15.2Activating or Deactivating a Loop Using the Controller (715)16.4Playing with Sections (715)16.4.1Jumping to another Playback Position in Your Project (716)16.5Triggering Sections or Scenes via MIDI (717)16.6The Arrange Grid (719)16.7Quick Grid (720)17Sampling and Sample Mapping (722)17.1Opening the Sample Editor (722)17.2Recording Audio (724)17.2.1Opening the Record Page (724)17.2.2Selecting the Source and the Recording Mode (725)17.2.3Arming, Starting, and Stopping the Recording (729)17.2.5Checking Your Recordings (731)17.2.6Location and Name of Your Recorded Samples (734)17.3Editing a Sample (735)17.3.1Using the Edit Page (735)17.3.2Audio Editing Functions (739)17.4Slicing a Sample (743)17.4.1Opening the Slice Page (743)17.4.2Adjusting the Slicing Settings (744)17.4.3Manually Adjusting Your Slices (746)17.4.4Applying the Slicing (750)17.5Mapping Samples to Zones (754)17.5.1Opening the Zone Page (754)17.5.2Zone Page Overview (755)17.5.3Selecting and Managing Zones in the Zone List (756)17.5.4Selecting and Editing Zones in the Map View (761)17.5.5Editing Zones in the Sample View (765)17.5.6Adjusting the Zone Settings (767)17.5.7Adding Samples to the Sample Map (770)18Appendix: Tips for Playing Live (772)18.1Preparations (772)18.1.1Focus on the Hardware (772)18.1.2Customize the Pads of the Hardware (772)18.1.3Check Your CPU Power Before Playing (772)18.1.4Name and Color Your Groups, Patterns, Sounds and Scenes (773)18.1.5Consider Using a Limiter on Your Master (773)18.1.6Hook Up Your Other Gear and Sync It with MIDI Clock (773)18.1.7Improvise (773)18.2Basic Techniques (773)18.2.1Use Mute and Solo (773)18.2.2Create Variations of Your Drum Patterns in the Step Sequencer (774)18.2.3Use Note Repeat (774)18.2.4Set Up Your Own Multi-effect Groups and Automate Them (774)18.3Special Tricks (774)18.3.1Changing Pattern Length for Variation (774)18.3.2Using Loops to Cycle Through Samples (775)18.3.3Load Long Audio Files and Play with the Start Point (775)19Troubleshooting (776)19.1Knowledge Base (776)19.2Technical Support (776)19.3Registration Support (777)19.4User Forum (777)20Glossary (778)Index (786)1Welcome to MASCHINEThank you for buying MASCHINE!MASCHINE is a groove production studio that implements the familiar working style of classi-cal groove boxes along with the advantages of a computer based system. MASCHINE is ideal for making music live, as well as in the studio. It’s the hands-on aspect of a dedicated instru-ment, the MASCHINE hardware controller, united with the advanced editing features of the MASCHINE software.Creating beats is often not very intuitive with a computer, but using the MASCHINE hardware controller to do it makes it easy and fun. You can tap in freely with the pads or use Note Re-peat to jam along. Alternatively, build your beats using the step sequencer just as in classic drum machines.Patterns can be intuitively combined and rearranged on the fly to form larger ideas. You can try out several different versions of a song without ever having to stop the music.Since you can integrate it into any sequencer that supports VST, AU, or AAX plug-ins, you can reap the benefits in almost any software setup, or use it as a stand-alone application. You can sample your own material, slice loops and rearrange them easily.However, MASCHINE is a lot more than an ordinary groovebox or sampler: it comes with an inspiring 7-gigabyte library, and a sophisticated, yet easy to use tag-based Browser to give you instant access to the sounds you are looking for.What’s more, MASCHINE provides lots of options for manipulating your sounds via internal ef-fects and other sound-shaping possibilities. You can also control external MIDI hardware and 3rd-party software with the MASCHINE hardware controller, while customizing the functions of the pads, knobs and buttons according to your needs utilizing the included Controller Editor application. We hope you enjoy this fantastic instrument as much as we do. Now let’s get go-ing!—The MASCHINE team at Native Instruments.MASCHINE Documentation1.1MASCHINE DocumentationNative Instruments provide many information sources regarding MASCHINE. The main docu-ments should be read in the following sequence:1.MASCHINE MIKRO Quick Start Guide: This animated online guide provides a practical ap-proach to help you learn the basic of MASCHINE MIKRO. The guide is available from theNative Instruments website: https:///maschine-mikro-quick-start/2.MASCHINE Manual (this document): The MASCHINE Manual provides you with a compre-hensive description of all MASCHINE software and hardware features.Additional documentation sources provide you with details on more specific topics:►Online Support Videos: You can find a number of support videos on The Official Native In-struments Support Channel under the following URL: https:///NIsupport-EN. We recommend that you follow along with these instructions while the respective ap-plication is running on your computer.Other Online Resources:If you are experiencing problems related to your Native Instruments product that the supplied documentation does not cover, there are several ways of getting help:▪Knowledge Base▪User Forum▪Technical Support▪Registration SupportYou will find more information on these subjects in the chapter Troubleshooting.Document Conventions1.2Document ConventionsThis section introduces you to the signage and text highlighting used in this manual. This man-ual uses particular formatting to point out special facts and to warn you of potential issues.The icons introducing these notes let you see what kind of information is to be expected:This document uses particular formatting to point out special facts and to warn you of poten-tial issues. The icons introducing the following notes let you see what kind of information canbe expected:Furthermore, the following formatting is used:▪Text appearing in (drop-down) menus (such as Open…, Save as… etc.) in the software andpaths to locations on your hard disk or other storage devices is printed in italics.▪Text appearing elsewhere (labels of buttons, controls, text next to checkboxes etc.) in thesoftware is printed in blue. Whenever you see this formatting applied, you will find thesame text appearing somewhere on the screen.▪Text appearing on the displays of the controller is printed in light grey. Whenever you seethis formatting applied, you will find the same text on a controller display.▪Text appearing on labels of the hardware controller is printed in orange. Whenever you seethis formatting applied, you will find the same text on the controller.▪Important names and concepts are printed in bold.▪References to keys on your computer’s keyboard you’ll find put in square brackets (e.g.,“Press [Shift] + [Enter]”).►Single instructions are introduced by this play button type arrow.→Results of actions are introduced by this smaller arrow.Naming ConventionThroughout the documentation we will refer to MASCHINE controller (or just controller) as the hardware controller and MASCHINE software as the software installed on your computer.The term “effect” will sometimes be abbreviated as “FX” when referring to elements in the MA-SCHINE software and hardware. These terms have the same meaning.Button Combinations and Shortcuts on Your ControllerMost instructions will use the “+” sign to indicate buttons (or buttons and pads) that must be pressed simultaneously, starting with the button indicated first. E.g., an instruction such as:“Press SHIFT + PLAY”means:1.Press and hold SHIFT.2.While holding SHIFT, press PLAY and release it.3.Release SHIFT.1.3New Features in MASCHINE2.8The following new features have been added to MASCHINE: Integration▪Browse on , create your own collections of loops and one-shots and send them directly to the MASCHINE browser.Improvements to the Browser▪Samples are now cataloged in separate Loops and One-shots tabs in the Browser.▪Previews of loops selected in the Browser will be played in sync with the current project.When a loop is selected with Prehear turned on, it will begin playing immediately in-sync with the project if transport is running. If a loop preview starts part-way through the loop, the loop will play once more for its full length to ensure you get to hear the entire loop once in context with your project.▪Filters and product selections will be remembered when switching between content types and Factory/User Libraries in the Browser.▪Browser content synchronization between multiple running instances. When running multi-ple instances of MASCHINE, either as Standalone and/or as a plug-in, updates to the Li-brary will be synced across the instances. For example, if you delete a sample from your User Library in one instance, the sample will no longer be present in the other instances.Similarly, if you save a preset in one instance, that preset will then be available in the oth-er instances, too.▪Edits made to samples in the Factory Libraries will be saved to the Standard User Directo-ry.For more information on these new features, refer to the following chapter ↑4, Browser. Improvements to the MASCHINE MIKRO MK3 Controller▪You can now set sample Start and End points using the controller. For more information refer to ↑17.3.1, Using the Edit Page.Improved Support for A-Series Keyboards▪When Browsing with A-Series keyboards, you can now jump quickly to the results list by holding SHIFT and pushing right on the 4D Encoder.▪When Browsing with A-Series keyboards, you can fast scroll through the Browser results list by holding SHIFT and twisting the 4D Encoder.▪Mute and Solo Sounds and Groups from A-Series keyboards. Sounds are muted in TRACK mode while Groups are muted in IDEAS.。
disentangled_representations_learning_概述及解释说明
disentangled representations learning 概述及解释说明1. 引言1.1 概述引言部分将对本篇长文的主题进行概述。
本篇文章将讨论"disentangled representations learning"(解缠结表示学习)的概念、基本原理、相关方法和应用场景。
通过该主题的介绍,我们将进一步探讨如何学习和理解disentangled representations,并深入分析其局限性和挑战。
1.2 文章结构在本部分中,我们将简要介绍文章的结构,以便读者能够了解整个文章所涵盖的内容。
文章将按照以下顺序展开讨论:首先是引言部分,此后是disentangled representations learning的定义和概念部分,然后是基本原理部分,紧接着是相关方法和应用场景部分。
随后我们会详细解释这一主题并探讨其重要性,在之后的部分中将研究具体案例并进行讨论。
最后,我们将总结回顾研究内容与发现,并提出未来研究方向和建议。
1.3 目的本文旨在提供关于disentangled representations learning的全面概述,并帮助读者深入了解其重要性以及如何学习这种表示形式。
同时,我们还将探索当前领域中的相关方法和应用场景。
通过案例分析与讨论,我们将进一步加深对这一主题的理解,并提出未来研究方向和建议。
通过本篇文章的阅读,读者将对disentangled representations learning有更全面的认识,并能够在实践中探索其潜力和应用价值。
2. disentangled representations learning:2.1 定义和概念:在机器学习中,disentangled representations learning(分解表示学习)是指通过学习编码数据的低维表示,将数据的不同因素进行分离和独立地表示出来。
这些不同因素可以是数据中的可解释属性,例如物体的形状、颜色、姿势等。
EXECUTIVE SUMMARY..........................................................................
DG XIII – E/4 Second Metadata Workshop, 26 June 1998Table of contentsEXECUTIVE SUMMARY (2)1. INTRODUCTION (4)2. SPECIFIC OBJECTIVES OF THE SECOND WORKSHOP (5)3. PARTICIPATION (6)4. STRUCTURE OF THE WORKSHOP (6)5. MORNING SESSION: TECHNICAL ISSUES (6)6. AFTERNOON SESSION: STRATEGIC ISSUES (8)7. CONCLUSIONS (8)8. LIST OF ACRONYMS AND REFERENCES (9)APPENDIX 1. PROGRAMME (13)APPENDIX 2. PRESENTATIONS (14)APPENDIX 3. LIST OF PARTICIPANTS (44)DG XIII – E/4 Second Metadata Workshop, 26 June 1998E XECUTIVE SUMMARYOn 26 June 1998, the second workshop of a series on the subject of metadata organised by the European Commission DGXIII/E4 took place in Luxembourg.32 participants attended the workshop. Many organisations in Europe involved in the implementation of metadata for electronic resources were represented, as were several European Commission services.The workshop contained one session on technical and implementation issues and one session on strategic and standardisation issues reflecting the specific objectives of the workshop.The first specific objective was to give a number of projects the opportunity to present results in the area of metadata from various perspectives. In the morning session, the issues that were covered in the presentations were:metadata creation toolsdefinition of local extensions to Dublin Core for specific application areasthe use of controlled vocabularymultilingual metadataThe presenters of these subjects conducted a panel discussion on these issues and others raised by the audience.The second specific objective was to discuss metadata in a broader context with project participants and experts involved in definition and standardisation of metadata elements. In the afternoon session, presentations covered:metadata activities in contextfuture developments in Dublin CoreIn a plenary discussion, the participants discussed strategic issues concerning the definition and standardisation of metadata element sets.The major conclusions of the workshop can be summarised as follows:the strategic discussions highlighted that establishing widely accepted agreements is essential for the success of metadata;it is necessary that consensus on agreements for metadata is achieved across domains (e.g. libraries, museums, education, business, etc.);agreements and standards need to be maintained over time in a clear and open way with participation of all interested parties (especially user communities) to guarantee stability over time;formal and informal bodies involved in the standardisation of metadata sets (Dublin Core community, CEN, ISO) need to find effective ways of co-operation to ensure maximum acceptance of agreements and to avoid overlapping activities; further metadata workshops organised by the European Commission are considered to be valuable platforms for co-ordination and exchange of experience.DG XIII – E/4 Second Metadata Workshop, 26 June 1998 For further information, including PowerPoint presentations, see the Workshop’s Web site at: http://www2.echo.lu/libraries/en/metadata2.htmlFor more information on the Libraries sector of the Telematics Application Programme, see: http://www2.echo.lu/libraries/en/libraries.htmlDG XIII – E/4 Second Metadata Workshop, 26 June 19981.I NTRODUCTIONThis document is the report of the second Workshop on Metadata, held in Luxembourg on 26 June 1998.DGXIII/E4, the Electronic publishing and libraries unit, is organising a series of workshops on the issue of metadata. Intended participation is from libraries sector projects within the Telematics Applications Programme and from projects in other TAP sectors and other programmes, both EU and national. The primary objectives of the workshops are:To establish a platform for co-ordination between projects concerned with metadata in a broad sense.Under the current Framework Programme for RTD there are a number of projects concerned with metadata as such or with descriptions and descriptors of electronic documents. These projects will come across the same issues and problems and will benefit from concertation, as this will allow them to compare their concepts and approaches with others.To make a wider European community aware of developments in the standards arena and stimulate feedback from the projects to the standards.Developments in metadata in the Internet, specifically in Dublin Core, are moving fast. Some European organisations invest in participating in the Dublin Core workshops but not all have easy access to this activity. By inviting Dublin Core workshop participants to present the developments in the proposed workshops, a wider European audience can be informed on this subject. At the same time, models and experiences from the projects can be fed back into the standards arena.The first workshop which took place on 1 and 2 December 1997, contained a tutorial, project presentations, breakout sessions discussing various aspects of metadata creation and usage.The workshop, although recognising the usefulness of Dublin Core as a starting point in metadata descriptive standards, brought forward a number of concerns regarding the current state and the further development of Dublin Core:•There is currently no formal responsibility for the maintenance of Dublin Core: development takes place in an informal group of invited experts which meets once or twice per year in what is known as the Dublin Core Workshop Series.•The current technical state of Dublin Core is unstable: during the meetings of the Dublin Core group, changes are being made to the format and there is no convergence to a stable version.•The use of the current Dublin Core metadata format is not supported by the existence of guidelines: some of the philosophy and terminology of Dublin Core isDG XIII – E/4 Second Metadata Workshop, 26 June 1998 not obvious to the uninitiated user which could lead to different interpretations adversely affecting interoperability.It was also identified that the current take-up of Dublin Core is slow and that there is a lack of critical mass. This seems to be a classical chicken-and-egg situation: authors and publishers do not invest in providing Dublin Core metadata if the Internet indexing services (the ‘harvesters’) do not utilise it, and harvesters do not collect Dublin Core and use it for selective indexing if there is not enough data available. If this situation cannot be changed, Dublin Core might not turn into reality.The workshop identified a number of actions that could be taken to promote and encourage the use of Dublin Core, including the following:1.There needs to be clarity about version control and maintenance of Dublin Core.The Dublin Core group, addressed through the mailing list META2, will be asked to give a clear statement about this.2.Further pilot projects should be started to further develop experience, test out theissues and help realise a critical mass of Dublin Core metadata. The European Commission and national bodies like National Libraries might have a role to play by encouraging the provision of Dublin Core metadata in documents, e.g. in project deliverables and electronic documents in the national deposit.3.The interest and requirements existing in Europe warrant the establishment of aEuropean group of implementers discussing the practical issues of implementing metadata in general and Dublin Core in particular. The Luxembourg workshops, such as this December 1997 one and a second one scheduled for mid-1998, could develop into a regular series.4.The liaison with other groups concerned with metadata, such as the CEN/ISSSworking group on Metadata for Multimedia Information (MMI), should be established to ensure applicability and interoperability of metadata as widely as possible and cover the needs of a wide range of communities.The report of the first workshop is available on the Web at http://www2.echo.lu/libraries/en/metadata.html.2.S PECIFIC OBJECTIVES OF THE SECOND WORKSHOPThe specific objectives of this second workshop, held in Luxembourg on 26 June 1998, were as follows.The first specific objective of the second workshop was to give a number of projects the opportunity to present results in the area of metadata from various perspectives. In the morning session, the issues that were covered in the presentations were:•metadata creation tools•definition of local extensions to Dublin Core for specific application areasDG XIII – E/4 Second Metadata Workshop, 26 June 1998•the use of controlled vocabulary•multilingual metadataThe presenters of these subjects conducted a panel discussion on these issues and others raised by the audience.The second specific objective was to discuss metadata in a broader context with project participants and experts involved in definition and standardisation of metadata elements. In the afternoon session, presentations covered:•metadata activities in context•future developments in Dublin CoreIn a plenary discussion, the participants discussed strategic issues concerning the definition and standardisation of metadata element sets.The programme of the workshop is attached in Appendix 1. Printouts of the presentation, with short biographical notes of the presenters are attached in appendix 2.3.P ARTICIPATION32 persons representing projects from the Telematics programme, national projects and various Commission services attended the workshop.The list of participants is attached as appendix 3.4.S TRUCTURE OF THE WORKSHOPThis second workshop was organised on a single day and contained two sessions: one session on technical and implementation issues and one session on strategic and standardisation issues reflecting the specific objectives of the workshop.5.M ORNING SESSION: TECHNICAL ISSUESIn the first presentation, Anna B RÜMMER of Lund University in Sweden demonstrated metadata creation software constructed for the Nordic Metadata Project. This creation software on the Web offers an easy way to attach descriptive metadata to resources and has helped to build the SweMeta Dublin Core Database for Sweden, which contains 110.000 records. The system also allows users to assign a unique URN to their resource. Currently there is no statistical information on the use of the various elements, which could provide interesting information. There is no validation of the terms entered. This could be considered in the future.Erik D UVAL of Leuven University in Belgium presented the Ariadne project aiming at sharing and re-use of pedagogical resources to make the best use of scarce high-quality material for educational purposes. The project provides authoring tools that produce base metadata, which helps in creating a corpus of consistent descriptions. The project constitutes a closed environment for the participants, allowing a strongDG XIII – E/4 Second Metadata Workshop, 26 June 1998 exercise of editorial control and therefore of quality. Furthermore, users have the possibility to add annotations to the descriptions. A “Replicator Scheme” controls the distribution and access to the resources available in the Central Pool and the Local Pools in various places around Europe. The project has not reached the stage where a critical mass of material is available and is looking for further participants. The Ariadne project is co-operating with the IMS (Instructional Management Systems) project to co-ordinate the metadata definitions and agree a common metadata set. This set is not technically speaking Dublin Core as it has a richer structure and contains elements specific to educational use of the resources, but the mapping of Dublin Core into the Ariadne metadata set is considered to be possible. Also the project participates in the work in the IEEE Learning Technology Standards Committee which develops technical Standards, Recommended Practices, and Guides for software components, tools, technologies and design methods that facilitate the development, deployment, maintenance and interoperation of computer implementations of education and training components and systems.Paul M ILLER of the Archaeology Data Service in the UK introduced the advantages of using controlled vocabularies and thesauri. For users, these tools would help gaining more effective access to resources and reduce the number of false hits. Creators would be able to make more consistent descriptions and achieve a better integration of new and existing resources. It was noted that a major factor for the use of controlled vocabulary is the ease with which it can be used in both the process of creation of metadata and in the process of searching.Matthew S TIFF of the Museum Documentation Association in the UK spoke about multilingual aspects of information retrieval. He discussed the creation of parallel metadata in multiple languages versus the use of translation tools and multilingual thesauri. He identified the need for new tools but also noted these tools will be expensive and will take a lot of time to develop. Various options can be explored to create multilingual thesauri, including linking existing monolingual ones and translating one thesaurus in multiple languages. He touched upon the fundamental issue of incomplete equivalence of terms in different languages. Project Term-IT is investigating mechanisms to facilitate the production and dissemination of multilingual thesauri in the cultural sector through establishing dialogue with users and analysis of the economics of thesaurus production.As a conclusion of the technical session it was identified that:quality is a crucial issue both in the creation of metadata and in its maintenance there should be a clear focus on the user when designing tools to help create and use metadata; user communities should be actively involved to make sure their requirements are taken into accountspecial attention must be given to the change in concepts and terminologies over time.DG XIII – E/4 Second Metadata Workshop, 26 June 19986.A FTERNOON SESSION: STRATEGIC ISSUESThe first presentation in the afternoon session was delivered by Ian C AMPBELL-G RANT of ICL, chairman of the CEN/ISSS Workshop on Metadata for Multimedia Information. He introduced the work of this group as part of a new approach to standardisation especially intended to achieve rapid agreements on standards and a wide acceptance n the market. The specific objectives of the group include to gather information on metadata activities, to identify gaps and overlaps in current work and to disseminate this information to European industry, projects and programmes. The group is currently working to establish a framework that will help to find existing activities in the area of metadata definition.In the final presentation, Stuart W EIBEL of OCLC in the US presented the current state and the future prospects for the Dublin Core metadata initiative. He outlined the objectives of the initiative, noting that it is a simple set for descriptive elements that are relevant for resource discovery. It could be used as a cross-domain “switching”language, working together with other sets in the framework provided by RDF. He presented the current thinking on the issue of more formally standardising Dublin Core, working through any body that would be appropriate for that purpose (IETF, ISO, NISO, CEN/ISSS).In the discussion that took place after the presentations, several aspects were identified:the involvement of user communities and business areas is crucial to make sure their requirements are being taken into accountagain the issue of critical mass was raised: Dublin Core and other structured metadata forms an ‘island in the sea of marked data’. There needs to be more metadata before it can produce benefits to the users.the CEN/ISSS workshop could form an appropriate platform for rapid standardisation of Dublin Core in the form of a CEN Workshop Agreement; this needs to be further explored.the issue of maintenance of metadata standards is very important. The mechanism and structure should allow open and international participation to ensure the widest possible and agreement7.C ONCLUSIONSThe major conclusions of the workshop can be summarised as follows:the strategic discussions highlighted that establishing widely accepted agreements is essential for the success of metadata;it is necessary that consensus on agreements for metadata is achieved across domains (e.g. libraries, museums, education, business, etc.);agreements and standards need to be maintained over time in a clear and open way with participation of all interested parties (especially user communities) to guarantee stability over time;DG XIII – E/4 Second Metadata Workshop, 26 June 1998formal and informal bodies involved in the standardisation of metadata sets (Dublin Core community, CEN, ISO) need to find effective ways of co-operation to ensure maximum acceptance of agreements and to avoid overlapping activities; further metadata workshops organised by the European Commission are considered to be valuable platforms for co-ordination and exchange of experience.8.L IST OF ACRONYMS AND REFERENCESACM the Association for Computing Machinery, an internationalscientific and educational organization dedicated to advancingthe arts, sciences, and applications of information technology.ADS Archaeology Data Service./ahds/AHDS Arts and Humanities Data Service./ALA American Library Association./ALCTS /ccda/Ariadne RTD project under the "Telematics for Education andTraining" sector of the 4th Framework Programme of theEuropean Union. The project focuses on the development oftools and methodologies for producing, managing and reusingcomputer-based pedagogical elements and telematicssupported training curricula.http://ariadne.unil.ch/CEN European Committee for Standardisation.http://www.cenorm.be/CEN/ISSS European Committee for Standardisation - InformationSociety Standardisation System.http://www.cenorm.be/isss/default.htmCIDOC The International Committee for Documentation of theInternational Council of Museums (ICOM), the internationalfocus for the documentation interests of museums and similarorganisations./CIMI Consortium for the Computer Interchange of MuseumInformation./CPA Commission on Preservation and Access./programs/cpa/cpa.htmlDC Acronym for Dublin CoreDesire Telematics for Research project addressing the needs ofresearch users in the context of a European informationnetwork based on the World Wide Web (WWW).http://www.surfnet.nl/surfnet/projects/desire/DG XIII Directorate General XIII of the European Commission.http://europa.eu.int/en/comm/dg13/13home.htm. See also:http://www2.echo.lu/home.htmlDublin Core Dublin Core is a 15-element metadata element set intended tofacilitate discovery of electronic resources./metadata/dublin_core/EC European Commission.http://europa.eu.int/ERCIM The European Research Consortium for Informatics andMathematics - aims to foster collaborative work within theEuropean research community and to increase co-operationwith European industry.EULER Telematics for Libraries project aiming to provide user-oriented, integrated network based access to mathematicalpublications.http://www.emis.de/projects/EULER/ICL /ICOM The International Council of Museums, a Non-GovernmentalOrganisation (NGO) maintaining formal relations with UNESCO,devoted to the promotion and development of museums and themuseum profession at an international level./IEEE The Institute Of Electrical And Electronics Engineers, Inc., atechnical professional society with the objective to advance thetheory and practice of electrical, electronics and computerengineering and computer science.IETF The Internet Engineering Task Force, a large openinternational community of network designers, operators,vendors, and researchers concerned with the evolution of theInternet architecture and the smooth operation of theInternet.IMS Instructional Management Systems Project, an investmentmembership of academic, commercial and governmentorganisations developing a set of specifications and prototypesoftware for facilitating the growth and viability of distributedlearning on the Internet./ISO International Organisation for Standardisation.http://www.iso.ch/MDA Museum Documentation Association, body in the UK formuseum information management, supporting museums in allaspects of heritage information management including thecrucial area of Information and Communications Technology(ICT)./MIT Massachusetts Institute of Technology./MMI CEN/ISSS Workshop on Metadata for MultimediaInformation.http://www.cenorm.be/isss/Workshop/MMI/Default.htm NGDF National Geospatial Data Framework (UK)./NISO U.S. National Information Standards Organization:Nordic Metadata Scandinavian co-operation project creating basic elements of a metadata production and utilisation system:http://renki.helsinki.fi/meta/NSF National Science Foundation (US), an independent U.S.government agency responsible for promoting science andengineering through programs that invest in research andeducation projects in science and engineering./OCLC Online Computer Library Center, Inc., a non-profit, membership, library computer service and researchorganisation in Dublin, Ohio, USARDF Resource Description Framework, a specification currentlyunder development, designed to provide an infrastructure tosupport metadata across many web-based activities:/RDF/RLG Research Libraries Group.RTD Research & Technological DevelopmentSweMeta Dublin Core Database for Sweden.TAP The Telematics Applications Programme, one of theEuropean Commission's research programmes, aimed atstimulating RTD on applications of information and/orcommunications technologies in areas of general interest:http://www2.echo.lu/telematics/telehome2.htmlTEISS Telematics - European Industry Standards SupportTelematics for Libraries The Libraries sector of the Telematics Applications Programme:http://www2.echo.lu/libraries/en/libraries.htmlTerm-IT a preparatory-phase project under the Language Engineeringsector of the Telematics Applications Programme, aimed atleading to the development of methods and systems toimprove the production, dissemination and exploitation ofmultilingual terminology resources/term-it/URN Universal Resource Name:/html.charters/urn-charter.htmlA PPENDIX 1.P ROGRAMMEMETADATA WORKSHOP 26 JUNE 1998EUROFORUM Building352*5$00(09:00-09:20Welcome, registrationPatricia Manson, European Commission DG XIII/E-409:20-09:30IntroductionMakx D EKKERS, The Libraries Support Team0RUQLQJ VHVVLRQ 7HFKQLFDO LVVXHV09:30-10:00Metadata creation toolsAnna B RÜMMER, Univ. of Lund10:00-10:30Extension of Dublin Core for Educational materialErik D UVAL, Univ. of Leuven10:30-11:00Coffee break11:00-11:30Controlled vocabularyPaul M ILLER, Archaeology Data Service11:30-12:00Multilingual issuesMatthew S TIFF, Museum Documentation Association12:00-12:30Panel discussion12:30-13:30Lunch break$IWHUQRRQ VHVVLRQ 6WUDWHJLF LVVXHV13:30-14:00Metadata activities in contextIan C AMPBELL-G RANT, ICL (chair CEN/ISSS open Workshop on Metadatafor Multimedia Information)14:00-14:30Future developments in Dublin CoreStuart W EIBEL, OCLC14:30-15:00Tea break15:00-15:45Discussion15:45-16:00Wrap-up and closingAriane I LJON, Head of Unit, European Commission DG XIII/E-4A PPENDIX 2.P RESENTATIONSMetadata creation toolsAnna B RÜMMER, Univ. of LundBiographical note:Anna Brümmer is an electronic information services librarian at Lund University Library development department NetLab since the first of February 1996. She began after having finished her studies in library and information science in January 1996. Between 1996-1998 she has, among other things, been involved in the EU-project DESIRE, the Development of a European Service for Information on Research and Education. She is also involved in project EULER, European Libraries and Electronic Resources in Mathematical Sciences, integrating bibliographic databases, library online public access catalogues, electronic journals from academic publishers, online archives of pre-prints and grey literature, and indexes of mathematical Internet resources. For the time being she is the pro tem. head of NetLab.Abstract:Metadata tags are, in an end user perspective, complicated to produce. The talk presented one solution aiming to facilitate the metadata creation process (for end users): a metadata creation tool. The presentation described the issues involved in, and related to, the Dublin Core metadata creation and provided explanations on construction of DC Metadata records. The starting point was the Nordic Metadata project, which has developed basic elements of a metadata production and utilisation system, based on the Dublin Core Metadata Element Set. The result is the Nordic Metadata DC production template/creator, which was demonstrated at the workshop.The presentation included a short introduction to the web resource identifier URN (Uniform Resource Names) and an URN generator.The presentation is available on the Web at:http://www.lub.lu.se/EULER/presentations/creator.html.(one page print-out of Web page)Extension of Dublin Core for EducationalmaterialErik D UVAL, Univ. of LeuvenBiographical note:Erik Duval is a post-doctoral fellow of the National Fund for Scientific Research - Flanders and a part-time professor at the Katholieke Universiteit Leuven, Belgium. His main research areas are distributed hypermedia systems, data modelling, the application of information and communication technology in education, metadata and computer science education. He co-ordinates the development of the Knowledge Pool System for the ARIADNE project and is a member of the IEEE Computer Society, the ACM and the program committee of the WebNet Conference Series.Abstract:This presentation covered the current status of the author’s work on educational metadata. Since about two years, the ARIADNE project has developed both a structure and an infrastructure for educational metadata <http://ariadne.unil.ch>. The structure extends Dublin Core to a considerable extent and includes circa 70 data elements, grouped in 9 categories and defined over abstract data types. The infrastructure includes a tool for describing pedagogical documents and a distributed database of these documents and their descriptions, called the Knowledge Pool System. The ARIADNE results have been input in standardisation work in the Learning Object Metadata Working Group of the IEEE Learning Technology Standards Committee </p1484>.(6 pages printout of PowerPoint presentation, 6 slides to a page)(6 pages printout of PowerPoint presentation, 6 slides to a page)(6 pages printout of PowerPoint presentation, 6 slides to a page)(6 pages printout of PowerPoint presentation, 6 slides to a page)(6 pages printout of PowerPoint presentation, 6 slides to a page)(6 pages printout of PowerPoint presentation, 6 slides to a page)Controlled vocabularyPaul M ILLER, ADSBiographical note:Dr. Paul Miller is Collections Manager for the Archaeology Data Service (ADS)</>, one of five service providers comprising the Arts & Humanities Data Service (AHDS) </> in the United Kingdom.The ADS seeks to both preserve and encourage the reuse of digital archaeological data, whether by physically taking and mounting data or by working with existing organisations and technologies to facilitate distributed access mechanisms.Paul is responsible for the development of this distributed catalogue, and is closely involved with a number of evolving metadata initiatives around the world. These include the Dublin Core </metadata/dublin_core>, the UK's National Geospatial Data Framework (NGDF) </>, and the work of the Consortium for the Computer Interchange of Museum Information (CIMI) </>.Abstract:This presentation went into the problems of terminology and vocabulary, which become increasingly apparent as opportunities for cross-searching between different data sources grow. Efforts to develop controlled lists of terms have been relatively isolated in individual disciplines or geographic areas.With the current explosion in projects to provide remote access to these resources, and initiatives to link diverse resources together for the first time, new problems have arisen, namely;•divorcing of resources from the local expertise developed to support and maintain them •integrating diverse terminologies•contextualising the terminologies•providing access to the terminologiesIn conclusion, controlled terminology remains an important weapon in the information scientist's arsenal, but the new distributed world in which these terminologies are increasingly being used perhaps requires a new approach to some old problems, an approach which was explored in this paper.。
DRAFT NIST Special Publication 800-38B DRAFT Recommendation for Block Cipher Modes of Opera
NIST Special Publication 800-38BDRAFTRecommendation for Block Cipher Modes of Operation: The RMAC Authentication ModeMethods and TechniquesMorris DworkinNovember 4, 2002AbstractThis Recommendation defines an authentication mode of operation, called RMAC, for a symmetric key block cipher algorithm. RMAC can provide cryptographic protection of sensitive, but unclassified, computer data. In particular, RMAC can provide assurance of the authenticity and, therefore, of the integrity of the data.KEY WORDS: Authentication; block cipher; cryptography; encryption; Federal Information Processing Standard; information security; integrity; mode of operation.Table of Contents1PURPOSE (5)2AUTHORITY (5)3INTRODUCTION (5)4DEFINITIONS, ABBREVIATIONS, AND SYMBOLS (6)4.1D EFINITIONS AND A BBREVIATIONS (6)4.2S YMBOLS (7)4.2.1Variables (7)4.2.2Operations and Functions (8)5PRELIMINARIES (9)5.1T HE U NDERLYING B LOCK C IPHER A LGORITHM (9)5.2E LEMENTS OF RMAC (9)5.3E XAMPLES OF O PERATIONS AND F UNCTIONS (10)6RMAC SPECIFICATION (10)6.1M ESSAGE F ORMATTING (10)6.2P ARAMETER S ETS (10)6.3MAC G ENERATION (11)6.4T AG G ENERATION AND V ERIFICATION (12)APPENDIX A: SECURITY CONSIDERATIONS (13)A.1E XHAUSTIVE K EY S EARCH (13)A.2G ENERAL F ORGERY (13)A.3E XTENSION F ORGERY B ASED ON A C OLLISION (13)A.4S UMMARY OF S ECURITY P ROPERTIES OF P ARAMETER S ETS (14)APPENDIX B: THE GENERATION OF RMAC PARAMETERS (15)B.1 D ERIVATION OF RMAC KEYS FROM A M ASTER K EY (15)B.2 S ALT G ENERATION (15)APPENDIX C: EXAMPLE VECTORS FOR THE MAC GENERATION FUNCTION (16)C.1RMAC-AES128 E XAMPLE V ECTORS (16)C.1.1RMAC-AES128-I (16)C.1.2RMAC-AES128-II (17)C.1.3RMAC-AES128-III (18)C.1.4RMAC-AES128-IV (19)C.1.5RMAC-AES128-V (20)C.2RMAC-AES192 E XAMPLE V ECTORS (21)C.2.1RMAC-AES192-I (21)C.2.2RMAC-AES192-II (22)C.2.3RMAC-AES192-III (23)C.2.4RMAC-AES192-IV (24)C.2.5RMAC-AES192-V (26)C.3RMAC-AES256 E XAMPLE V ECTORS (27)C.3.1RMAC-AES256-I (27)C.3.2RMAC-AES256-II (28)C.3.3RMAC-AES256-III (29)C.3.4RMAC-AES256-IV (30)C.3.5RMAC-AES256-V (32)C.4RMAC-TDES112 E XAMPLE V ECTORS (33)C.5RMAC-TDES168 E XAMPLE V ECTORS (33)APPENDIX D: REFERENCES (34)Table of FiguresFigure 1: The RMAC MAC Generation Function (12)1 PurposeThis publication is the second part in a series of Recommendations regarding modes of operation of symmetric key block cipher algorithms.2 AuthorityThis document has been developed by the National Institute of Standards and Technology (NIST) in furtherance of its statutory responsibilities under the Computer Security Act of 1987 (Public Law 100-235) and the Information Technology Management Reform Act of 1996, specifically 15 U.S.C. 278 g-3(a)(5). This is not a guideline within the meaning of 15 U.S.C. 278 g-3 (a)(5).This Recommendation is neither a standard nor a guideline, and as such, is neither mandatory nor binding on federal agencies. Federal agencies and nongovernment organizations may use this Recommendation on a voluntary basis. It is not subject to copyright.Nothing in this Recommendation should be taken to contradict standards and guidelines that have been made mandatory and binding upon federal agencies by the Secretary of Commerce under statutory authority. Nor should this Recommendation be interpreted as altering or superseding the existing authorities of the Secretary of Commerce, the Director of the Office of Management and Budget, or any other federal official.Conformance testing for implementations of the modes of operation that are specified in this Recommendation will be conducted within the framework of the Cryptographic Module Validation Program (CMVP), a joint effort of NIST and the Communications Security Establishment of the Government of Canada. An implementation of a mode of operation must adhere to the requirements in this Recommendation in order to be validated under the CMVP. The requirements of this Recommendation are indicated by the word “shall.”3 IntroductionThis Recommendation specifies an algorithm, RMAC [1], that can provide assurance of data origin authentication and, hence, assurance of data integrity. In particular, RMAC is an algorithm for generating a message authentication code (MAC) from the data to be authenticated and from an associated value called the salt, using a block cipher and two secret keys that the parties to the authentication of the data establish beforehand. One party generates the MAC and provides the MAC and the associated salt as the authentication tag; subsequently, any party with access to the secret keys may verify whether the received MAC was generated from the received data and the received salt. Successful verification of the MAC provides assurance of the authenticity of the data, i.e., that it originated from a source with access to the secret keys. Consequently, successful verification of the MAC also provides assurance of the integrity of the data, i.e., that it was not altered after the generation of the MAC.A MAC is sometimes called a cryptographic checksum, because it is generated from a keyed cryptographic algorithm in order to provide stronger assurance of data integrity than an ordinary checksum. The verification of an ordinary checksum or an error detecting code is designed to reveal only accidental modifications of the data, while the verification of a MAC is designed to reveal intentional, unauthorized modifications of the data, as well as accidental modifications. Because RMAC is constructed from a block cipher algorithm, RMAC can be considered a mode of operation of the block cipher algorithm. The block cipher algorithm shall be approved, i.e., specified or adopted in a Federal Information Processing Standard (FIPS) or a NIST Recommendation; for example, FIPS Pub. 197 [2] specifies the AES algorithm, and FIPS Pub. 46-3 [3] adopts the Triple DES algorithm.FIPS Pub. 198 [4] specifies a different MAC algorithm, called HMAC, that is also appropriate for the protection of sensitive data. Because HMAC is constructed from a hash function rather than a block cipher algorithm, RMAC may be preferable for application environments in which an approved block cipher is more convenient to implement than an approved hash function.4 Definitions, Abbreviations, and Symbols4.1 Definitions and AbbreviationsApproved FIPS approved or NIST recommended: an algorithm or technique thatis either 1) specified in a FIPS or NIST Recommendation, or 2) adoptedin a FIPS or NIST Recommendation.Authenticity The property that data indeed originated from its purported source. Authentication Mode A block cipher mode of operation that can provide assurance of theauthenticity and, therefore, the integrity of data.Authentication Tag (Tag) A pair of bit strings associated to data to provide assurance of its authenticity: the salt and the message authentication code that is derived from the data and the salt.Bit A binary digit: 0 or 1.Bit String An ordered sequence of 0s and 1s.Block A bit string whose bit length is the block size of the block cipheralgorithm.Block Cipher See forward cipher function.Block Cipher Algorithm A family of functions and their inverses that is parameterized by cryptographic keys; the functions map bit strings of a fixed length to bit strings of the same length.Block Size The number of bits in an input (or output) block of the block cipher. Cryptographic Key A parameter used in the block cipher algorithm that determines theforward cipher function.Data Integrity The property that data has not been altered by an unauthorized entity. Exclusive-OR The bitwise addition, modulo 2, of two bit strings of equal length. FIPS FederalInformationProcessing Standard.Forward Cipher Function One of the two functions of the block cipher algorithm that is determined by the choice of a cryptographic key.Initialization Vector(IV)A data block that some modes of operation require as an initial input.Message Authentication Code (MAC) A cryptographic checksum on data that is designed to reveal both accidental errors and intentional modifications of the data.Mode of Operation (Mode) An algorithm for the cryptographic transformation of data that features a symmetric key block cipher algorithm.Most Significant Bit(s) The left-most bit(s) of a bit string.Nonce A value that is used only once within a specified context.RMAC The name of the authentication mode that is specified in thisRecommendation.Salt A parameter of an algorithm whose role is to randomize the value ofanother parameter.4.2 Symbols4.2.1 Variablesb The block size, in bits.k The key length for the block cipher.m The bit length of the RMAC MAC.n The number of data blocks in the padded message.r The bit length of the salt.CNST j The j th fixed, i.e., constant, block.K A block cipher key.K1 The first RMAC key.K2 The second RMAC key.K3 A key that is derived from the second RMAC key and the salt.M The message.Mlen The bit length of the message.M j The j th block in the partition of the padded message.j th output block.O j ThePAD The padding that is appended to the message.salt.R The4.2.2 Operations and Functions0s The bit string consisting of s ‘0’ bits.X || Y The concatenation of two bit strings X and Y.X ⊕Y The bitwise exclusive-OR of two bit strings X and Y of the same length.CIPH K(X) The forward cipher function of the block cipher algorithm under the key K applied to the data block X.MSB s(X) The bit string consisting of the s most significant bits of the bit string X.RMAC(R,M) The RMAC message authentication code for message M with salt R.5 Preliminaries5.1 The Underlying Block Cipher AlgorithmThe RMAC algorithm specified in this Recommendation depends on the choice of an underlying symmetric key block cipher algorithm; the RMAC algorithm is thus a mode of operation (mode, for short) of the symmetric key block cipher. The underlying block cipher algorithm must be approved, and two secret, random keys for the block cipher algorithm shall be established. The keys regulate the functioning of the block cipher algorithm and, thus, by extension, the functioning of the mode. The specifications of the block cipher algorithm and the mode are public, so the security of the mode depends, at a minimum, on the secrecy of the keys.For any given key, the underlying block cipher algorithm of the mode consists of two processes that are inverses of each other. As part of the choice of the block cipher algorithm, one of the two processes of the block cipher algorithm is designated as the forward cipher function. The inverse of this process is called the inverse cipher function. Because the RMAC mode does not require the inverse cipher function, the forward cipher function in this Part of the Recommendation is simply called the block cipher.5.2 Elements of RMACThe block cipher keys that are required for the RMAC mode are bit strings, denoted K1and K2, whose bit length, denoted k, depends on the choice of the block cipher algorithm. The keys shall be random or pseudorandom, distinct from keys that are used for other purposes, and secret. The two keys shall each be established by an approved key establishment method, or the keys shall be derived from a single key K, which is established by an approved key establishment method.A method for deriving K1and K2 from a single, master key K is given in Appendix B.1.The block cipher is a function on bit strings of a fixed bit length. The fixed bit length of the bit strings is called the block size and is denoted b; any bit string whose bit length is b is called a (data) block. Under a key K, the block cipher function is denoted CIPH K.For the AES algorithm, b=128 and k=128, 192, or 256; for Triple DES, b=64 and k=112 or 168. The data to be authenticated is one input to the RMAC MAC generation function; the data in this context is called the message, denoted M.Another input to the MAC generation function is a parameter associated with the message called the salt, denoted R. The role of the salt in the MAC generation function is to randomize (i.e., “flavor”) the second key, K2. The bit length of the salt, denoted r, is determined by the choice of a parameter set that is specified in Section 6.2. The use of the salt is optional in the sense that a parameter set may be chosen in which r=0. When r1234567487569 4 9 4 7 7 5 45674 54 6 4 ensure that the expected probability of repeating the salt for different messages is negligible. The generation of the salt is discussed further in Appendix B.2.The RMAC MAC generation function is denoted RMAC, so that the output of the function, the MAC, is denoted RMAC(R,M). The bit length of the MAC, denoted m, is determined by thechoice of a parameter set that is specified in Section 6.2. The authentication tag to the message is the ordered pair (R, RMAC(R,M)); thus, the tag consists of one part, the salt, that may be independent of the message and a second part, the MAC, that depends on both the salt and the message. The total number of bits in the tag is r+m.5.3 Examples of Operations and FunctionsFor a nonnegative integer s, the bit string consisting of s ‘0’ bits is denoted 0s.The concatenation operation on bit strings is denoted ||; for example, 001 || 10111 = 00110111.Given bit strings of equal length, the exclusive-OR operation, denoted ⊕, specifies the addition, modulo 2, of the bits in each bit position, i.e., without carries. Thus, 10011 ⊕ 10101= 00110, for example.The function MSB s returns the s most significant bits of the argument. Thus, for example, MSB4(111011010) = 1110.6 RMAC Specification6.1 Message FormattingThe first steps of the MAC generation function are to append padding to the message and to partition the resulting string into complete blocks. The padding, denoted PAD, is a single ‘1’ bit followed by the minimum number of ‘0’ bits such that the total number of bits in the padded message is a multiple of the block size. The padded message is then partitioned into a sequence of n complete blocks, denoted M1, M2, …, M n. Thus,M || PAD = M1 || M2 ||…|| M n .If the bit length of M is a multiple of the block size, then PAD = 1 || 0b-1, i.e., a complete block.6.2 Parameter SetsA parameter set is a pair of values for the bit lengths r and m of the two parts of the authentication tag, the salt and the MAC. The parameter sets for RMAC depend on the block size of the underlying block cipher algorithm. A parameter set shall be chosen from Table 1 below; five parameter sets are given for the 128 bit block size, and two for the 64 bit block size. Although parameter set I offers the shortest authentication tags, it is not recommended for general use. The decision to use parameter set I requires a risk-benefit analysis of at least three factors: 1) the relevant attack models, 2) the application environment, and 3) the value and longevity of the data to be protected. In particular, parameter set I shall only be used if the controlling protocol or application environment sufficiently restricts the number of times that verification of an authentication tag can fail under any given pair of RMAC keys. For example,the short duration of a session, or, more generally, the low bandwidth of the communication channel may preclude many repeated trials.Parameter sets II, III, IV, and V are appropriate for general use.Table 1: Parameter Setsb=128 b=64Parameter Set r m r m32I 03264 6464II 0n/a80III 16n/a96IV 64V 128 128 n/aSome of the security considerations that underlie the selection of a parameter set are summarized in Appendix A. The expected work factors for important aspects of the attacks that are discussed in the appendix are summarized for each parameter set in Table 2 in Section A.4.6.3 MAC GenerationThe following is a specification of the RMAC MAC generation function:Input:block cipher CIPH;block cipher keys K1 and K2 of bit length k;parameter set (r, m);message M;salt R of bit length r.Output:message authentication code RMAC(R, M) of bit length m.Steps:toM the padding string PAD, as described in Section 6.1.1. Append2.Partition M || PAD into n blocks M1, M2, …, M n, as described in Section 6.1.3.O1 =CIPH K1(M1).j = 2 to n, do O j= CIPH K1(M j⊕O j-1).4. Forr=0, then K3=K2; else K3 = K2 ⊕ (R || 0k-r).5. If6.Return RMAC(R, M) = MSB m(CIPH K3(O n)).The calculations in Steps 3 and 4 are equivalent to encrypting the padded message using the cipher block chaining (CBC) mode [5] of the block cipher, under the first RMAC key, with the zero block as the initialization vector. However, unlike CBC encryption, in which every output block from Steps 3 and 4 is part of the encryption output (i.e., the ciphertext), in RMAC, the output blocks in Steps 3 and 4 are intermediate results. In Step 6, the block cipher under a newkey is applied to the final output block from Step 4, and the result is truncated as specified in the parameter set. The new key for this final application of the block cipher is obtained in Step 5 by exclusive-ORing the salt into the most significant bits of the second RMAC key.The RMAC MAC generation function is illustrated in Figure 1.6.4 Tag Generation and VerificationThe prerequisites for the authentication process are the establishment of an approved block cipher algorithm, two secret RMAC keys, and a parameter set1 among the parties to the authentication of the data.To generate an authentication tag on a message M, a party shall determine an associated salt R in accordance with Appendix B, generate RMAC(R,M), as specified in Section 6.3, and provide the authentication tag (R, RMAC(R,M)) to the data.To verify an authentication tag (R', MAC'), a party shall apply the RMAC MAC generation function, as specified in Section 6.3, to the received message M' and the received salt R' within the tag. If the computed MAC, i.e., RMAC(R',M'), is identical to the received MAC, i.e., MAC', then verification succeeds; otherwise, verification fails, and the message should not be considered authentic.1 For tag verification, the parameter set is implicit in the bit length of the tag.Appendix A: Security ConsiderationsThe submitters of RMAC present a security analysis of RMAC in [6]. In this appendix, three types of attacks on general MAC algorithms are summarized, and discussed with respect to RMAC: exhaustive key search, general forgery, and extension forgery based on birthday collisions.A.1 Exhaustive Key SearchIn principle, given sufficiently many valid message-tag pairs, an unauthorized party can exhaustively search, off-line, every possible key to the MAC generation algorithm. After recovering the secret key, by this method or any other method, the unauthorized party could generate a forgery, i.e., a valid authentication tag, for any message.The number of RMAC keys is so large that exhaustive key search of RMAC is impractical for the foreseeable future. In particular, for the key size k, which is at least 112 bits for the approved block cipher algorithms, the exhaustive search for the two RMAC keys would be expected to require the generation of 22k-1 MACs. Even if the two RMAC keys are derived from a single master key, as discussed in Appendix B.1, the exhaustive search for the master key would be expected to require the generation of 2k-1 MACs.ForgeryA.2 GeneralThe successful verification of a MAC does not guarantee that the associated message is authentic: there is a small chance that an unauthorized party can guess a valid MAC of an arbitrary (i.e., inauthentic) message. Moreover, if many message forgeries are presented for verification, the probability increases that, eventually, verification will succeed for one of them. This limitation is inherent in any MAC algorithm.The protection that the RMAC algorithm provides against such forgeries is determined by the bit length of MAC, m, which in turn is determined by the choice of a parameter set. The probability of successful verification of an arbitrary MAC with any given salt on any given message is expected to be 2-m; therefore, larger values of m offer greater protection against general forgery.A.3 Extension Forgery Based on a CollisionThe underlying idea of extension forgery attacks is for the unauthorized party to find a collision, i.e., two different messages with the same MAC (before any truncation). If the colliding messages are each concatenated with a common string, then, for many MAC algorithms, including RMAC, the two extended messages have a common MAC. Therefore, the knowledge of the MAC of one extended message facilitates the forgery of the other extended message. The unauthorized party can choose the second part of the forged message, i.e., the common string, but generally cannot control the first part, i.e., either of the original, colliding messages.In principle, collisions may exist, because there are many more possible messages than possible MACs. A collision may be detected by the collection and search of a sufficiently large set of message-MAC pairs. By the so-called “birthday surprise” (see, for example, [7]), the size of this sufficiently large set is expected to be, approximately, the square root of the number of possible MAC strings, before any truncation.For RMAC, the extension forgery requires that the salt values, R, are the same for the two colliding messages, as well as the untruncated MACs, i.e., CIPH K3(O n) in the specification of Section 6.3. Therefore, larger values of the block size, b, and the salt size, r, provide greater protection against extension forgery. In particular, the unauthorized party would have to collect at least 2(b+r)/2 message-tag pairs in order to expect to detect a collision.Moreover, if a parameter set is chosen in which m<b, i.e., if CIPH K3(O n) is truncated to produce the MAC, then the discarded bits may be difficult for an unauthorized party to determine, so collisions may be difficult to detect. Parameter sets in which m<b may also provide some protection against other types of attacks.A.4 Summary of Security Properties of Parameter SetsIn Table 2, the expected work factors for the important aspects of the attacks discussed in Sections A.1-A.3 are summarized for the RMAC parameter sets. The values for exhaustive key search are given for the case in which the two RMAC keys are generated from a single master key as discussed in Section B.1.Table 2: Expected Work Factors for Three Types of Attacks on RMACRMAC Parameter Set Exhaustive Key Search(MAC GenerationOperations)General Forgery(Success Probabilityfor a Single Trial )Extension Forgery(Message-Tag Pairs)I 2k-12-32232 (b=64) or 264 (b=128) II 2k-12-64264III 2k-12-80272IV 2k-12-96296V 2k-12-1282128Appendix B: The Generation of RMAC ParametersB.1 Derivation of RMAC keys from a Master KeyThe two secret RMAC keys, K1 and K2, may be derived from a single master key, K, in order to save bandwidth or storage, at the cost of extra invocations of the block cipher to set up the RMAC keys. For example, let CNST1, CNST2, CNST3, CNST4, CNST5, and CNST6 be constants, i.e., fixed, distinct blocks, and let k and b be the key length and block length of the approved block cipher, as before. If k 4 b, then K1 and K2 may be derived from the set of constants as follows:K1=MSB k(CIPH K(CNST1) || CIPH K(CNST3) || CIPH K(CNST5))K2=MSB k(CIPH K(CNST2) || CIPH K(CNST4) || CIPH K(CNST6)).If k=b, then this definition reduces to K1=CIPH K(CNST1) and K2=CIPH K(CNST2), and thus only two constants are actually required.Similarly, if b<k≤2b, then the definition becomes K1= MSB k(CIPH K(CNST1) || CIPH K(CNST3)) and K2=MSB k(CIPH K(CNST2) || CIPH K(CNST4)), and thus only four constants are required.B.2 Salt GenerationThe salt values associated with messages shall repeat with no more than negligible probability. In particular, the expected probability that the same salt will be associated with two different messages that are authenticated under the scope of any pair of RMAC keys shall be no greater than for random values of salt. Therefore, one approach to meeting the requirement is to generate the salt by an approved deterministic random number generator.Another approach is to ensure that the probability of associating the same salt to different messages is zero, in other words, to generate a nonce to be the salt. For example, the salt may be a counter or a message number.Appendix C: Example Vectors for the MAC Generation FunctionIn this appendix, examples vectors are provided for the RMAC MAC generation function with either the AES algorithm or Triple DES as the underlying block cipher. For each allowed key size of the underlying block cipher, MACs are generated on three messages for each parameter set. The lengths of the three messages, denoted Mlen , are 128 bits, 384 bits, and 400 bits. In addition to the MAC for the given input values, intermediate results are provided. All strings are represented in hexadecimal notation.C.1 RMAC-AES128 Example VectorsC.1.1 RMAC-AES128-I RMAC-AES128, r =0, m =32, Mlen =128 M : 000102030405060708090a0b0c0d0e0f K 1: 000102030405060708090a0b0c0d0e0f K 2: 0f0e0d0c0b0a09080706050403020100 R : n o n e M || PAD : 000102030405060708090a0b0c0d0e0f 80000000000000000000000000000000 O_1: 0a940bb5416ef045f1c39458c653ea5a O_n : 3a3807ffe3cb3e978953017210335f0f K 3: 0f0e0d0c0b0a09080706050403020100 CIPH_K 3(O_n ): bfc3c92e04100777be98f7a93e178381 RMAC (R ,M ): bfc3c92e RMAC-AES128, r =0, m =32, Mlen =384 M : 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f K 1: 000102030405060708090a0b0c0d0e0f K 2: 0f0e0d0c0b0a09080706050403020100 R : n o n e M || PAD : 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 80000000000000000000000000000000 O_1: 0a940bb5416ef045f1c39458c653ea5a O_2: 3cf456b4ca488aa383c79c98b34797cb O_3: 7e163e30ea49d32152a51a08a10ec02d O_n : c5b089e3e4710856581f28b42824c651 K 3: 0f0e0d0c0b0a09080706050403020100 CIPH_K 3(O_n ): a3c33ae5f5d19094c5f65faa4ee60696 RMAC (R ,M ): a3c33ae5 RMAC-AES128, r =0, m =32, Mlen =400 M : 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 3031 K 1: 000102030405060708090a0b0c0d0e0f K 2: 0f0e0d0c0b0a09080706050403020100 R : n o n e M || PAD : 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 30318000000000000000000000000000 O_1: 0a940bb5416ef045f1c39458c653ea5a O_2: 3cf456b4ca488aa383c79c98b34797cb O_3: 7e163e30ea49d32152a51a08a10ec02d O_n : 6a83b72738a946e319702dfd323fae52 K 3: 0f0e0d0c0b0a09080706050403020100 CIPH_K 3(O_n ): 4577d30eac2b9a438e507ecf22cc5fbd RMAC (R ,M ): 4577d30eC.1.2 RMAC-AES128-IIRMAC-AES128, r =0, m =64, Mlen =128 M : 000102030405060708090a0b0c0d0e0f K 1: 000102030405060708090a0b0c0d0e0f K 2: 0f0e0d0c0b0a09080706050403020100 R : n o n e M || PAD : 000102030405060708090a0b0c0d0e0f 80000000000000000000000000000000 O_1: 0a940bb5416ef045f1c39458c653ea5a O_n : 3a3807ffe3cb3e978953017210335f0f K 3: 0f0e0d0c0b0a09080706050403020100 CIPH_K 3(O_n ): bfc3c92e04100777be98f7a93e178381 RMAC (R ,M ): bfc3c92e04100777 RMAC-AES128, r =0, m =64, Mlen =384 M : 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f K 1: 000102030405060708090a0b0c0d0e0f K 2: 0f0e0d0c0b0a09080706050403020100 R : n o n e M || PAD : 000102030405060708090a0b0c0d0e0f 101112131415161718191a1b1c1d1e1f 202122232425262728292a2b2c2d2e2f 80000000000000000000000000000000 O_1: 0a940bb5416ef045f1c39458c653ea5a O_2: 3cf456b4ca488aa383c79c98b34797cb O_3: 7e163e30ea49d32152a51a08a10ec02d O_n : c5b089e3e4710856581f28b42824c651 K 3: 0f0e0d0c0b0a09080706050403020100 CIPH_K 3(O_n ): a3c33ae5f5d19094c5f65faa4ee60696。
findessentialmat函数的使用
findessentialmat函数的使用摘要:1.函数findEssentialMat 的使用简介2.findEssentialMat 函数的参数及其作用3.findEssentialMat 函数的返回值及其含义4.findEssentialMat 函数在计算机视觉中的应用实例5.使用findEssentialMat 函数的注意事项正文:findEssentialMat 函数是OpenCV 库中的一个函数,主要用于计算图像中特征点之间的基本矩阵(Essential Matrix)。
基本矩阵是相机运动学中的一个重要概念,它可以描述两个相机之间的相对运动。
在计算机视觉中,findEssentialMat 函数被广泛应用于三维重建、运动估计、机器人视觉等领域。
1.函数findEssentialMat 的使用简介要使用findEssentialMat 函数,首先需要导入OpenCV 库,然后创建两个矩阵,分别表示两个相机的内参数矩阵(包括焦距、主点等)和外参数矩阵(包括旋转和平移矩阵)。
接下来,调用findEssentialMat 函数,传入两个矩阵以及一些可选参数,即可得到计算结果。
2.findEssentialMat 函数的参数及其作用findEssentialMat 函数有以下几个参数:- img1:第一个相机的图像。
- img2:第二个相机的图像。
- objpoints:特征点集合。
- scene_points:场景点集合。
- camera_matrix1:第一个相机的内参数矩阵。
- camera_matrix2:第二个相机的内参数矩阵。
- camera_dist_coeffs1:第一个相机的distortion_coefficients。
- camera_dist_coeffs2:第二个相机的distortion_coefficients。
- R:第一个相机到第二个相机的旋转矩阵(可选)。
- t:第一个相机到第二个相机的平移向量(可选)。
findessentialmat函数的使用
findessentialmat函数的使用摘要:一、函数findEssentialMat 的概述1.函数定义2.函数作用二、函数findEssentialMat 的参数1.参数含义2.参数取值范围三、函数findEssentialMat 的返回值1.返回值含义2.返回值取值范围四、函数findEssentialMat 的应用实例1.实例一2.实例二正文:一、函数findEssentialMat 的概述findEssentialMat 函数是用来计算图像中关键点的Essential Matrix 的。
Essential Matrix 是一种在计算机视觉中用于描述两幅图像之间基础矩阵,它可以用来检测图像中的对应点,从而实现两幅图像之间的匹配。
该函数在OpenCV 库中可以找到,是计算机视觉领域中一个非常重要的函数。
二、函数findEssentialMat 的参数findEssentialMat 函数需要两个输入参数:1.第一个参数:是包含两个相机矩阵的数组,每个相机矩阵是一个3x3 的矩阵,表示相机的内参数和外参数。
2.第二个参数:是一个包含关键点坐标和对应的相机坐标系的数组,关键点坐标是Nx2 的矩阵,其中N 是关键点的数量。
三、函数findEssentialMat 的返回值findEssentialMat 函数返回一个Essential Matrix,它是一个3x3 的矩阵。
这个矩阵包含了两个相机之间基础矩阵的信息,可以用来计算两幅图像之间的基础矩阵。
四、函数findEssentialMat 的应用实例以下是两个使用findEssentialMat 函数的实例:1.实例一:假设我们有两个相机,分别为相机A 和相机B。
我们想要通过这两个相机获取同一场景下的两幅图像,然后计算这两个图像之间的基础矩阵。
我们可以使用以下代码:```pythonimport cv2# 读取图像img1 = cv2.imread("image1.jpg")img2 = cv2.imread("image2.jpg")# 获取图像中的关键点keypoints1 = [cv2.KeyPoint(x, y, 10) for y in range(img1.shape[0]) forx in range(img1.shape[1])]keypoints2 = [cv2.KeyPoint(x, y, 10) for y in range(img2.shape[0]) for x in range(img2.shape[1])]# 计算两幅图像之间的基础矩阵essential_matrix = cv2.findEssentialMat(keypoints1, keypoints2, camera_matrix)```2.实例二:假设我们已经获取了两幅图像之间的基础矩阵,现在我们想要使用这个基础矩阵来检测图像中的对应点。
cv2.findessentialmat_ransac方法原理_概述及解释说明
cv2.findessentialmat ransac方法原理概述及解释说明1. 引言1.1 概述本篇长文旨在详细介绍cv2.findEssentialMat RANSAC方法的原理并进行解析说明。
在计算机视觉领域,相机姿态估计是一项重要的任务,而cv2.findEssentialMat函数是OpenCV库中用于求解相机姿态变换的关键函数之一。
RANSAC(Random Sample Consensus)算法是一种常用于求解最优模型参数的鲁棒估计方法。
本文将首先介绍cv2.findEssentialMat函数和RANSAC算法的基础概念,然后阐述RANSAC在findEssentialMat函数中的具体应用。
1.2 文章结构本文共分为四个部分。
第一部分引言介绍了文章的主题和目标,并对文章结构进行了简要概述。
接下来,第二部分将详细介绍cv2.findEssentialMat函数以及RANSAC算法的基本原理。
第三部分将对findEssentialMat RANSAC方法的原理进行解析,包括本质矩阵与基础矩阵的概念解释、findEssentialMat函数中RANSAC参数的解析以及基于RANSAC进行外点剔除的实现原理。
最后,第四部分总结了文章所涉及内容并对相关研究意义与应用前景进行了探讨,同时对未来可能的研究方向进行展望。
1.3 目的本文旨在通过对cv2.findEssentialMat RANSAC方法原理的深入讲解和解析说明,帮助读者全面理解该方法的基本概念、原理以及应用场景。
通过阐述RANSAC算法在findEssentialMat函数中的具体应用,读者将能够掌握该方法在相机姿态估计中的重要作用和优势。
最终,期望本文能为相关领域研究人员提供参考和启发,并推动这一领域的进一步发展与应用。
请问以上内容是否满足您的需求?2. cv2.findEssentialMat RANSAC方法原理:2.1 cv2.findEssentialMat函数介绍:cv2.findEssentialMat是OpenCV中用于从两个图像的关键点匹配中估计基础矩阵或本质矩阵的函数。
决策树中信息增益的计算r语言
决策树中信息增益的计算r语言在R语言中,可以使用决策树模型来计算信息增益。
首先,你需要安装并加载一个叫做"rpart"的包,它是R中用于构建决策树的包。
你可以使用以下代码来安装和加载这个包:R.install.packages("rpart")。
library(rpart)。
接下来,假设你有一个数据集`mydata`,包含了你要应用决策树模型的变量。
你可以使用`rpart`包中的`rpart()`函数来构建决策树模型。
然后,你可以使用`rpart`包中的`importance()`函数来计算信息增益。
以下是一个示例代码:R.# 构建决策树模型。
mytree <rpart(Class ~ ., data = mydata, method = "class")。
# 计算信息增益。
info_gain <importance(mytree)[, "yval2"]在这个示例中,假设`Class`是你的目标变量,而`.`表示使用除了目标变量之外的所有其他变量来构建决策树模型。
`method = "class"`表示你要构建一个分类决策树。
然后,`importance(mytree)`会返回一个包含了各个变量的重要性指标的数据框,你可以从中提取信息增益的值。
需要注意的是,决策树模型中的信息增益是通过计算每个变量的重要性指标来得到的,它衡量了每个变量对于分类的贡献程度。
在实际应用中,你可能需要根据你的数据集和具体的问题来调整代码和参数,以获得最合适的信息增益值。
总之,在R语言中,你可以使用`rpart`包来构建决策树模型,并通过`importance()`函数来计算信息增益。
希望这个回答能够帮助到你。
theil sen斜率估算
theil sen斜率估算摘要:1.SuperMemo 介绍2.SuperMemo 的功能与特点3.如何使用SuperMemo 进行清除格式4.SuperMemo 清除格式的注意事项正文:一、SuperMemo 介绍SuperMemo 是一款功能强大的记忆辅助工具,适用于学习各种知识领域。
它采用间隔重复算法,帮助用户有效地记忆知识点,提高学习效率。
SuperMemo 适用于各种场景,如学习外语、备考考试、掌握专业技能等。
二、SuperMemo 的功能与特点1.智能复习算法:SuperMemo 采用间隔重复算法,根据用户的复习情况和知识点难度,智能调整复习间隔,提高记忆效果。
2.灵活的课程和知识点组织:用户可以创建自己的课程和知识点,方便管理和记忆。
3.多种导入方式:SuperMemo 支持导入不同格式的文件,如Excel、Word、CSV 等,方便用户将已有的学习材料整合到软件中。
4.自定义记忆指标:用户可以根据自己的需求,设置不同的记忆指标,如正确率、回答时间等。
5.统计报表功能:SuperMemo 提供了丰富的统计报表,帮助用户了解自己的学习进度和效果。
三、如何使用SuperMemo 进行清除格式1.打开SuperMemo 软件,点击“文件”菜单,选择“打开”,导入需要清除格式的文件。
2.在软件主界面,选择需要清除格式的知识点或课程。
3.点击“编辑”菜单,选择“清除格式”。
4.在弹出的对话框中,勾选需要清除的格式选项,如“清除超链接”、“清除样式”等。
5.点击“确定”按钮,完成清除格式操作。
四、SuperMemo 清除格式的注意事项1.在进行清除格式操作前,建议先备份原始文件,以防数据丢失。
2.清除格式时,请注意勾选需要清除的格式选项,以免误操作造成不必要的损失。
meta 后处理 公式
meta 后处理公式Meta 后处理是指在深度学习模型生成的文本结果上进行一系列优化和改进的技术方法。
它通过对生成文本的微调、修复错误、增强可读性和一致性,以及对生成文本进行逻辑合理性的验证,提高了生成文本的质量和可用性。
本文将介绍Meta 后处理的概念、方法和应用。
一、概述深度学习模型在自然语言生成任务中取得了显著的成果,但生成的文本结果往往存在一些问题,如语法错误、逻辑不合理、信息重复等。
Meta 后处理则是通过一系列技术手段对生成的文本结果进行优化,提高其质量和可用性。
二、方法1. 错误修复:深度学习模型生成的文本中常常存在语法错误和拼写错误,Meta 后处理可以通过语法纠错和拼写纠错技术对生成文本进行修复。
例如,使用语法校正模型对句子进行修正,使用拼写检查和纠错模型对拼写错误进行修复。
2. 信息增强:深度学习模型生成的文本有时会缺乏充分的信息,Meta 后处理可以通过引入外部知识库、检索相关文本等方式,增加生成文本的信息量。
例如,将生成的句子与外部知识库进行匹配,引入相关的背景知识。
3. 逻辑合理性验证:深度学习模型生成的文本有时会存在逻辑不合理的问题,Meta 后处理可以通过逻辑推理和规则检测等方式,对生成文本的逻辑合理性进行验证。
例如,通过逻辑推理模型检测生成文本中的悖论和矛盾。
4. 一致性保持:深度学习模型生成的文本往往存在一致性问题,Meta 后处理可以通过对生成文本进行一致性检测和调整,保持生成文本的一致性。
例如,通过检测生成文本中的矛盾信息,调整生成文本的内容和描述,使其保持一致。
三、应用1. 文本摘要生成:在文本摘要生成任务中,Meta 后处理可以修复生成文本中的语法错误、拼写错误,增加生成文本的信息量,保持生成文本的逻辑合理性和一致性。
2. 对话系统:在对话系统中,Meta 后处理可以修复生成的回复中的语法错误、逻辑错误,增强回复的信息量和一致性,提高对话系统的质量和可用性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
If the risk-free rate is 6.15%, what is the risk premium? Stock C: 9.9% – 6.15% = 3.75% Stock T: 17.7% – 6.15% = 11.55%
There is a reward for bearing risk We call this reward a Risk Premium Risk Premium is larger for riskier investments
Expected returns are based on the probabilities of possible outcomes In this context, “expected” means average if the process is repeated many times
The average is named after Dow and one of his business associates, a statistician, Edward Jones. It is an index that shows how certain large, publicly-owned companies have traded during a standard trading session in the stock market. The performance of the Dow continues to be influenced by not only corporate and economic reports, but also by domestic and foreign political events such as war and terrorism, as well as by natural disasters. The average is computed by the stock prices of 30 of the largest and most widely held public companies in the United States. It is among the most closely-watched benchmark indices tracking targeted stock market activity.
Note: The return on any asset is the increase in price, plus any dividends or cash flows, all divided by the initial price.
(($104 -92) + 1.45) / $92 R= 14.62%
Table 10.2
Average Return 11.7%
16.4% 6.2% 6.1% 3.8% 3.1%
Historical Average Return = simple, or arithmetic average
His tor ical Ave r age Re turn
ye arlyre turn
From the previous problem, what was the dividend yield and capital gains yield?
The dividend yield is the dividend divided by price at the beginning of the period
The total dollar return is the change in price plus the coupon payment
A. Total dollar return = ($1056-$1090)+ 80= $ 46 B. Total nominal percentage return of the bond = ($1056-1090) + 80 / $ 1,090 R =4.22% C. Using the Fisher equation, real return= (1+R) = (1+r)(1+h) r= (1.0422/1.030) – 1 r = 1.18%
For example, assume that an index contains only two stocks, one priced at $1 and one priced at $10. The $10 stock is weighted nine times higher than the $1 stock. Overall, this means that this index is composed of 90% of the $10 stocks and 10% of $1 stock. In this case, a change in the value of the $1 stock will not affect the index's value by a large amount, because it makes up such a small percentage of the index.
As part of its quality assurance program, the Autolite Battery Company conducts tests on battery life. For a particular D-cell alkaline battery, the mean life is 19 hours. The useful life of the battery follows a normal distribution with a standard deviation of 1.2 hours. Answer the following questions. 1. About 68 percent of the batteries failed between what two values? 2. About 95 percent of the batteries failed between what two values? 3. Virtually all of the batteries failed between what two values?he data in Table 10.1:
Your best guess about the size of the return for a year selected at random is 11.7%.
◦ Sum the returns for large-company stocks from 1926 through 2008, you get about 9.71/83 years = 11.7%.
$1.45/$92 = 1.58%
The capital gains yield is the increase in price divided by the initial price
Capital gains yield = $104-$92/$92= 13.04%
Suppose you bought a 8 percent coupon bond one year ago for $1090. The bond sells for $1056 today. A. Assuming a $1,000 face value, what was your total dollar return on this investment over the past year? B. What was your total nominal rate of return on this investment over the past year? C. If the inflation rate last year was 3 percent, what was your total real rate of return on this investment?
Suppose a stock had an initial price of $92 per share, paid a dividend of $1.45 per share during the year, and had an ending share of $104. Compute the percentage total return.
USC Dr. Bemis
Know how to calculate expected returns Understand the impact of diversification Understand the systematic risk principle Understand the risk-return trade-off Be able to use the Capital Asset Pricing Model
Large-Company Stock Returns
Long-Term Government Bond Returns
U.S. Treasury Bill Returns
Investment Large Stocks
Small Stocks Long-term Corporate Bonds Long-term Government Bonds U.S. Treasury Bills Inflation