aibydoing-feedback
动手实战人工智能系列教程,希望从监督学习开始,带你入门机器学习和深度学习。我尝试剖析和推导每一个基础算法的原理,将数学过程写出来,同时基于 Python 代码对公式进行实现,做到公式和代码的一一对应。与此同时,我也会利用主流的开源框架重复同样的过程,帮助读者看出手动实现和主流框架实现之间的区别。
Stars: 53
AI By Doing is a hands-on artificial intelligence tutorial series that aims to help beginners understand the principles of machine learning and deep learning while providing practical applications. The content covers various supervised and unsupervised learning algorithms, machine learning engineering, deep learning fundamentals, frameworks like TensorFlow and PyTorch, and applications in computer vision and natural language processing. The tutorials are written in Jupyter Notebook format, combining theory, mathematical derivations, and Python code implementations to facilitate learning and understanding.
README:
我从 2015 年开始了解机器学习,最早从李航教授编写的《统计学习方法》入门,陆陆续续看了很多学习资料。在学习的过程中,我逐渐发现了一些痛点。
例如,很多由大学老师编写的书籍,偏理论研究,对于数学基础要求很高,对于初学者来说很难理解,同时缺少必要的代码实现。而部分由工程师编写的书,偏实践应用,往往只是介绍了一些工具和库的使用,而没有深入的讲解原理。另外,还有很多书籍都是在介绍算法的基础上,给出了一些代码例子,但是往往过程不完整,无法相互对应,理论和代码很割裂,同时读者很难复现。
入门机器学习的过程中,如果你只会调包,而不深入原理,可能连参数的作用都看不懂,更别说调参了。如果你只会理论,而不会实践,可能连最简单的模型都写不出来,学完似乎毫无实际用处。因此,我希望能够帮助你,既能够理解原理,又能够实践应用,学懂、吃透机器学习。
从 2018 年开始,我陆续使用 Jupyter Notebook 来编写这些内容。Jupyter Notebook 能够将文字和代码结合在一起,方便阅读和理解。同时,它也能够将代码和运行结果一起展示,方便读者实践和复现。
动手实战人工智能系列实验教程,希望从监督学习开始,带你入门机器学习和深度学习。我尝试剖析和推导每一个基础算法的原理,将数学过程写出来,同时基于 Python 代码对公式进行实现,做到公式和代码的一一对应。与此同时,我也会利用主流的开源框架重复同样的过程,帮助读者看出手动实现和主流框架实现之间的区别。
本内容默认你已经具备基础 Python 编程能力,同时学习过高等数学、线性代数、概率论等大学本科范围的数学知识。忘记了不用担心,会逐步帮助你记起来。当然,我也提供了《附录一:机器学习数学基础》和《附录二:机器学习常用工具》的内容供你参考。之所以放在附录中,原因是不建议你先复习或者学习这些内容,这会花费较多的时间,让你的耐心消磨殆尽。我建议你在学习的过程中,碰到不懂的地方,再去查阅这些内容。
学习本课程最好的方式是打开电脑动手实践,你也可以通过 Jupyter Notebook 把自己练习的代码和理解记录下来,形成自己的学习笔记。如果你只是浏览阅读,恐收效甚微。
目前,全文合计 97 章(421,112 字),仍在持续更新。希望在 AIGC 风靡的时代,由真人用心制作的内容能够帮助你更好地入门机器学习。
该作品由 huhuhang 创作,采用 署名-非商业性使用-禁止演绎 4.0 国际 许可协议分发。
同时,补充规则如下:
- 🚫 请勿克隆全站内容,建立类似站点;
- 🚫 请勿整理全站内容,分发成电子书;
- 🚫 请不要主动帮我「开源」全站内容;
我并不建议你转载,存档这些内容,这对于你真正学懂知识毫无帮助,而且会浪费你的时间。专注在学习本身,而不是收集。
监督学习:回归
- 1. 环境说明
- 2. 机器学习综述及示例
- 3. 线性回归实现与应用
- 4. 北京市住房价格预测
- 5. 多项式回归实现与应用
- 6. 比特币价格预测及绘图
- 7. 岭回归和 LASSO 回归实现
- 8. 使用矩阵计算岭回归系数
- 9. 回归模型评价与检验
- 10. 回归方法综合应用练习
监督学习:分类
- 11. 逻辑回归实现与应用
- 12. 梯度下降法实现与应用
- 13. K 近邻算法实现与应用
- 14. K 近邻回归算法实现与应用
- 15. 朴素贝叶斯实现及应用
- 16. 高斯分布函数实现及绘图
- 17. 分类模型评价方法
- 18. 支持向量机实现与应用
- 19. 支持向量机实现人像分类
- 20. 决策树实现与应用
- 21. 决策树模型参数优化及选择
- 22. 装袋和提升集成学习方法
- 23. 异质集成投票方法应用
- 24. 使用交叉验证快速选择模型
无监督学习:聚类
- 25. 划分聚类方法实现与应用
- 26. 使用 K-Means 完成图像压缩
- 27. 层次聚类方法实现与应用
- 28. 主成分分析原理及应用
- 29. 层次聚类应用及聚类树绘制
- 30. 密度聚类方法实现与应用
- 31. 密度聚类标记异常共享单车
- 32. 谱聚类及其他聚类方法应用
- 33. 常用聚类算法对比评估
无监督学习:关联规则
机器学习工程:模型部署和推理
- 40. 自动化机器学习综述
- 41. 自动化机器学习实践应用
- 42. AutoML 完成手写字符分类
- 43. 机器学习模型推理与部署
- 44. 蘑菇分类模型部署和推理
- 45. 机器学习模型动态增量训练
- 46. 在线学习及云端模型部署
深度学习原理:人工神经网络
深度学习框架:TensorFlow & PyTorch
- 50. TensorFlow 基础概念语法
- 51. TensorFlow 加州房价预测
- 52. TensorFlow 构建神经网络
- 53. TensorFlow 汽车评估分类
- 54. TensorFlow 高阶 API 使用
- 55. TensorFlow 时尚物品分类
- 56. PyTorch 基础概念语法
- 57. PyTorch 构建神经网络
- 58. PyTorch 实现线性回归
深度学习应用:计算机视觉
- 59. 卷积神经网络原理
- 60. 卷积神经网络构建
- 61. 构建 LeNet-5 Estimator
- 62. 图像分类原理与实践
- 63. 迁移学习完成动物分类
- 64. 生成对抗网络原理及构建
- 65. DCGAN 动漫人物图像生成
- 66. 自动编码器原理及构建
- 67. 卷积自动编码器图像去噪
- 68. 目标检测原理与实践
- 69. YOLO 图像目标检测应用
深度学习应用:自然语言处理
- 70. 循环神经网络原理
- 71. 循环神经网络构建
- 72. LSTM 预测股票价格
- 73. 文本分类原理与实践
- 74. 深度学习完成假新闻分类
- 75. 自然语言处理框架拓展
- 76. Google BERT 预训练技术
- 77. 神经机器翻译和对话系统
深度学习工程:模型部署和推理
- 78. 自动化深度学习综述
- 79. 自动化深度学习实践
- 80. 仙人掌航拍照片分类识别
- 81. 深度学习模型推理和部署
- 82. 构建图像分类推理服务
- 83. 深度学习云端服务实践
- 84. 云服务识别增值税发票
强化学习基础
如果你有任何学习上的疑问,可以在页面最下方评论区留言,和我一起讨论。我会抽空回复你的问题,也欢迎你回答其他人的问题。
任何内容都不可能完美无缺,如果你发现内容错误,笔误,代码错误,可以在评论区指出,我会尽快抽空确认和修正。
排序不分先后:
- 感谢 Cloudflare 提供的免费托管和 CDN 加速服务。
- 感谢 whyiug 对“自动微分 Autograd”小节的描述和示例代码进行修正。
- 感谢 阮一峰-科技爱好者周刊(第 295 期) 推荐。
- 感谢 03-18~03-24.老胡的周刊(第135期) 推荐。
如果你愿意参与内容的迭代更新和错误修正。请先在 GitHub 上提出新的 issue,并注明可以协助修订。我会确认后邀请你加入内容协作仓库。
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for aibydoing-feedback
Similar Open Source Tools
aibydoing-feedback
AI By Doing is a hands-on artificial intelligence tutorial series that aims to help beginners understand the principles of machine learning and deep learning while providing practical applications. The content covers various supervised and unsupervised learning algorithms, machine learning engineering, deep learning fundamentals, frameworks like TensorFlow and PyTorch, and applications in computer vision and natural language processing. The tutorials are written in Jupyter Notebook format, combining theory, mathematical derivations, and Python code implementations to facilitate learning and understanding.
llm-universe
This project is a tutorial on developing large model applications for novice developers. It aims to provide a comprehensive introduction to large model development, focusing on Alibaba Cloud servers and integrating personal knowledge assistant projects. The tutorial covers the following topics: 1. **Introduction to Large Models**: A simplified introduction for novice developers on what large models are, their characteristics, what LangChain is, and how to develop an LLM application. 2. **How to Call Large Model APIs**: This section introduces various methods for calling APIs of well-known domestic and foreign large model products, including calling native APIs, encapsulating them as LangChain LLMs, and encapsulating them as Fastapi calls. It also provides a unified encapsulation for various large model APIs, such as Baidu Wenxin, Xunfei Xinghuo, and Zh譜AI. 3. **Knowledge Base Construction**: Loading, processing, and vector database construction of different types of knowledge base documents. 4. **Building RAG Applications**: Integrating LLM into LangChain to build a retrieval question and answer chain, and deploying applications using Streamlit. 5. **Verification and Iteration**: How to implement verification and iteration in large model development, and common evaluation methods. The project consists of three main parts: 1. **Introduction to LLM Development**: A simplified version of V1 aims to help beginners get started with LLM development quickly and conveniently, understand the general process of LLM development, and build a simple demo. 2. **LLM Development Techniques**: More advanced LLM development techniques, including but not limited to: Prompt Engineering, processing of multiple types of source data, optimizing retrieval, recall ranking, Agent framework, etc. 3. **LLM Application Examples**: Introduce some successful open source cases, analyze the ideas, core concepts, and implementation frameworks of these application examples from the perspective of this course, and help beginners understand what kind of applications they can develop through LLM. Currently, the first part has been completed, and everyone is welcome to read and learn; the second and third parts are under creation. **Directory Structure Description**: requirements.txt: Installation dependencies in the official environment notebook: Notebook source code file docs: Markdown documentation file figures: Pictures data_base: Knowledge base source file used
erag
ERAG is an advanced system that combines lexical, semantic, text, and knowledge graph searches with conversation context to provide accurate and contextually relevant responses. This tool processes various document types, creates embeddings, builds knowledge graphs, and uses this information to answer user queries intelligently. It includes modules for interacting with web content, GitHub repositories, and performing exploratory data analysis using various language models.
CrewAI-Studio
CrewAI Studio is an application with a user-friendly interface for interacting with CrewAI, offering support for multiple platforms and various backend providers. It allows users to run crews in the background, export single-page apps, and use custom tools for APIs and file writing. The roadmap includes features like better import/export, human input, chat functionality, automatic crew creation, and multiuser environment support.
aiogram-django-template
Aiogram & Django API Template is a robust and secure Django template with advanced features like Docker integration, Celery for asynchronous tasks, Sentry for error tracking, Django Rest Framework for building APIs, and more. It provides scalability options, up-to-date dependencies, and integration with AWS S3 for storage. The template includes configuration guides for secrets, ports, performance tuning, application settings, CORS and CSRF settings, and database configuration. Security, scalability, and monitoring are emphasized for efficient Django API development.
Lidar_AI_Solution
Lidar AI Solution is a highly optimized repository for self-driving 3D lidar, providing solutions for sparse convolution, BEVFusion, CenterPoint, OSD, and Conversion. It includes CUDA and TensorRT implementations for various tasks such as 3D sparse convolution, BEVFusion, CenterPoint, PointPillars, V2XFusion, cuOSD, cuPCL, and YUV to RGB conversion. The repository offers easy-to-use solutions, high accuracy, low memory usage, and quantization options for different tasks related to self-driving technology.
llmchat
LLMChat is an all-in-one AI chat interface that supports multiple language models, offers a plugin library for enhanced functionality, enables web search capabilities, allows customization of AI assistants, provides text-to-speech conversion, ensures secure local data storage, and facilitates data import/export. It also includes features like knowledge spaces, prompt library, personalization, and can be installed as a Progressive Web App (PWA). The tech stack includes Next.js, TypeScript, Pglite, LangChain, Zustand, React Query, Supabase, Tailwind CSS, Framer Motion, Shadcn, and Tiptap. The roadmap includes upcoming features like speech-to-text and knowledge spaces.
comfyui-portrait-master
ComfyUI Portrait Master 3.1 is a tool designed to assist AI image creators in generating prompts for human portraits. The tool offers various modules for customizing character details such as base character, skin details, style & pose, and makeup. Users can control parameters like shot type, gender, age, ethnicity mix, body type, facial features, hair details, skin imperfections, and more to create unique portrait prompts. The tool aims to enhance photorealism and provide a user-friendly interface for generating portrait prompts efficiently.
forge
Forge is a free and open-source digital collectible card game (CCG) engine written in Java. It is designed to be easy to use and extend, and it comes with a variety of features that make it a great choice for developers who want to create their own CCGs. Forge is used by a number of popular CCGs, including Ascension, Dominion, and Thunderstone.
Caissa
Caissa is a strong, UCI command-line chess engine optimized for regular chess, FRC, and DFRC. It features its own neural network trained with self-play games, supports various UCI options, and provides different EXE versions for different CPU architectures. The engine uses advanced search algorithms, neural network evaluation, and endgame tablebases. It offers outstanding performance in ultra-short games and is written in C++ with modules for backend, frontend, and utilities like neural network trainer and self-play data generator.
J.A.R.V.I.S.-Ai-Assistant-V1-
Jarvis Version 3 is a versatile personal assistant application designed to enhance productivity by automating common tasks. It can interact with websites and applications, perform searches, manage device functions, and control music. Users can give commands to open websites, search on Google or YouTube, scroll pages, manage applications, check time, internet speed, battery percentage, battery alerts, charging status, play music, and synchronize clapping with music. The tool offers features for web navigation, search functionality, scrolling, application management, device management, and music control.
AI-GAL
AI-GAL is a tool that offers a visual GUI for easier configuration file editing, branch selection mode for content generation, and bug fixes. Users can configure settings in config.ini, utilize cloud-based AI drawing and voice modes, set themes for script generation, and enjoy a wallpaper. Prior to usage, ensure a 4GB+ GPU, chatgpt key or local LLM deployment, and installation of stable diffusion, gpt-sovits, and rembg. To start, fill out the config.ini file and run necessary APIs. Restart a storyline by clearing story.txt in the game directory. Encounter errors? Copy the log.txt details and send them for assistance.
Linguflex
Linguflex is a project that aims to simulate engaging, authentic, human-like interaction with AI personalities. It offers voice-based conversation with custom characters, alongside an array of practical features such as controlling smart home devices, playing music, searching the internet, fetching emails, displaying current weather information and news, assisting in scheduling, and searching or generating images.
llm_benchmarks
llm_benchmarks is a collection of benchmarks and datasets for evaluating Large Language Models (LLMs). It includes various tasks and datasets to assess LLMs' knowledge, reasoning, language understanding, and conversational abilities. The repository aims to provide comprehensive evaluation resources for LLMs across different domains and applications, such as education, healthcare, content moderation, coding, and conversational AI. Researchers and developers can leverage these benchmarks to test and improve the performance of LLMs in various real-world scenarios.
CHATPGT-MEV-BOT
The 𝓜𝓔𝓥-𝓑𝓞𝓣 is a revolutionary tool that empowers users to maximize their ETH earnings through advanced slippage techniques within the Ethereum ecosystem. Its user-centric design, optimized earning mechanism, and comprehensive security measures make it an indispensable tool for traders seeking to enhance their crypto trading strategies. With its current free access, there's no better time to explore the 𝓜𝓔𝓥-𝓑𝓞𝓣's capabilities and witness the transformative impact it can have on your crypto trading journey.
llm-cookbook
LLM Cookbook is a developer-oriented comprehensive guide focusing on LLM for Chinese developers. It covers various aspects from Prompt Engineering to RAG development and model fine-tuning, providing guidance on how to learn and get started with LLM projects in a way suitable for Chinese learners. The project translates and reproduces 11 courses from Professor Andrew Ng's large model series, categorizing them for beginners to systematically learn essential skills and concepts before exploring specific interests. It encourages developers to contribute by replicating unreproduced courses following the format and submitting PRs for review and merging. The project aims to help developers grasp a wide range of skills and concepts related to LLM development, offering both online reading and PDF versions for easy access and learning.
For similar tasks
AiTreasureBox
AiTreasureBox is a versatile AI tool that provides a collection of pre-trained models and algorithms for various machine learning tasks. It simplifies the process of implementing AI solutions by offering ready-to-use components that can be easily integrated into projects. With AiTreasureBox, users can quickly prototype and deploy AI applications without the need for extensive knowledge in machine learning or deep learning. The tool covers a wide range of tasks such as image classification, text generation, sentiment analysis, object detection, and more. It is designed to be user-friendly and accessible to both beginners and experienced developers, making AI development more efficient and accessible to a wider audience.
InternVL
InternVL scales up the ViT to _**6B parameters**_ and aligns it with LLM. It is a vision-language foundation model that can perform various tasks, including: **Visual Perception** - Linear-Probe Image Classification - Semantic Segmentation - Zero-Shot Image Classification - Multilingual Zero-Shot Image Classification - Zero-Shot Video Classification **Cross-Modal Retrieval** - English Zero-Shot Image-Text Retrieval - Chinese Zero-Shot Image-Text Retrieval - Multilingual Zero-Shot Image-Text Retrieval on XTD **Multimodal Dialogue** - Zero-Shot Image Captioning - Multimodal Benchmarks with Frozen LLM - Multimodal Benchmarks with Trainable LLM - Tiny LVLM InternVL has been shown to achieve state-of-the-art results on a variety of benchmarks. For example, on the MMMU image classification benchmark, InternVL achieves a top-1 accuracy of 51.6%, which is higher than GPT-4V and Gemini Pro. On the DocVQA question answering benchmark, InternVL achieves a score of 82.2%, which is also higher than GPT-4V and Gemini Pro. InternVL is open-sourced and available on Hugging Face. It can be used for a variety of applications, including image classification, object detection, semantic segmentation, image captioning, and question answering.
clarifai-python
The Clarifai Python SDK offers a comprehensive set of tools to integrate Clarifai's AI platform to leverage computer vision capabilities like classification , detection ,segementation and natural language capabilities like classification , summarisation , generation , Q&A ,etc into your applications. With just a few lines of code, you can leverage cutting-edge artificial intelligence to unlock valuable insights from visual and textual content.
X-AnyLabeling
X-AnyLabeling is a robust annotation tool that seamlessly incorporates an AI inference engine alongside an array of sophisticated features. Tailored for practical applications, it is committed to delivering comprehensive, industrial-grade solutions for image data engineers. This tool excels in swiftly and automatically executing annotations across diverse and intricate tasks.
ailia-models
The collection of pre-trained, state-of-the-art AI models. ailia SDK is a self-contained, cross-platform, high-speed inference SDK for AI. The ailia SDK provides a consistent C++ API across Windows, Mac, Linux, iOS, Android, Jetson, and Raspberry Pi platforms. It also supports Unity (C#), Python, Rust, Flutter(Dart) and JNI for efficient AI implementation. The ailia SDK makes extensive use of the GPU through Vulkan and Metal to enable accelerated computing. # Supported models 323 models as of April 8th, 2024
edenai-apis
Eden AI aims to simplify the use and deployment of AI technologies by providing a unique API that connects to all the best AI engines. With the rise of **AI as a Service** , a lot of companies provide off-the-shelf trained models that you can access directly through an API. These companies are either the tech giants (Google, Microsoft , Amazon) or other smaller, more specialized companies, and there are hundreds of them. Some of the most known are : DeepL (translation), OpenAI (text and image analysis), AssemblyAI (speech analysis). There are **hundreds of companies** doing that. We're regrouping the best ones **in one place** !
NanoLLM
NanoLLM is a tool designed for optimized local inference for Large Language Models (LLMs) using HuggingFace-like APIs. It supports quantization, vision/language models, multimodal agents, speech, vector DB, and RAG. The tool aims to provide efficient and effective processing for LLMs on local devices, enhancing performance and usability for various AI applications.
open-ai
Open AI is a powerful tool for artificial intelligence research and development. It provides a wide range of machine learning models and algorithms, making it easier for developers to create innovative AI applications. With Open AI, users can explore cutting-edge technologies such as natural language processing, computer vision, and reinforcement learning. The platform offers a user-friendly interface and comprehensive documentation to support users in building and deploying AI solutions. Whether you are a beginner or an experienced AI practitioner, Open AI offers the tools and resources you need to accelerate your AI projects and stay ahead in the rapidly evolving field of artificial intelligence.
For similar jobs
NanoLLM
NanoLLM is a tool designed for optimized local inference for Large Language Models (LLMs) using HuggingFace-like APIs. It supports quantization, vision/language models, multimodal agents, speech, vector DB, and RAG. The tool aims to provide efficient and effective processing for LLMs on local devices, enhancing performance and usability for various AI applications.
mslearn-ai-fundamentals
This repository contains materials for the Microsoft Learn AI Fundamentals module. It covers the basics of artificial intelligence, machine learning, and data science. The content includes hands-on labs, interactive learning modules, and assessments to help learners understand key concepts and techniques in AI. Whether you are new to AI or looking to expand your knowledge, this module provides a comprehensive introduction to the fundamentals of AI.
awesome-ai-tools
Awesome AI Tools is a curated list of popular tools and resources for artificial intelligence enthusiasts. It includes a wide range of tools such as machine learning libraries, deep learning frameworks, data visualization tools, and natural language processing resources. Whether you are a beginner or an experienced AI practitioner, this repository aims to provide you with a comprehensive collection of tools to enhance your AI projects and research. Explore the list to discover new tools, stay updated with the latest advancements in AI technology, and find the right resources to support your AI endeavors.
go2coding.github.io
The go2coding.github.io repository is a collection of resources for AI enthusiasts, providing information on AI products, open-source projects, AI learning websites, and AI learning frameworks. It aims to help users stay updated on industry trends, learn from community projects, access learning resources, and understand and choose AI frameworks. The repository also includes instructions for local and external deployment of the project as a static website, with details on domain registration, hosting services, uploading static web pages, configuring domain resolution, and a visual guide to the AI tool navigation website. Additionally, it offers a platform for AI knowledge exchange through a QQ group and promotes AI tools through a WeChat public account.
AI-Notes
AI-Notes is a repository dedicated to practical applications of artificial intelligence and deep learning. It covers concepts such as data mining, machine learning, natural language processing, and AI. The repository contains Jupyter Notebook examples for hands-on learning and experimentation. It explores the development stages of AI, from narrow artificial intelligence to general artificial intelligence and superintelligence. The content delves into machine learning algorithms, deep learning techniques, and the impact of AI on various industries like autonomous driving and healthcare. The repository aims to provide a comprehensive understanding of AI technologies and their real-world applications.
promptpanel
Prompt Panel is a tool designed to accelerate the adoption of AI agents by providing a platform where users can run large language models across any inference provider, create custom agent plugins, and use their own data safely. The tool allows users to break free from walled-gardens and have full control over their models, conversations, and logic. With Prompt Panel, users can pair their data with any language model, online or offline, and customize the system to meet their unique business needs without any restrictions.
ai-demos
The 'ai-demos' repository is a collection of example code from presentations focusing on building with AI and LLMs. It serves as a resource for developers looking to explore practical applications of artificial intelligence in their projects. The code snippets showcase various techniques and approaches to leverage AI technologies effectively. The repository aims to inspire and educate developers on integrating AI solutions into their applications.
ai_summer
AI Summer is a repository focused on providing workshops and resources for developing foundational skills in generative AI models and transformer models. The repository offers practical applications for inferencing and training, with a specific emphasis on understanding and utilizing advanced AI chat models like BingGPT. Participants are encouraged to engage in interactive programming environments, decide on projects to work on, and actively participate in discussions and breakout rooms. The workshops cover topics such as generative AI models, retrieval-augmented generation, building AI solutions, and fine-tuning models. The goal is to equip individuals with the necessary skills to work with AI technologies effectively and securely, both locally and in the cloud.