社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

适合初学者的机器学习路线图

新机器视觉 • 11 月前 • 285 次点击  
本文来自于Ashu Jha,介绍了自己从0到学习机器学习的经历,作者指出:先编码、后理论,从项目开始,是最好的学习方式。
正文
我以项目为基础,重点放在项目上而不是理论上。这种"先编码,后理论"的方法帮助我以实用、亲身实践的方式学习机器学习。
当遇到问题时,我会寻找资源,了解它们。这种"边学边做"的方法使我的旅程实用且专注于职业目标。
到目前为止,我所有的实习都来自于我自己搭建的项目,而不仅仅是理论知识。展示真实的应用帮助我脱颖而出,证明以项目为先的方法是从理论过渡到实际影响的关键。

我的机器学习之旅的关键步骤

01.打好数学基础

并非所有机器学习职位都需要深厚的数学专业知识,尤其是在机器学习工程领域。
对于像我这样更倾向于工程而非研究的人来说,重点关注矩阵、微积分、概率和线性代数。

02.学习 Python 和核心库

Python 在机器学习中很重要,所以尽早掌握它是关键。我建议任何初学者都参加 Python 课程(像 FreeCodeCamp 的课程)来打好语法和核心概念的基础。
  • 核心库:熟悉关键的机器学习库
  • NumPy:对数值计算和数组操作非常重要
  • Pandas:用于数据操作和分析
  • Matplotlib & Seaborn:绘图工具及数据可视化分析
  • scikit-learn:用于实施算法、模型选择和评估的核心 ML 库

03.了解算法
  • 资源:机器学习入门书,对关键算法有清晰的介绍,不会感到不知所措
  • 动手编码:从头编写算法能够加深对实践的理解。
核心算法:
聚类:K-均值聚类,层次聚类
可视化和降维:PCA、t-SNE
异常检测:隔离森林, 局部离群因子
监督学习算法:
回归:线性回归和逻辑回归
分类: K 近邻(KNN)、决策树、随机森林、支持向量机(SVM)、梯度提升机(GBM)
模型评估和验证:
交叉验证
性能指标(准确率、精确度、召回率、F1 分数、MSE)

推荐资源:
斯坦福大学的机器学习课程非常棒,但可能会偏重于数学,所以开始时可能会感觉有些困难。一旦掌握了窍门,你就会获得很强的优势。
课程地址:https://www.bilibili.com/video/BV1JE411w7Ub/?spm_id_from=333.337.search-card.all.click&vd_source=49d02d485b633afbc7c0d3c49b072732)

书籍:《Python机器学习:基于PyTorch和Scikit-Learn》
图片

论文:《机器学习中的模型评估、模型选择和算法选择》(https://arxiv.org/abs/1811.12808)
其他:机器学习面试入门书 · MLIB(地址:https://huyenchip.com/ml-interviews-book/)

04.迈向更高层次:项目、竞赛和社区参与
项目: 部署、竞争、迭代
建立个人项目是关键的,但不要止于此。部署、公开它们,这样你可以获得宝贵的反馈并从现实世界的挑战中学习。
黑客马拉松、Kaggle 竞赛、多互动
黑客马拉松:迫使您在时间限制下实际应用机器学习,这可以提高技能并展示您的能力。
Kaggle:学习过去获胜的解决方案,从他人如何解决机器学习问题中学习。
互动:在 Twitter 上与机器学习爱好者联系,主动寻求反馈。导师可以引导您的旅程,提供洞见,开启新的大门。

05.部署技能:使项目可访问
部署项目对于弥合构建和共享 ML 应用程序之间的差距至关重要。
框架
Flask:用于通过 API 提供模型服务的轻量级框架。
Django:一个健壮的大型应用程序框架。
云服务:使用 AWS、Azure 或 GCP 等平台进行高效部署和扩展。
快速应用部署:Streamlit 和 FastAPI:快速应用部署和高性能 API 创建的理想选择。
容器:Docker 和 Kubernetes:用于部署中的容器化和编排的简化。

06.目标清晰度:ML 工程师 vs. ML 研究
了解你的职业目标很重要。如果你的目标是成为像我一样的机器学习工程师,请关注应用而不是深入理论。
何时深入研究“深度学习Deep Learning
从应用机器学习开始,建立坚实的基础,只有当你的项目需要时,才转向深度学习。
当你着手更复杂的项目,如处理文本、图像或识别复杂模式时,你会有探索深度学习方面的冲动。这种转变就像升级到一个更高级的工具包,可以更轻松地处理复杂的任务。
1. 从简单的神经网络开始
从创建基本神经网络开始,这是深度学习的基础。熟悉层、神经元以及它们如何协同工作来从数据中学习。一个有趣的入门项目是使用 MNIST 数据集建立数字分类器。这个项目可以帮助您了解数据如何流经网络,以及网络如何学会做出预测。
探索卷积神经网络和循环神经网络
卷积神经网络(CNN):非常适合与图像相关的任务,CNN 能够识别图像中的模式和特征。尝试对动物或物体的图像进行分类,看看 CNN 如何检测细节。
补充资料:CS231n:计算机视觉的深度学习(课程地址:https://www.bilibili.com/video/BV1nJ411z7fe/?spm_id_from=333.337.search-card.all.click&vd_source=49d02d485b633afbc7c0d3c49b072732)
递归神经网络(RNNs):非常适合处理序列数据,RNNs 可以很好地完成生成文本或情感分析等任务。一个简单的聊天机器人是了解 RNNs 如何掌握上下文的有趣方式。
文章 :
理解 LSTM 网络 (地址:https://colah.github.io/posts/2015-08-Understanding-LSTMs/)
PyTorch RNN 从头开始 (地址:https://jaketae.github.io/study/pytorch-rnn/)

2.使用迁移学习节省时间
从零开始学习深度学习可能需要花费大量时间。迁移学习可以让你先训练的模型适应您的需求,从而节省时间和精力。例如,使用像 ResNet 这样的预训练模型进行图像识别任务,可以快速获得出色的结果。
3. 进阶到专业模型
一旦你掌握了基础,你就可以探索更高级模型:
生成对抗网络(GANs):这些模型由两个网络组成,相互竞争以创造逼真的图像、独特的艺术作品甚至音乐。使用 GANs,您可以设计生成逼真的景观或原创艺术品的项目。
推荐书籍:《生成式深度学习》
图片

Transformers:Transformers就是革命性的。BERT 和 GPT 等模型中的T就是Transformers。如果你专注于文本类任务,这是你跨不过去的知识点。它们非常适合于聊天机器人、语言翻译和总结,使您的项目听起来更自然和具有背景意识。
视频:从头开始在 PyTorch 上编码 Transformer,并提供完整解释、训练和推理。
(地址:https://www.youtube.com/watch?v=ISNdQcPhsts&t=7449s)

Paper  
Attention Is All You Need(地址:https://arxiv.org/abs/1706.03762)
The Illustrated Transformer(地址:https://jalammar.github.io/illustrated-transformer/)
The Annotated Transformer by Harvard(地址:https://nlp.seas.harvard.edu/annotated-transformer/)
Thinking like Transformer(地址:https://srush.github.io/raspy/)

考虑其他先进技术
自编码器:非常适合清洁数据和发现模式。它们可以增强噪音图像或突出关键特征。Reinforcement Learning
强化学习:适用于通过实验学习构建模型,在机器人和基于策略的人工智能(如自动驾驶汽车)中很有用。
07.推荐阅读
深度学习 由 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 编著:一部全面涵盖深度学习概念的著作。
模式识别与机器学习 by Christopher M. Bishop:着重于机器学习中的统计技术。
使用 Python 的计算机视觉深度学习实用应用 by Adrian Rosebrock
最后
这个以项目为先、以代码为驱动的机器学习方法给我的学习和职业带来了巨大的回报。我希望这个路线图能为您提供一个结构化且灵活的路径,帮助你在机器学习的旅程中取得成功!

转自:Nona的AI笔记

本文仅用于学术分享,如有侵权,请联系台作删文处理





Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/186045