Py学习  »  机器学习算法

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

新机器视觉 • 1 周前 • 44 次点击  
本文来自于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
 
44 次点击