当前位置: 首页 > news >正文

机器学习之寻找合适的学习方法

  人生际遇,诡异难测。

  我以为往后的时间都是奉献给java了,却不想到闯入了机器学习的世界。那年夏天,烈日炎炎,穿越1000公里来到陌生的城市漂泊,希望这一切都是值得的。

  本人java出身,略懂c,linux,数据库,技术渣渣一枚。

  希望人生的每一步都是新的起点,每一步都有一种新的心境。

  话说在此我从来没有听说过机器学习,人工智能倒是有所耳闻,深度学习更是不用说了,刚开始工作的时候,接触到机器学习,以及相关的算法和理论的数据公式。对我来说真的是一种煎熬,那些似曾相识的东西却是完全看不懂。后来慢慢了解到算法是干什么的。用来解决什么问题。跟我一起的是一堆研究生,老大完全不管我们的,虽然他们看起来很忙的。显示跟我梦想的是有很大差距的,我想象着有一个神一般的老大带我装逼带我飞,结果却是被放了养(哈哈)。不过说什么也没有用,凡事有利有弊。这也让我们有了很大一部分时间去探索。

  我开始制定学习的计划,搜集资料,看视频,希望能够理论上理解这些东西,慢慢的去实践他们,最终运用起来。嗯看起来不错想法,真正实施起来确实是千难万险,而我最终也没能走通这条路。理论知识涉及到,概率论,数理统计,高等数学。。对于一个上课从来不听的人确实太难了,看了几天再也坚持不下去了。我觉得是不是要恶补一下那些知识,最终还是选择放弃。相反的跟我一起的研究生他们能每天耐着性子一遍一遍反复地去看一个视频讲解,一点点理解理论。我只有每天找一些博客和文档来看,去理解思想。也许这就是差距吧!

  后来一起研究一个算法做一个运用的时候,我才真正的找到该如何去入门,机器学习算法是需要很严谨的理论基础,她不像平时的所用的一些简单算法一样,只需要思想就够了,所有的机器学习算法都有一套严谨的理论来证明他的正确性。这也是学习的困难所在,当我们没有能力理解理论的时候就没有办法抽象成算法思想,自然就没有办法去实现一个算法。但是它的特点也限制了它的变化,所以有很多的库已经实现了这些算法,我们可以去研究算法的流程,去理解每一个步骤的意义,再结合数学理论来验证这些步骤的合理性。

  从先理论再实践到先应用再思想最后到理论的过成,让我真正觉得可以去一窥机器学习的奥秘。如果你也有跟我一样的困惑,你也可以先用算法做一些小应用,看看实验效果,在一步步从代码层面去理解,最后结合理论相互验证。困惑总是会有,毕竟这是一门综合性很强的领域,统计学,概率论,线性代数相互结合的领域,如果不是数学系出身的(学霸忽略)相信一头扎进这些理论里面也是一脸懵许久,但是我想说的是,你花大量的时间去学习了理论,也不一定能快速的上手这些算法,第一手的理解必然是算法思想,思想结合与实践,思想是告诉你怎么做,而理论是告诉你为什么这么做?,一套成熟的算法必然是有严谨的理论支撑的。而理论是个处处会碰壁的地方,实战是让我们看到成果的地方。

  最后说下我最近在看的几本书:《机器学习实战》,《统计学习方法》,《概率论与数理统计》《线性代数》,机器学习实战算法思想和算法实现可以帮助我们初步的了解这些算法,当我们想知道我什么要这样做的时候,其他三本书中的推导过程和数学原理基本能帮我们解惑。

转载于:https://www.cnblogs.com/NextNight/p/6032926.html

相关文章:

  • 【文智背后的奥秘】系列篇——基于CRF的人名识别
  • 【转】Maven实战(九)---模块聚合和继承
  • TCP系列47—拥塞控制—10、FACK下的快速恢复与PRR
  • webpack常用加载器和插件
  • Android Studio-导入External Libraries
  • Win7 + VS2015 + CMake3.6.1-GUI + Makefile 编译开源库
  • [工具]利用EasyRTSPClient工具检查摄像机RTSP流不能播放原因以及排查音视频数据无法播放问题...
  • web前端:css基本操作
  • DUILIB圆形头象
  • #include
  • The content of element type configuration must match (properties?,settings?,typeAliases?,typeHa...
  • xCode8支持iOS7.0
  • C#跨窗体传值的几种方法分析(很详细)
  • 数据结构:二叉树的链式存储
  • 用正则表示式分析网页
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • crontab执行失败的多种原因
  • CSS魔法堂:Absolute Positioning就这个样
  • Electron入门介绍
  • Idea+maven+scala构建包并在spark on yarn 运行
  • IndexedDB
  • Laravel5.4 Queues队列学习
  • leetcode讲解--894. All Possible Full Binary Trees
  • OSS Web直传 (文件图片)
  • Protobuf3语言指南
  • XML已死 ?
  • 前端技术周刊 2019-02-11 Serverless
  • 使用common-codec进行md5加密
  • 《天龙八部3D》Unity技术方案揭秘
  • ###C语言程序设计-----C语言学习(3)#
  • ###项目技术发展史
  • #、%和$符号在OGNL表达式中经常出现
  • #DBA杂记1
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • $NOIp2018$劝退记
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (第27天)Oracle 数据泵转换分区表
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (七)理解angular中的module和injector,即依赖注入
  • (算法)前K大的和
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)ABI是什么
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (转载)利用webkit抓取动态网页和链接
  • ***检测工具之RKHunter AIDE
  • .Net 4.0并行库实用性演练
  • .NET CLR Hosting 简介
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET Reactor简单使用教程
  • .net 反编译_.net反编译的相关问题
  • .NET/C# 使用反射注册事件