【兔子王赠书第7期】机器学习与人工智能实战:基于业务场景的工程应用

news2025/1/8 13:21:19

文章目录

  • 写在前面
  • 机器学习
  • 推荐图书
  • 写给读者
    • 前言
    • 本书面向的读者
    • 我为什么要写这本书
    • 运行本书的示例代码
    • 本书导航
    • 本书采用的约定
    • 使用代码示例
  • 推荐理由
  • 粉丝福利
  • 写在后面

写在前面

新的一周开始啦,本周博主给大家带来《机器学习与人工智能实战:基于业务场景的工程应用》,感兴趣的小伙伴快来看看吧!

机器学习

下面是一个使用Python实现简单线性回归模型的代码示例:

import numpy as np
import matplotlib.pyplot as plt

class SimpleLinearRegression:
    def __init__(self, learning_rate=0.01, iterations=1000):
        self.learning_rate = learning_rate
        self.iterations = iterations
        self.weights = None
        self.bias = None
        self.costs = []

    def fit(self, X, y):
        n_samples, n_features = X.shape
        
        self.weights = np.zeros(n_features)
        self.bias = 0
        
        for i in range(self.iterations):
            y_pred = np.dot(X, self.weights) + self.bias
            cost = (1 / n_samples) * np.sum((y_pred - y) ** 2)
            self.costs.append(cost)
            
            dw = (2 / n_samples) * np.dot(X.T, (y_pred - y))
            db = (2 / n_samples) * np.sum(y_pred - y)
            
            self.weights -= self.learning_rate * dw
            self.bias -= self.learning_rate * db

    def predict(self, X):
        y_pred = np.dot(X, self.weights) + self.bias
        return y_pred

# 使用样本数据演示简单线性回归模型
X = np.array([[1], [2], [3], [4], [5]])
y = np.array([3, 5, 7, 9, 11])

# 创建模型实例并进行训练
regressor = SimpleLinearRegression()
regressor.fit(X, y)

# 使用模型进行预测
y_pred = regressor.predict(X)

# 绘制训练数据和拟合线性回归模型的图像
plt.scatter(X, y)
plt.plot(X, y_pred, color='red')
plt.show()

线性回归

在上面的代码中,SimpleLinearRegression类是我们实现的简单线性回归模型。在fit方法中,我们使用最小二乘法进行训练,计算出最佳拟合直线的权重和偏置项。在predict方法中,我们使用这些权重和偏置项来预测新的未知数据。

在上述代码中,我们使用了一个简单的样例数据集,其中包含5个样本。我们绘制了这些数据及其线性拟合的模型,可以看到模型可以很好地拟合训练数据。

推荐图书

《机器学习与人工智能实战:基于业务场景的工程应用》

京东直达链接:https://item.jd.com/14101696.html

机器学习

写给读者

前言

我的一生见证过三次伟大的技术革命,先后是是个人电脑、互联网和智能手机。机器学习(ML)和人工智能(AI)的重要性与这三者比肩,并将对我们的生活产生同样深刻的影响。

记得有一天,信用卡公司打电话给我,向我确认我是不是要购买一条价值700 美元的项链。打那天起,我就对机器学习产生了兴趣。虽然并不是我要买,但我很好奇:“他们是怎么知道那可能不是我的呢?”我在世界各地都使用信用卡,而且要说明的是,我确实会时不时地给我的妻子买些好东西。信用卡公司从没拒绝过合法的刷卡交易,但有几次他们正确标记了信用卡诈骗。此前有一次是巴西某个家伙试图盗刷我的信用卡买机票。这一次不同的是,那家珠宝店距离我家只有2 英里。我试着想象,到底是一种怎样的算法可以在商店里如此靠谱地检测到信用卡欺诈盗刷。没过多久,我就意识到有种东西比单纯的算法更强大,是它在发挥作用。

事实证明,信用卡公司用了一个复杂的机器学习模型来运行每一笔交易,这个模型非常善于检测欺诈行为。有了这个意识之后,我的生活发生了变化,因为这个例子很有说服力,证明ML 和AI 可以使世界变得更美好。此外,了解ML 如何实时分析信用卡交易和筛选出非法交易的同时对合法交易开绿灯,成为我接下来注定要登顶的高峰。

本书面向的读者

最近,我接到某制造公司某位工程主管的电话。他是这样说的:“直到上周,我都不知道ML 和AI 是啥意思。现在,CEO 给我布置了任务,要我弄清楚它们如何赋能我们的业务,而且还要领先于竞争对手之前做到这一点。我现在要从头开始。你能帮忙吗?”

下一通电话来自一家想要使用机器学习来检测税务欺诈和洗钱行为的政府外包公司。团队对机器学习理论相当精通,但不知道如何以最好的方式建立可以满足其需要的模型。

全球各地的专业人士都意识到,ML 和AI 代表着一场技术海啸,他们试图抢占风口浪尖以免被吞没。本书就是为这些人准备的,他们包括工程师、软件开发人员、IT经理以及其他相关人员。他们想要实际理解ML 和AI 并应用这些知识来解决以前难以甚至不可能解决的问题。本书试图传达一种直观的理解,所以只有在必要时才“祭出”公式。无论你以前有没有听过,但你真的不必成为精通微积分或线性代数的高手,大多数人都能建一个系统来识别照片中的物体(对象或目标),将英语翻译成法语,或者爆光贩毒的人和偷税漏税的人。

我为什么要写这本书

每个作者的内心深处都住着一个小精灵,它让他们知道他们可以用别人不会的方式讲故事。我在30 多年前写了第一本计算机书,20 多年前写了最后一本,原本并不打算再写的。但现在我要讲一个故事。这个故事很重要,每个工程师和软件开发人员都应该听听。我对别人讲这个故事的方式不是完全满意,所以就写了这本书,我希望自己当初学习ML 和AI 时能够有这本书。它从基础知识开始,

带领大家攀登ML 和AI 世界中一座又一座的高峰。最后,让大家明白种种奥秘:信用卡公司如何检测欺诈行为?航空公司如何通过机器学习对喷气发动机进行预测性维护?自动驾驶汽车如何看周围的世界?谷歌翻译如何把文字翻译为另一种语言?面部识别系统如何工作?此外,你还能自己动手构建一个类似的系统或者使用现有的系统,将AI集成到自己写的应用程序中。

如今,最先进的机器学习模型需要在配备图形处理单元(GPU)或张量处理单元(TPU)的计算机上进行训练,而这通常要花费大量时间和费用。本书的一个特点是提供一些例子,这些例子能在没有配备GPU 的普通PC 或笔记本电脑上构建。在讲到识别照片中目标的计算机视觉模型时,我会解释这种模型是如何工作的以及它们如何在GPU 集群上用数以百万计的图像进行训练。但我随后会向大家展示如何使用迁移学习这种技术来重用现有模型以解决领域特有的问题,并在普通的笔记本电脑上训练模型。

本书在很大程度上取材于我在世界各地的公司和研究机构上过的课程和做过的研讨,我喜欢当老师,因为我喜欢看到有人眼里发光,从中得到了启发。在ML 和AI 的课程开始时我经常会说:“我不是来教书的,我是来改变你们的人生的!”希望你们的人生会从读这本书开始变得有一点点不同,有一点点好。

运行本书的示例代码

作为工程师,最好通过动手实践来学习新东西,而不仅仅是读书。本书包含大量代码示例,你可以通过运行这些例子来巩固每一章所学的知识。这些例子中,大多数是用Python 来写的,使用的是流行的开源库,例如Scikit-Learn、Keras 和TensorFlow。所有这些都可以在我专门建的一个GitHub 公共存储库中找到(https://oreil.ly/applied-machine-learning-code)。这是所有代码示例的唯一来源,我会随时保持更新。

有一些机器学习平台允许在不写代码的情况下构建和训练模型。但要想了解这些平台能做什么以及具体如何做,建议你最好还是写写代码。Python 是一种简单的编程语言。很容易学。今天的工程师必须会写代码。你可以通过本书的例子来学习Python,如果已经掌握了Python(以及更常规意义上的编程),那么说明你其实已经领先别人一步了。

若是要在台式计算机或笔记本电脑上运行我在书中提供的例子,则需要安装64 位的Python 3.7 或更高版本。可以从Python.org 下载一个Python 运行时或者可以安装一个Python 发行版,例如Anaconda(https://oreil.ly/4NCqN)。另外,还需要确保已经安装了以下软件包及其依赖项:

  • 用于构建机器学习模型的Scikit-Learn 和TensorFlow
  • 用于数据处理和可视化的Pandas、Matplotlib 和Seaborn
  • 用于图像处理的OpenCV 和Pillow
  • 用于调用REST API 和构建网络服务的Flask 和Requests
  • 用于开放神经网络交换( Open Neural Network Exchange,ONNX)模型的Sklearn-onnx 和Onnxruntime
  • 用于从音频文件生成频谱图的Librosa
  • 用于构建面部识别系统的MTCNN 和Keras-vggface
  • 用于构建自然语言处理(Natural Language Processing,NLP)模型的KerasNLP、Transformers、Datasets 和PyTorch
  • 用于调用Azure 认知服务(Azure Cognitive Services) 的Azurecognitiveservices-
    vision-computervision、Azure-ai-textanalytics 和Azurecognitiveservices-speech。

可以用 pip install 命令来安装其中大多数包。如果安装了 Anaconda,就表明其中许多包已经安装好了,可以用conda install 命令或类似的命令来安装其余的包。

至于环境,最好是用虚拟Python 环境来防止安装的这些包与其他包发生冲突。如果不熟悉虚拟环境,则可以在 Python.org 上阅读它们的相关信息。如果使用的是Anaconda,那么说明虚拟环境已经就位了。

我的大部分代码示例是为Jupyter 笔记本(Jupyter notebooks)构建的,后者为编写和执行Python 代码提供了一个交互平台。数据科学界经常使用“笔记本”来探索数据和训练机器学习模型。可以通过安装Notebook(https://oreil.ly/ZWQyG)或JupyterLab(https://oreil.ly/5A3Ia)等包在本地运行Jupyter 笔记本,也可以使用Google Colab(https://oreil.ly/RdRBa)等云托管环境。Colab 的优点是不必在自己的电脑上安装任何东西,就连Python 都不用。而且,在我的例子要求GPU的罕见情况下,Colab 也能为你提供GPU。

Python 开发环境难以设置和维护是出了名的,尤其是在Windows 电脑上。如果不想创建这样的环境,或者尝试过但没成功,那么下载一个东西就可以了。我在Docker容器镜像(https://oreil.ly/wzEbA)中打包了一个完整的开发环境,适合运行本书中的所有例子。如果你的电脑上安装了Docker 引擎(https://oreil.ly/XO5GD),那么可以用以下命令启动容器:
docker run -it -p 8888:8888 jeffpro/applied-machine-learning:latest
然后,在浏览器中访问输出结果中显示的URL,就会进入一个完整的Jupyter 环境,里面有我所有的代码示例和运行它们所需的一切。它们存储在一个文件夹中(名为Applied-Machine-Learning),该文件夹是从同名GitHub 存储库中克隆的。不过,使用容器有一个缺点,即所做的更改默认不会保存。补救办法之一是在docker 命令中使用-v 开关,从而绑定到一个本地目录。详情可以参考Docker 文档中的“绑定挂载”(https://oreil.ly/7wgda)。

本书导航

本书分为两部分。

  • 第I部分(第1章~第7章)讲解机器学习的基础知识,介绍流行的机器学习算法,比如逻辑回归和梯度提升。
  • 第II 部分(第8 章~第14 章)讨论深度学习。作为今天人工智能的代名词,它使用了深度神经网络来实现数学模型和数据拟合。

强烈建议在阅读本书时动手练习,以便能对这些内容有更深刻的理解,进而开始思考如何修改我在书中提供的代码,玩一玩“假如…?”(what if?)游戏。

本书采用的约定

本书采用了以下排版约定:
等宽字体(Constant width)
代码清单和段落中出现的程序元素(例如变量、函数、数据库、数据类型、环境变量、语句和关键字等)使用等宽代码字体。例如,from skl2onnx import convert_sklearn
等宽粗体(Constant width bold)
要由用户亲自输入的命令或其他字面值使用加粗的等宽字体。例如,请输入abc
这个视觉元素代表提示或建议
这个视觉元素代表常规的注意事项
这个视觉元素代表警告或提醒

使用代码示例

如前所述,本书的补充材料(代码实例、练习等)可以从https://oreil.ly/appliedmachine-learning-code 下载。

如果有技术问题或者在使用代码示例时遇到问题,请电邮至bookquestions@oreilly.com。

本书的目的是帮助大家完成自己的工作。一般来说,如果书中提供了示例代码,那么你可以在自己的程序和文档中使用。不需要联系我们获得许可,除非要复制代码的很大一部分。例如,写一个用到了本书几处代码的程序不需要许可。销售或分发O’Reilly 书中的示例则需要。引用本书正文和示例代码来回答一个问题不需要许可。将本书大量示例代码纳入你的产品文档,则需要许可。

我们感谢但一般不强求署名。如果要署名,通常应该包括标题、作者、出版商和ISBN。例如,Applied Machine Learning and AI for Engineers by Jeff Prosise(O’Reilly)。Copyright 2023 Jeff Prosise , 978-1-492-09805-8。

如果觉得对代码示例的使用超出了合理使用或上述许可的范畴,请随时联系我们:
permissions@oreilly.com。

推荐理由

《机器学习与人工智能实战:基于业务场景的工程应用》是一本非常实用的机器学习和人工智能方面的实战指南。这本书的推荐理由有以下几点:

  1. 丰富的实战案例:本书通过多个实际应用场景的案例,详细阐述了机器学习和人工智能的理论和应用,并给出了相应的代码实例,读者可以通过模仿这些实例来掌握机器学习和人工智能的实际应用。

  2. 专业的知识点讲解:本书通过对机器学习、深度学习、自然语言处理等方面的专业讲解,使读者能够深入了解这些技术的内部原理和工作机制。

  3. 实用的工具介绍:本书还介绍了一些常用的机器学习和人工智能工具和库,如Python、TensorFlow、Keras等,这些工具的介绍可以帮助读者更好地理解和应用这些技术。

  4. 面向实战的编程技巧:本书还介绍了一些面向实战的编程技巧,如数据清洗、特征工程、模型评估等,这些技巧可以帮助读者更好地解决实际业务问题。

  5. 深入浅出的讲解方式:本书的讲解方式非常深入浅出,循序渐进地给出了机器学习和人工智能的相关知识,并没有过多地使用专业术语和数学公式,使得读者可以更轻松地理解和掌握这些技术。

总之,《机器学习与人工智能实战:基于业务场景的工程应用》是一本非常实用的机器学习和人工智能方面的实战指南,适合想要了解和应用机器学习和人工智能的读者阅读。

粉丝福利

Part 1:

  • 现在 点赞收藏评论 “人生苦短,python当歌”
  • 评论区将随机抽取至多 五名 小伙伴 免费 赠书一本

Part 2:

  • 现在关注文末公众号并回复抽奖 ,即可增加中奖概率哦

截止日期:2023年11月20日

写在后面

跟着兔子王学python,就选《机器学习与人工智能实战:基于业务场景的工程应用》!

书

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1204049.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言ZZULIOJ1149:组合三位数之二

题目描述 把1,2,3,4,5,6,7,8,9,组成三个三位数(每个数只能用一次),第二个数是第一个数的2倍,第三个数是第一个数的3倍,这三…

Autosar模块介绍:Memory_5(FEE-Flash模拟EE)

上一篇 | 返回主目录 | 下一篇 Autosar模块介绍:Memory_5(FEE-Flash模拟EE 1 基本术语解释2 Fee组成结构图3 Fee基本操作3.1 寻址方式和段划分3.2 地址计算3.3 擦除循环限制3.4 处理立即数据3.5 管理块的正确信息 4 Fee常用操作时序4.1 Fee_Init4.2 Fee_SetMode4.…

如何在OpenWrt上部署uhttpd搭建web服务器,并实现公网远程访问

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

【Python 算法】双向迪杰斯特拉算法 Python实现

双向迪杰斯特拉算法Python实现 文章目录 双向迪杰斯特拉算法Python实现简介双向迪杰斯特拉算法优势局限性算法的基本步骤终止条件 基本步骤伪代码Python 实现 简介 双向迪杰斯特拉算法(Bi Directional Dijkstra Algorithm)是一种用于在加权图中查找两个…

6 Spring循环依赖

什么是循环依赖? // A依赖了B class A{ public B b; } // B依赖了A class B{ public A a; } 如果不考虑Spring,循环依赖并不是问题,因为对象之间相互依赖是很正常的事情 A a new A(); B b new B(); a.b b; b.a a; 这样,A&a…

初认识vue,v-for,v-if,v-bind,v-model,v-html等指令

vue 一.vue3介绍 1.为什么data是函数而不是对象? 因为vue是组件开发,组件会多次复用,data如果是对象,多次复用是共享,必须函数返回一个新的对象 1. 官网初识 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS …

stm32控制舵机sg90

一、sg90简介 首先介绍说一下什么是舵机。舵机是一种位置(角度)伺服的驱动器。适用于一些需要角度不断变化的,可以保持的控制系统。sg90就是舵机的一种。 舵机的工作原理比较简单。舵机内部有一个基准电压,单片机产生的PWM信号通…

postswigger 靶场(CSRF)攻略-- 3.令牌验证

靶场地址: https://portswigger.net/web-security/csrf 令牌(token) 验证取决于令牌(token) 的存在 题目中已告知易受攻击的是电子邮件的更改功能,而目标是利用 csrf 漏洞更改受害者的电子邮件地址,最后给出了登录凭据:wiener:pet…

接口优化技巧,确实很优雅

针对疫情影响企业收入资源短缺一些老项目,做了许多降本增效的事情,其中发现最多的就是接口耗时过长的问题,就集中搞了一次接口性能优化。 二、接口优化方案执行 1、批处理 批量思想:批量操作数据库,项目往往有需要批量插入操作,比如商品,品格,价格等,可以在批处理执…

计算机毕业设计 基于Vue篮球联盟管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

YOLO的bounding boxes

YOLO使用了 77 网格 (SS)、2 个bounding boxes (B2) 和 20 个类别 ©。 1.YOLO将输入的图片resize成448 x 448,并且为 S x S(S 7)个grid,如果物体的中心落入该grid中,那么该grid就需要负责检测该物体。 2.对于每…

行业寒冬下,给软件测试工程师or功能测试的一些建议

​行业寒冬下,给软件测试工程师的一些建议 【文章末尾给大家留下了大量的福利】 国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高,超过…

No191.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

时钟丢失监控机制

文章目录 前言一、分析芯片手册1、6.2.4 Clock monitoring2、28.1.5 System clock and clock monitor requirement3、分析寄存器1) SCG_SOSCCSR[SOSCCM]2) SCG_SOSCCSR[SOSCCMRE] 二、EB配置1、检查复位源2、配置时钟监控 三、结果验证总结 前言 本文章主要基于恩智浦 S32K14x…

【代码随想录】算法训练计划20

1、654. 最大二叉树 题目: 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建…

LEEDCODE 75颜色分类

耍赖皮写法 嘻嘻 class Solution { public:void sortColors(vector<int>& nums) {int count1 0;int count2 0;int count3 0;for(int i 0; i<nums.size(); i){if(nums[i] 0)count1 1;else if(nums[i] 1)count2 1;else count3 1;}for(int i 0; i<nu…

如何使用内网穿透实现远程公网访问windows node.js的服务端

使用Nodejs搭建简单的web网页并实现公网访问 前言 Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架。 Node.js自带运行时环境可在Javascript脚本的基础上可以解释和执行(这类似于JVM的Java字节码)。这个运行时允许在浏览器以外的任何机器上执行JavaScri…

达索系统3DEXPERIENCE WORKS 2024流体仿真功能增强

设计工作中&#xff0c;网格划分和设计验证十分重要&#xff0c;它可以方便我们把复杂组件简单化处理&#xff0c;从而提升工作效率。 轻松应对&#xff0c;精准划分 在优化设计以获得更好的空气动力学性能时&#xff0c;需要了解空气在其周围产生的流动方式。达索系统3DEXPE…

真心建议测试工程师学完Pytest框架实战,跳槽必备,学完能涨薪5k

【文章末尾给大家留下了大量的福利】 应用场景&#xff1a; pytest 框架可以解决我们多个测试脚本一起执行的问题。 它提供了测试用例的详细失败信息&#xff0c;使得开发者可以快速准确地改正问题。它兼容最新版本的 Python。它还兼容 unittest、doctest 和 nose&#xff0…