编程算法和数据挖掘涉及的算法有什么区别和联系

区别是:编程算法不依赖于数据,能精确的解决问题,是对存储的数据进行处理,最终得到问题的答案。数据挖掘算法是一类从数据中运用数学工具自动分析获得规律,并利用规律对未知数据进行预测的算法,注重数据来源以及数据规律。

编程算法不依赖于数据,能精确的解决问题,是对存储的数据进行处理,最终得到问题的答案。数据挖掘涉及的算法依赖于数据,目的是找到一个可接受的解。数据挖掘算法是一类从数据中运用数学工具自动分析获得规律,并利用规律对未知数据进行预测的算法,注重数据来源以及数据规律。

经典排序或者搜索算法中的快排、堆排、二叉、B树等等,它们的存在价值不依赖于输入数据——有固定的步骤和解法,对于不同的输入数据都能正常运行(可能对特殊的数据有时候性能会差一些);但是机器学习算法不同,你使用一个算法,做了一个模型,只是为了解决某个特定数据集下的某个需求;换一个数据和场合,这一套东西很可能就没有存在的意义了。

举个例子,对于寻路算法,如果你要找到优异解,那本质上就只有完全遍历所有路径。这是一个可计算,但是np的问题。而大多数情况下,我们需要在一个可接受的时间内获得一个比较优异的解,那我们就可以尝试蚁群算法、模拟退火算法等等。如果应用场景更具体化,我们能做的花样就更多了。比如如果是在微博用户中进行“寻路”(比如通过几个人把你们联系起来),这样我们会优先搜索你好友中关注关系多的用户(因为他们更可能是所谓的“节点”用户);而在实现上,可以把最常使用的节点用户cache起来,进一步提升实际搜索的效率。——这还真就是算法。

另一方面,有些问题压根就没法取得所谓的“精确解”。比如拼写纠错。

有个很有名的例子:有段时间内,在百度搜索输入“淳安”(chun an),会出现“处男”(chu nan)的搜索结果——百度因此被某些人无脑喷。究竟为什么会出现这么看似搞笑的现象呢?因为在百度算法后台,实际上计算的是两个条件概率的大小:1.想输入“chu nan”而输入“chun an” 2.想输入“chun an”而输入“chun an”。概率1实际上近似等于“想要输入处男的概率×输入错误的概率”,2等于“想要输入淳安的概率×输入正确的概率”。而经过大量历史数据统计训练的结果,概率1大于概率2(比如可能虽然输入正确的概率比输入错误的概率大20倍,但是输入处男的概率比输入淳安的概率可能要大几千倍),所以百度的拼写纠错系统会将chun an纠错成chu nan。——所以,你可以喷百度的用户层次太低,“处男”这么low的词出现概率太高,但是不能黑百度没技术。

延伸阅读:

学习算法最重要的是什么?

在学习算法的过程中,一能解决问题,二对自己有用,是最大的推动力。而那些抽象的,与程序员日常工作关系不大的竞赛题,很难提起大多数人的学习兴趣。较好能通过工作中应用的一些案例来切入,利用碎片化时间入门算法,提升技术竞争力。有了兴趣之后就可以尝试将算法尽可能的优化,并套用到一个完整的项目中。

“学习算法很难”,怎样降低难度?从基础来讲,要学习算法,至少要非常熟练地掌握一种排序算法,各种线性表的插入、删除算法,树的遍历和插入、删除算法,图的遍历算法等。多学习掌握一些常见问题的解决模式,比如穷举算法如何应用,动态规划算法如何应用。最后要勤思考已经掌握并解决的算法,复盘为什么用这种方法解决,有没有其他方法,类似的问题怎么办,提高举一反三的能力。

编程和数据挖掘算法的区别与联系?

编程算法只是算法的一种表达形式,还可以用表格或流程图来表达算法。数据挖掘领域涉及的算法和其他领域算法只是问题域不同。数据挖掘和机器学习常用的方法,比如决策树、贝叶斯学习、神经网络、遗传算法等,在其他领域也有应用。在人工智能领域或各种专家系统中,决策树算法也是常用算法。各种算法在不同领域扮演不同角色,本质上没有区别,一通百通。

文章标题:编程算法和数据挖掘涉及的算法有什么区别和联系,发布者:小编,转载请注明出处:https://worktile.com/kb/p/39014

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月21日 上午2:03
下一篇 2023年2月21日 上午2:06

相关推荐

  • 建设单位如何管理epc工程项目

    建设单位要有效管理EPC(工程、采购、施工)工程项目,需要运用多方面的管理技能和策略。核心策略包括设立明确的项目目标、选择合适的EPC承包商、建立高效的沟通机制、实施严格的项目监管、进行全面的风险管理。其中,设立明确的项目目标可能是最为关键的步骤,因为它指导着项目的总体方向,包括预算、时间表和性能指…

    2024年4月11日
    7800
  • 如何应对项目延误和超预算

    项目延误和超预算是企业管理中常见的问题,对整体运作和财务状况产生负面影响。有效应对这一挑战的核心策略包括:1、实施详尽的项目规划;2、设立灵活的预算缓冲;3、采用敏捷管理方法;4、定期进行项目审查与风险评估;5、强化团队沟通与协作;6、使用专业的项目管理工具。这些策略可以帮助项目经理识别风险,采取预…

    2023年11月16日
    31800
  • devops是什么意思 csdn

    DevOps即开拓者与运维技师的协作模式,1、建立文化与练习交融环境,2、意图改善及加速软件交付流程;在多元化的自动化工具辅助下,3、促成快捷高效的反馈与持续改进。 其中,1、建立文化与练习交融环境这一理念,常针对团体内部沟通及作业方式进行优化,目的乃是创建一种文化背景,让软件开发者(Develop…

    2024年3月26日
    9800
  • oa办公系统哪家的好用

    OA办公系统用途繁多、界面友好、扩展能力强、安全性高的品牌更胜一筹。针对这方面,某些多功能集成系统1、提供流畅的用户体验;2、满足各类企业需求;3、确保数据安全;4、支持快速部署与定制。下文将重点讨论这几个方面,着重分析当前市场上领先产品的特点。 一、用户体验 系统的易用性对提升员工工作效率起着至关…

    2024年1月11日
    21100
  • vscode为什么要插件

    Visual Studio Code (VSCode) 需要插件是因为插件让这个编辑器能够更加灵活、功能丰富、并可定制化。插件能够扩展VSCode的功能、增强开发效率、以及提供特定语言或工具的支持。例如,揔件可以提供语言特定的代码高亮、代码自动完成、代码片段、项目管理、版本控制、以及调试支持等。插件…

    2024年4月3日
    7100
  • 文件解压软件有什么

    文件解压软件有:一、WinRAR;二、7-zip;三、2345好压;四、360压缩;五、Bandizip;六、WinZip。WinRAR是一款功能强大的压缩文件管理工具,有着极高的压缩率,从DOS时代起就一直具备这种优势。WinRAR的RAR格式一般要比其它ZIP格式高出10-30%的压缩率。 一、…

    2023年4月27日
    50300
  • 如何做项目订单管理员招聘

    项目订单管理员在组织中扮演着至关重要的角色,主要负责监控并管理项目的进度并确保订单的正确兑现。要成功招聘到一位合适的项目订单管理员,需要遵循一系列的步骤:制定详细的职位描述、发布招聘广告、筛选简历、组织面试、进行背景调查,并最终发放工作邀请。其中,制定详细的职位描述是整个招聘过程中尤为关键的一步。通…

    2024年4月11日
    6500
  • 项目管理过程中的风险点有哪些

    项目管理过程中的风险点包括1、需求变更风险、2、时间和成本估计不准确、3、资源配置不当、4、技术实现难度、5、沟通不畅、6、外部环境变化、7、法律和合规性问题。其中需求变更风险可能导致项目范围膨胀,影响时间线和成本,进而降低项目成功率。变更必须经过严格的控制和管理,以避免所谓的“范围蔓延”,保障项目…

    2024年1月8日
    54900
  • 如何为知识库设定有效的反馈机制

    为知识库设定有效的反馈机制的步骤:1、确定反馈的目的和范围;2、提供多样化的反馈渠道;3、制定清晰的反馈政策;4、鼓励积极参与;5、收集多维度的反馈信息;6、快速响应和解决问题;7、关注用户趋势和变化;8、持续改进反馈机制;9、结合技术手段提高效率;10、保护用户隐私和安全;11、落实用户反馈的成果。

    2023年11月17日
    42400
  • HTML、CSS、JavaScript、PHP、MySQL的学习顺序是什么

    学习顺序是:HTML、CSS、JavaScript、PHP、MySQL。初学者为了完成一个完整的项目,会快速学习前后端所有己需的技术点,但无论前端还是后端,都是一门技术。任何开发者的开发技术的成熟都依赖的坚实的理论基础和业务经验,所以往往自学的开发者很难胜任企业的开发任务。

    2023年1月27日
    73000

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部