tag 标签: 算法

相关帖子
相关博文
  • 热度 2
    2022-5-10 20:25
    487 次阅读|
    1 个评论
    工程中经常会用到的控制算法想必就是PID了,现代控制理论为何陷入了迷思呢? 不去尝试,永远不知道新理论和算法能不能用。本文希望能给出一些控制算法研究中的工程哲学供大家参考。 先进控制算法为何给大家感觉不如PID呢? 一种可能,别人用上了,效果好,自己用不上,乃至说不知道怎么用,只能用PID,这说明自己落后。 另外一种可能,有很多所谓先进的理论和算法确实很难在实际中用,根本就是为了发论文而做的。 还有一种可能,大家都在用PID,但控制效果远不能令人满足,只是暂时找不到/发现不了更好的方法。 另外有个值得注意的,底层是PID,看中上层是不是PID。即虽然是PID,但是是结合比如自适应、模糊、容错等等。而且PID的调参是否用了比如频域分析、鲁棒等等。 如何区分这几者,是很重要的。 控制算法要能处理known known,known unknown,unknown known,unknown unknown。 只此一件的控制系统,在较为确定的环境里工作,参数可以专门针对硬件,调到很好。但也会跟温室一样,系统乃至环境的很多东西有明确的规定,甚至细到某个螺丝要拧几圈半,外界的干扰要可忽略,等等。如此的系统,有时可以应用上较为复杂的控制算法,也就没有什么好稀奇的:known known知道,unknown known能通过对系统不断加深理解变成known known,known unknown、unknown unknown则可以通过对系统和环境的控制减少到可忽略。 但商业化产品中的控制系统,上量之后件件之间有差距,加上使用环境不确定的话,known unknown、unknown unknown都会大,而控制算法要能鲁棒(不仅限于传统鲁棒控制中的鲁棒)到可以处理到这些,即使known known、unknown known处理到最好。 比如一个信号,近似等于个高斯白噪声,用过去数据,估算出均值与方差,是known known。但肯定不准的,因为现实中就不存在标准的高斯白噪声,于是做出一个误差区间,有各种做法,算是known unknown。但known known跟known unknown加起来,也还是与实际有差距,是unknown unknown,是there is nothing you can do about it的了。但常被忽视的是unknown known,比如这个信号里面,可以分离出一个周期信号(不一定是正弦),是一个干扰。知道之后,unknown known变成known known。如此等等。前面说了,可以从不同层面考虑,比如信号分成确定部分和随机部分,确定部分是known known。但确定部分与实际的确定部分有差别,是unknown known。随机部分,知道分布的话,是known unknown。随机部分也与实际的随机部分有差别,是unknown unknown。如是如是,不一而足。从这个层面分析,不如上一段中的分析对实际有指导意义。 当然还有系统。比如一个系统,有输入输出数据,建模、辨识出一个LTI模型,有参数,是known known。但这个模型肯定不是完全吻合数据,所以要给一定的不确定性,比如在参数上,可能有个区间,是known unknown。即使加上这个区间,也还是与实际有差别,是谓unknown unknown。但如果一分析,发现这个模型其实可以分离成一个LTI模型,加上一个比如Wiener模型,就是unknown known被发现了。 当然也可以在不同的层面分析。参数很多,花时间调,总能调出个鼻子乱舞的大象,特别是在仿真中更是如此。但物理学的历史告诉我们,这个时候,应该是存在更有结构化的理论框架。当然,这样的理论框架,如PID,如Kalman滤波,等等,也还是留有一定的参数让在实际中调,因为known unknown与unknown unknown,是另一个层面的问题了。
  • 热度 6
    2021-11-20 10:07
    490 次阅读|
    0 个评论
    哥伦比亚大学瓦格洛斯医学院的研究人员开发了一种算法,可以自动搜索病人的电子医疗记录中的血液和尿液测试结果,并使用既定的方程式和机器学习的混合方法处理数据,可以提醒医生处于慢性肾脏病最早期阶段的病人。 慢性肾病的诊断往往未被发现,直到它造成不可逆转的损害。新算法旨在确保在最早阶段检测到慢性肾病。 早期检测是关键 研究人员说,慢性肾脏病(CKD)代表了一种缓慢进展的疾病,通常在晚期之前是无声无息的,但早期干预可以大大延迟其进展。 "早期识别肾脏疾病是最重要的,因为我们有治疗方法,可以在损害变得不可逆转之前减缓疾病的发展。 慢性肾脏病可能导致多种严重问题,包括心脏病、贫血或骨病,并可能导致早期死亡,但其早期阶段经常没有得到充分认识和治疗,"研究负责人、哥伦比亚大学瓦格洛斯内外科医学院副教授Krzysztof Kiryluk博士说。 这项研究的题目是 "基于医疗记录的慢性肾脏病表型的临床护理和'大数据'观察遗传研究",于2021年4月发布。 该算法如何工作 该算法自动拖曳电子医疗记录。它像一个有经验的肾病医生一样工作。当使用451名患者的电子医疗记录进行测试时,该算法在两名有经验的肾脏病专家确定的95%的肾脏病患者中正确诊断了肾脏病,在97%的健康对照组中正确排除了肾脏病。 该算法可用于不同类型的电子健康记录系统,包括数以百万计的患者,并可轻松纳入临床决策支持系统,通过建议适当的特定阶段的药物来协助医生。如果将来诊断肾脏疾病的标准发生变化,该算法可以很容易更新,并免费提供给其他机构使用。 然而,研究人员说,该算法的一个缺点是,它取决于医疗记录中是否有相关的血液和尿液测试。血液检验是相当常规的,但尿液检验在临床实践中没有得到充分利用。 Kiryluk说,尽管有这些限制,但算法诊断可以提高人们对肾脏疾病的认识,通过早期治疗,可减少失去肾功能的人数。 研究结果所附的一份声明解释说,诊断不足的原因很复杂。这是因为处于慢性肾脏病早期的人通常没有症状,而初级保健医生可能会优先考虑病人诉求。此外,需要两种测试,一种是测量血液中的肾脏过滤代谢物,另一种是测量尿液中的蛋白质渗漏,以检测无症状的肾脏疾病。 "这些测试的解释并不总是简单明了的。 许多病人的特征,包括年龄、性别、体重或营养状况,都需要考虑 ,而这一点经常未被初级保健医生所重视,"Kiryluk说。 问题的普遍性 据估计,每八个美国成年人中约有一人被认为患有慢性肾脏疾病。然而,在该疾病的早期阶段,只有10%的人知道自己的病情。在那些已经有严重的肾功能减退的人中,只有40%的人知道他们的诊断。 中国成人总体患病率约为10.8%。在中国,CKD1-2期患者占据总CKD患者的大多数,为76.59%。终末期肾脏病患者的占比最小,为1.4%。CKD患者的住院死亡率为2.63%,远高于非CKD患者(0.81%)。 高血压和糖尿病是造成CKD的主要原因。几乎一半的CKD患者同时患有糖尿病或心血管疾病(CVD)。此外,有超过661,000名美国人患有肾衰竭。 美 国家糖尿病和消化道疾病研究所说,其中46.8万人正在接受透析治疗,大约有19.3万人接受了有效的肾脏移植。 根据中国肾脏病网络调研结果显示,在CKD住院患者中,糖尿病肾病占26.96%、高血压肾病占20.78%,其次为梗阻性肾病(15.59%)和肾小球肾炎(15.07%)。同时CKD会诱发多种合并症,CKD引发的心血管并发症死亡率是普通人群的5倍。冠心病是慢性肾脏病住院患者最常见的合并心血管疾病类型(18.82%),其次为心力衰竭(16.02%)和中风(12.88%)。
  • 热度 4
    2021-5-12 17:52
    948 次阅读|
    4 个评论
    点击这里,一键报名 举办时间 5/18 10:00 研讨会介绍 鉴于计划外停机的成本可能占总制造成本的近四分之一,所以采用预测性维护有望大幅节省成本并提高生产力。在本次研讨会中,我们将介绍ADI新推出的状态监控平台,该平台旨在帮助加快状态监控硬件、软件和算法的开发。CN0549平台是一个完整的开发平台,针对机械固定的宽带宽传感器数据进行可靠的高保真数据采集。开源嵌入式软件直接将数据流传输至基于MATLAB和Python的数据分析工具,以便实时处理,并开发可用于预测性维护服务的机器学习算法。借助此平台的灵活性,各个学科的工程师能够快速启动CbM应用开发,并将产品更快推向市场。
  • 热度 21
    2016-5-24 14:43
    1009 次阅读|
    0 个评论
    随着数博会的临近,2016中国国际电子信息创客大赛暨“云上贵州”大数据商业模式大赛分支赛也进入到了最后的白热化阶段,来自全国各地的2532名参赛选手对4项分支赛的冠军展开了争夺。 最终,来自中国科学院上海技术物理研究所的孙健永、华为技术有限公司的潘丽娟、济南东忠软件有限公司的李静、济南青末商贸有限公司的王龙分别获得PID控制算法大赛、机器视觉TLD算法大赛、H.264视频编码大赛、H5数据获取大赛的一等奖。 PID算法让无人机飞得更高 本次云上贵州大赛PID算法、TLD算法、H.264算法和H5数据获取四大分支赛,光听名字就觉得完全是未来的即视感,其实解释下来,这些分支赛和生活也息息相关。 首先是PID算法大赛,PID算法就是机器自主学习计算算法编辑大赛,这种算法现在应用的最为广泛的领域实在无人机方面,简言之,PID算法就是让无人机变得更加智能的方法。 简单地说,智能PID控制系统能不停修正多旋翼无人机的飞行动作,使得多旋翼无人机最终无限接近设定的高度。 “智能PID控制近几年获得飞速发展,未来智能机器人领域需要大量人才支撑,这次大赛组委会走进校园,让更多的学生了解和关注机器学习,应该讲是一次普及性的教育。”中国科学院上海技术物理研究所副研究员的孙健永表示,他自己同时也报名参加了PID控制算法大赛,凭借出色表现,最后一举夺魁。 TLD算法让智能汽车反应更快 今年的大赛以“数据时代智造未来”为主题,主要关注大数据、智能制造等领域。同样,在算法分支赛的设置上,也专门设置了关于机器学习领域的分支赛。 机器视觉TLD算法大赛就是其中之一。TLD算法是近几年发展比较快的算法,可广泛用于视频目标的抓取、追踪、计数等方面。TLD算法最大的特点就在于能对锁定的目标进行不断地学习,以获取目标最新的外观特征,从而及时完善跟踪,以达到最佳的状态。也就是说,开始时只提供一帧静止的目标图像,但随着目标的不断运动,系统能持续不断地进行探测,获知目标在角度、距离、景深等方面的改变,并实时识别,经过一段时间的学习之后,目标就再也无法躲过。 “摄像机作为机器人的视觉传感器,如何从视场获取的图像信息进行判读,分析,获取特定目标,把非结构化数据结构化,是机器视觉发展的主要方向”,机器视觉TLD算法大赛一等奖获得者潘丽娟表示。 用个不是那么高深的例子再解释下TLD算法的作用,比如现在正在炒得非常火爆的无人汽车,其间的核心技术之一就是计算机对周边情况的采集,运用TLD算法可以让采集变得更精准反应更快,当然这样的无人汽车更受青睐。 H.264让视频小些再小些 同样是关于视频数据处理,但与TLD算法不同的是,H.264视频编码算法则致力于更高效的传输、存储海量视频数据。 随着摄像机被各界广泛应用,特别是天网工程,每个城市都产生海量的视频数据,这些数据因为难以传输,或因存储量太大,而被丢弃。 H.264视频编码算法的优化将解决这些海量视频传输和存储的问题。 “H.264标准的制订正是为适应各种业务增长对于运动图像压缩率的更高要求,并使得编码后的视频数据能够在各种网络环境下传输。在技术上,H.264标准引入了当前视频编码的新技术,包括运动搜索中的宏块大小可变、整数变换、帧内预测等”,视频编码算法大赛一等奖获得者李静补充道。 比如一部大到数GB的视频,如果采用了最优的H.264算法,就有可能被压缩到几百兆乃至几十兆,不仅大幅度提升了视频的传输速度,也大大的节约了存储空间,节约了数据采集的成本。 H5获取的数据很值钱 电子商务已经深刻地改变了我们的生活方式,我们在网店购物时,会留下浏览痕迹。这些信息在营销者的眼里成了挖掘新客户的重要资源。 今年的大赛设置了H5数据获取大赛,主要考察参赛选手在特定时间段内编辑html5网页、利用移动互联网及互联网工具进行网页传播与数据获取的能力,最终根据参赛选手的用户信息获取数量评定名次,这成为了电子商务时代精准营销的基础技能。 “H5数据获取能力对我们商贸公司来说显得尤为重要,是我们与用户建立“精准快”的连接,进行精准的互动导购的重要工具”,H5数据获取大赛一等奖获得者,同时也是济南青末商贸有限公司创始人王龙如此表示。
  • 热度 16
    2015-2-28 17:30
    2056 次阅读|
    1 个评论
    Reddit有篇帖子介绍了算法对我们现在生活的重要性,以及哪些算法对现代文明所做贡献最大。如果对算法有所了解,读这篇文章时你可能会问“作者知道算法为何物吗?”,或是“Facebook的‘信息流’(News Feed)算是一种算法吗?”,如果“信息流”是算法,那就可以把所有事物都归结为一种算法。才疏学浅,结合那篇帖子,接下来我试着解释一下算法是什么,又是哪10个算法正在主导我们的世界。 什么是算法?   简而言之,任何定义明确的计算步骤都可称为算法,接受一个或一组值为输入,输出一个或一组值。(来源:homas H. Cormen, Chales E. Leiserson 《算法导论第3版》)   可以这样理解,算法是用来解决特定问题的一系列步骤(不仅计算机需要算法,我们在日常生活中也在使用算法)。算法必须具备如下3个重要特性:   [1] 有穷性。执行有限步骤后,算法必须中止。   [2] 确切性。算法的每个步骤都必须确切定义。   [3] 可行性。特定算法须可以在特定的时间内解决特定问题,   其实,算法虽然广泛应用在计算机领域,但却完全源自数学。实际上,最早的数学算法可追溯到公元前1600年-Babylonians有关求因式分解和平方根的算法。   那么又是哪10个计算机算法造就了我们今天的生活呢?请看下面的表单,排名不分先后: 1. 归并排序(MERGE SORT),快速排序(QUICK SORT)和堆积排序(HEAP SORT)   哪个排序算法效率最高?这要看情况。这也就是我把这3种算法放在一起讲的原因,可能你更常用其中一种,不过它们各有千秋。   归并排序算法,是目前为止最重要的算法之一,是分治法的一个典型应用,由数学家John von Neumann于1945年发明。   快速排序算法,结合了集合划分算法和分治算法,不是很稳定,但在处理随机列阵(AM-based arrays)时效率相当高。   堆积排序,采用优先伫列机制,减少排序时的搜索时间,同样不是很稳定。   与早期的排序算法相比(如冒泡算法),这些算法将排序算法提上了一个大台阶。也多亏了这些算法,才有今天的数据发掘,人工智能,链接分析,以及大部分网页计算工具。 2. 傅立叶变换和快速傅立叶变换   这两种算法简单,但却相当强大,整个数字世界都离不开它们,其功能是实现时间域函数与频率域函数之间的相互转化。能看到这篇文章,也是托这些算法的福。   因特网,WIFI,智能机,座机,电脑,路由器,卫星等几乎所有与计算机相关的设备都或多或少与它们有关。不会这两种算法,你根本不可能拿到电子,计算机或者通信工程学位。(USA) 3.代克思托演算法(Dijkstra‘s algorithm)   可以这样说,如果没有这种算法,因特网肯定没有现在的高效率。只要能以“图”模型表示的问题,都能用这个算法找到“图”中两个节点间的最短距离。   虽然如今有很多更好的方法来解决最短路径问题,但代克思托演算法的稳定性仍无法取代。 4. RSA非对称加密算法   毫不夸张地说,如果没有这个算法对密钥学和网络安全的贡献,如今因特网的地位可能就不会如此之高。现在的网络毫无安全感,但遇到钱相关的问题时我们必需要保证有足够的安全感,如果你觉得网络不安全,肯定不会傻乎乎地在网页上输入自己的yinhangka信息。   RSA算法,密钥学领域最牛叉的算法之一,由RSA公司的三位创始人提出,奠定了当今的密钥研究领域。用这个算法解决的问题简单又复杂:保证安全的情况下,如何在独立平台和用户之间分享密钥。 5. 哈希安全算法(Secure Hash Algorithm)   确切地说,这不是一种算法,而是一组加密哈希函数,由美国国家标准技术研究所首先提出。无论是你的应用商店,电子邮件和杀毒软件,还是浏览器等等,都使用这种算法来保证你正常下载,以及是否被“中间人攻击”,或者“网络钓鱼”。 6. 整数质因子分解算法(Integer factorization)   这其实是一个数学算法,不过已经广泛应用与计算机领域。如果没有这个算法,加密信息也不会如此安全。通过一系列步骤将,它可以将一个合成数分解成不可再分的数因子。   很多加密协议都采用了这个算法,就比如刚提到的RSA算法。 7. 链接分析算法(Link Analysis)   在因特网时代,不同入口间关系的分析至关重要。从搜索引擎和社交网站,到市场分析工具,都在不遗余力地寻找因特网的正真构造。   链接分析算法一直是这个领域最让人费解的算法之一,实现方式不一,而且其本身的特性让每个实现方式的算法发生异化,不过基本原理却很相似。   链接分析算法的机制其实很简单:你可以用矩阵表示一幅“图“,形成本征值问题。本征值问题可以帮助你分析这个“图”的结构,以及每个节点的权重。这个算法于1976年由Gabriel Pinski和Francis Narin提出。   谁会用这个算法呢?Google的网页排名,Facebook向你发送信息流时(所以信息流不是算法,而是算法的结果),Google+和Facebook的好友推荐功能,LinkedIn的工作推荐,Youtube的视频推荐,等等。   普遍认为Google是首先使用这类算法的机构,不过其实早在1996年(Google问世2年前)李彦宏就创建的“RankDex”小型搜索引擎就使用了这个思路。而Hyper Search搜索算法建立者马西莫·马奇奥里也曾使用过类似的算法。这两个人都后来都成为了Google历史上的传奇人物。 8. 比例微积分算法(Proportional Integral Derivative Algorithm)   飞机,汽车,电视,手机,卫星,工厂和机器人等等事物中都有这个算法的身影。   简单来讲,这个算法主要是通过“控制回路反馈机制”,减小预设输出信号与真实输出信号间的误差。只要需要信号处理,或电子系统来控制自动化机械,液压和加热系统,都需要用到这个算个法。   没有它,就没有现代文明。 9. 数据压缩算法   数据压缩算法有很多种,哪种最好?这要取决于应用方向,压缩mp3,JPEG和MPEG-2文件都不一样。   哪里能见到它们?不仅仅是文件夹中的压缩文件。你正在看的这个网页就是使用数据压缩算法将信息下载到你的电脑上。除文字外,游戏,视频,音乐,数据储存,云计算等等都是。它让各种系统更轻松,效率更高。 10. 随机数生成算法   到如今,计算机还没有办法生成“正真的”随机数,但伪随机数生成算法就足够了。这些算法在许多领域都有应用,如网络连接,加密技术,安全哈希算法,网络游戏,人工智能,以及问题分析中的条件初始化。   这个表单并不完整,很多与我们密切相关的算法都没有提到,如机器学习和矩阵乘法。另外,知识有限,如有批漏,还望指正。
相关资源