热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度学习与机器学习,深度机器学习

本文的写作目的一方面是总结下自己的学习心得,另一方面是给那些想学习并且想从事算法工程师一点小小的参考,欢迎大家多多交流!基础想要入门机器学习,至少需要提前掌握以下两种技能必要的

本文的写作目的一方面是总结下自己的学习心得,另一方面是给那些想学习并且想从事算法工程师一点小小的参考,欢迎大家多多交流!

基础

想要入门机器学习,至少需要提前掌握以下两种技能

必要的数学知识。高等数学,线性代数,概率论,矩阵论,凸优化等基本的编程能力,推荐python语言(必要时需要学习C++或者jave)

当然,我相信大部分同学都有一定的数学基础,有些知识点忘了的话,也可以回头翻翻书。关于编程语言,这个也可以结合算法一起学习,也可以先了解编程语言的基础知识,再去学习算法。通过自己动手编程实现算法,既可以加深对算法的理解,也可以加强编程能力

学习资料

参考书籍

《数据挖掘导论》《机器学习实战》《统计学习方法》/《机器学习》《深度学习》《统计自然语言处理》/《推荐算法实战》《算法导论》

视频课件

sdfj机器学习课程斯坦福视频教程 cs231n、cs224d 学习路线

我是从从大四下学期开始,研究生面试完之后,正式接触机器学习这个领域,基本上是靠自学。学习路线是 基是从机器学习过渡到深度学习再过度到自然语言处理/推荐算法。

机器学习的学习路线

我自己的学习路线首先把《数据挖掘导论》简单的过了一遍,大概花了20天。了解了下该领域的一些基本概念,和常用的算法思想,对于不懂得地方,并没有过于纠结算法的细节其次,针对《机器学习实战》,系统的阅读了算法相关的实现代码,再回头翻《数据挖掘导论》加深对算法理论的理解。这两本书学习完之后至少可以达到对数据挖掘十大算法的算法思想非常的清楚,可以自己手动写数学公式去推导算法,了解超参数对算法影响。这个过程我大概是花了四个月。通过大量的实践(项目/比赛)加强编程能力和对算法的理解。同时也要密切关注相关的开源社区跃,很多基于python的第三方库,pandas、sklearn等也要必须掌握的

深度学习的学习路线

深度学习可以先把基本的CNN,RNN, GRU, LSTM等基本结构了解基础,这些都是构成神经网络的基本单元掌握一门深度学习框架,我自己是使用tensorflow,当然不同的公司用的框架不一样,据我了解的看,腾讯和创新工场用的tensorflow, 头条用的mxnet和tensorflow,当然有些公司自己造框架(百度的paddlepaddle)。学习深度学习的框架的原因主要就是借助框架搭建神经网络系统的学习cs224d或者是cs231n, 可以选其一,有精力可以都看看,我当时是花了一个寒假刷cs224d,来年春天又花了一个月把cs231n刷完了。这边刷不仅仅是把视频看完,还要把相关的课后习题做完。相信我,如果能系统的学习这个课程,算法功底绝对能更上一层楼。大量的实践(项目/比赛/实习),能实习就去实习,毕竟公司里面可以接触真实的业务场景,也有人可以带你。不行的话可以自己参加kaggle/天池的比赛 关于工作

说了这么多,其实最后都是想找个好工作,现在这个时代,所谓人工智能的黄金时代,算法工程师的起薪还是很高的。下面根据我自身的一些实习经历聊聊工作必要的一些技能吧。
我比较幸运,研一暑期的时候参加了义气的小笼包老师的Deecamp夏令营(今年好像也有,而且规模更大),认识了很多及其优秀的同学,当时是做了一个聊天机器人的项目,做了很多的工作。这段时间我成长很多,以前都是一个人闷头学,现在可以和优秀的人一起交流,自然收获很多。之后也就留在创新工场实习,后来去了头条,也在腾讯呆了一段时间。在一线二线互联网公司和创业公司都呆过, 体会了不同公司的企业文化,也对公司的用人要求(算法工程师)有个比较清楚的认识,总结如下:

hadoop、spark等工具的使用Linux常用命令自然语言处理/计算机视觉/推荐 至少一个方面比较熟悉python , C++/jave, 框架至少会使用一个 tensorflow/pytorch/mxnet数据库 Mysql/mongoDB/redis,至少会使用数据结构算法,这个可以刷leetcode,越多越好,优先easy和medium,hard有精力可以刷。我个人刷了快300道题目

掌握以上技能,再加上比较好的项目经历,找个实习是没问题的,当然有些公司可能会注重学历。一般硕士没啥问题,但我之前在头条实习的时候,也见到几个名校大三的学生…

最后,这是我的个人博客https://blog.csdn.net/john_xyz, 欢迎大家多多交流


推荐阅读
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • 在第七天的深度学习课程中,我们将重点探讨DGL框架的高级应用,特别是在官方文档指导下进行数据集的下载与预处理。通过详细的步骤说明和实用技巧,帮助读者高效地构建和优化图神经网络的数据管道。此外,我们还将介绍如何利用DGL提供的模块化工具,实现数据的快速加载和预处理,以提升模型训练的效率和准确性。 ... [详细]
  • python绘制拟合回归散点图_机器学习之利用Python进行简单线性回归分析
    前言:在利用机器学习方法进行数据分析时经常要了解变量的相关性,有时还需要对变量进行回归分析。本文首先对人工智能机器学习深度学习、相关分析因果分析回归分析 ... [详细]
  • 本文介绍了如何使用 Google Colab 的免费 GPU 资源进行深度学习应用开发。Google Colab 是一个无需配置即可使用的云端 Jupyter 笔记本环境,支持多种深度学习框架,并且提供免费的 GPU 计算资源。 ... [详细]
  • 处理POI导入Excel时遇到的数值单元格无法获取文本值问题
    在使用Apache POI库将数据从Excel导入到Java应用程序时,可能会遇到‘Cannot get a text value from a numeric cell’错误。本文将详细介绍该问题的原因及解决方案。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • ### 优化后的摘要本学习指南旨在帮助读者全面掌握 Bootstrap 前端框架的核心知识点与实战技巧。内容涵盖基础入门、核心功能和高级应用。第一章通过一个简单的“Hello World”示例,介绍 Bootstrap 的基本用法和快速上手方法。第二章深入探讨 Bootstrap 与 JSP 集成的细节,揭示两者结合的优势和应用场景。第三章则进一步讲解 Bootstrap 的高级特性,如响应式设计和组件定制,为开发者提供全方位的技术支持。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
author-avatar
小景森的童年
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有