人工智能AI与机器学习ML基础入门

news2024/11/29 18:36:35
小学生都能看懂的人工智能入门书籍

 

第一章 入门简介

TensorFlow 入门

如果你想入门人工智能(AI)?机器学习(ML)和深度学习是很好的起点。不过,一开始接触这些概念时,可能会被各种选项和新术语搞得有点迷茫。本人工智能学习课程连载的目标是帮助程序员理清思路,带你一步步通过写代码实现机器学习和深度学习的核心概念,构建像人类一样思考的模型,比如在计算机视觉、自然语言处理(NLP)等场景下应用。通过这些模型,机器开始具备类似人类的智能,形成所谓的人工智能。

但说到机器学习,究竟是什么呢?我们先来简单了解一下,从程序员的角度看看它到底是什么。然后,我们会介绍如何安装开发工具,包括 TensorFlow 本身,以及如何搭建编写和调试 TensorFlow 模型的环境。

什么是机器学习?

在深入讨论机器学习之前,先看看它是怎么从传统编程发展出来的。我们会先讲讲什么是传统编程,接着看看它的局限性,最后再看机器学习是如何解决这些问题的,同时开启了更多实现人工智能的机会。

传统编程是我们用编程语言写规则,这些规则作用于数据,得到结果。几乎所有可以编程的场景都适用这种方法。

比如,你可以想象一下像打砖块(Breakout)这样的游戏。代码控制着球的运动、得分,以及赢或输的各种条件。比如当球碰到砖块时会发生什么,就像图 1-1 中展示的那样。

图1-1打砖游戏

在这个例子中,小球的运动是由它的 dx 和 dy 属性来决定的。当小球击中砖块时,砖块会被移除,同时小球的速度会加快,方向也会改变。这段代码就是对游戏状态的数据进行操作。

再来看一个金融服务的例子。你有一家公司股票的数据,比如当前价格和收益。你可以用图 1-2 中的代码计算一个很有用的比率,叫做市盈率(P/E,比价格除以收益)。

图 1-2. 财务软件应用场景中的代码

代码会读取价格和收益,最后返回价格除以收益的结果。

如果要用一个简单的图表来概括传统编程,可能就像图 1-3 这样。

图 1-3. 从宏观角度看传统编程技术

可以看到,编程规则是用编程语言表示的,它们作用于数据,最终得出结果。

正如你所看到的,规则是用编程语言来表示的,这些规则作用于数据,最终得出结果。

传统编程的局限性

从图 1-3 的模型问世以来,它一直是开发的基础。不过,它有个明显的限制:只有那些你能推导出规则的场景才能实现。那么其他场景呢?通常,它们很难开发,因为代码太复杂,根本无法写出处理这些问题的代码。

比如活动检测这个例子。能够检测我们日常活动的健身追踪器是最近的创新,这不仅是因为有了便宜的小型硬件,还因为以前的算法根本无法实现这种检测。那为什么会这样呢?我们来探讨一下。

图 1-4 展示了一个简单的行走检测算法。它可以根据人的速度来判断,如果速度低于某个值,我们就可以推测他们可能是在走路。

图 1-4. 运动检测算法

鉴于我们的数据是速度,我们可以扩展这个算法来检测他们是否在跑步(见图 1-5)。

图 1-5. 脱展运动检测算法,检测跑步

你可以看到,按照速度来判断的话,如果低于某个特定值(比如 4 英里每小时),我们可以说这个人在走路,否则就是在跑步。这个方法还是有点效果的。

现在,假设我们想把这个算法扩展到另一项常见的健身活动,比如骑自行车。那么这个算法可能会像图 1-6 这样。

图 1-6. 拓展运动检测算法,检测骑自行车

我知道这个方法有点简单,只是通过速度来判断——毕竟每个人跑步的速度不一样,而且你下坡跑步可能比上坡骑车还快。不过,总的来说它还是有效的。但是,如果我们想扩展到另一个场景,比如打高尔夫(见图 1-7),又该怎么办呢?

图 1-7.  怎样编程才能判断出打高尔夫球运动?

我们现在卡住了。用这种方法,怎么判断一个人是在打高尔夫呢?他们可能走一会儿,停下来做点事情,然后再走一会儿,再停下来,等等。但我们怎么知道这就是在打高尔夫呢?

用传统规则来检测这种活动已经碰到瓶颈了。不过,也许有更好的方法。

这就是机器学习派上用场的时候了。

下一篇我们就正式进入机器学习ML了......

欢迎大家留下评估,我来给大家讲解!

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

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

相关文章

关于Spring Framework路径遍历漏洞(CVE-2024-38816)的预警提示和修复方案

一、漏洞详情 Spring Framework是一个Java应用程序框架,旨在提供高效且可扩展的开发环境。 近日,监测到Spring Framework中修复了一个路径遍历漏洞(CVE-2024-38816)。Spring Framework受影响版本中,使用WebMvc.fn 或…

MyBatisCodeHelperPro一直用教程

qq群:984518344 不懂请留言!!! (有能力请请支持正版!!) (仅供学习交流,严禁用于商业用途,请于24小时内删除!!&#xff09…

使用标注工具并跑通官方yolov8分割segment自己的数据集

1.下载标注工具用于打标签 使用标注工具,后面会用到智能标注 点击 创建AI多边形后命令行就自动下载对应的模型 单机要选中的图像就行,就可以智能选中,双击设置标签 依次标注所有图片 ,最后保存成json格式的文件 2.使用labelme2y…

Nuxt.js 应用中的 modules:before 事件钩子详解

title: Nuxt.js 应用中的 modules:before 事件钩子详解 date: 2024/10/15 updated: 2024/10/15 author: cmdragon excerpt: modules:before 是 Nuxt.js 中一个重要的生命周期钩子,在 Nuxt 应用初始化期间被触发。该钩子允许开发者在安装用户定义的模块之前执行某些操作,如…

交通目标识别数据集YOLO 模型 ui界面✓图片数量15000,xml和txt标签都有 11类 交通道路车辆行人红黄绿数据集 红绿灯数据集 交通信号数据集

YOLO交通目标识别 数据集 模型 ui界面 ✓图片数量15000,xml和txt标签都有; ✓class:biker,car,pedestrian,trafficLight,trafficLight-Green,trafficLight-GreenLeft, tr…

WPF中MVVM的应用举例

WPF(Windows Presentation Foundation)是微软开发的用于创建用户界面的框架,而MVVM(Model-View-ViewModel)模式是一种分离前端UI逻辑与后台业务逻辑的方法。在WPF中使用MVVM模式可以提高代码的可维护性、可测试性和可扩…

Vant 日期时间组件拓展

基于 "vant": "^4.8.3", 效果图 <template><!-- 弹出层 --><van-popupv-model:show"isPicker"position"bottom"><van-pickerref"picker":title"title"v-model"selectedValues"…

匿名管道和命名管道

目录 管道 pipe创建一个管道 让子进程写入&#xff0c;父进程读取 如何把消息发送/写入给父进程 父进程该怎么读取呢 管道本质 结论&#xff1a;管道的特征&#xff1a; 测试管道大小 写端退了&#xff0c;测试结果 测试子进程一直写&#xff0c;父进程读一会就退出 …

PAT甲级-1076 Forwards on Weibo

题目 题目大意 已知微博上粉丝都可能会转发自己所关注的人的动态&#xff0c;给定总人数n和层数l&#xff0c;和每个id关注的人数及所关注人的id。要求查询一组用户的潜在转发量&#xff0c;粉丝层级不能超过l。 思路 求潜在转发量&#xff0c;就是一层一层的找粉丝数&#…

【已知当前表字段名注入】

一、通配符注入 like 测试注入 usernameadmin&passwordadmin 提示username or password error输入单引号闭合测试 这里用or防止admin字段不存在数据库中&#xff0c;如果admin不存在用and连接admin不为真&#xff0c;username的逻辑还是没绕过&#xff0c;用or就算我们前面…

嵌入式Linux开发板配置静态IP

嵌入式Linux开发板配置静态IP Chapter1 嵌入式Linux开发板配置静态IPChapter2 Linux命令之hwclock - 查询和设置硬件时钟 Chapter1 嵌入式Linux开发板配置静态IP 修改interfaces配置文件&#xff0c;普通用户interfaces文件权限只可读&#xff0c;首先切换到root权限。 sudo …

vue单页面 与多页面的区别

引用&#xff08;【Vue相关】单页面应用(SPA)与多页面应用(MPA)的区别_vue mpa-CSDN博客&#xff09; 只要用框架基本上都是单页面工程

特斯拉全新发布会上,无人驾驶汽车亮相,机器人与用户近距离互动

在科技日新月异的今天&#xff0c;特斯拉再次以其前瞻性的技术和创新理念引领了行业的潮流。近日&#xff0c;特斯拉在美国加利福尼亚州伯班克华纳兄弟工作室召开了一场主题为“WE ROBOT”的新品发布会&#xff0c;会上不仅发布了无人驾驶汽车&#xff0c;还展示了特斯拉人形机…

4S店汽车行业专业线上小程序源码系统 功能强大 带完整的安装代码包以及搭建部署教程

系统概述 随着移动互联网的迅速发展&#xff0c;越来越多的传统行业开始拥抱数字化转型。在汽车销售领域&#xff0c;4S店&#xff08;即集整车销售、零配件供应、售后服务、信息反馈四位于一体的汽车服务企业&#xff09;也不例外。为了更好地服务于客户&#xff0c;并提升自…

C++11——异常

异常的介绍 异常是C1中的一种处理错误的方式&#xff0c;当某一函数发现自己无法处理的错误时就可以抛出异常&#xff0c;让函数的直接或间接的调用者处理这个错误&#xff0c;异常的使用可以避免一些难以发现的bug被更好的发现并被处理。 异常的使用 异常的使用包含是三个部…

从空口分析BLE AUDIO ASCS

ASCS&#xff1a;AUDIO STREAM CONTROL SERVICE&#xff0c;音频流控制服务&#xff0c;顾名思义会对音频流的一些参数去做控制的服务&#xff0c;下面我们还是以手机和耳机为例&#xff0c;结合空口来分析ASCS都有哪些内容&#xff1a; 1&#xff1a;ASE CODEC CONFIG 配置A…

保姆级教程下载finalshell以及连接云服务器基础的使用教程

废话不多说&#xff0c;我们直接进行安装 一、软件下载 下载地址&#xff1a; FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.5.10,更新日期2024.9.26 - FinalShell官网 (hostbuf.com)https://www.hostbuf.com/t/988.html 点击链接进行下载…

【Next.js 项目实战系列】01-创建项目

原文链接 CSDN 的排版/样式可能有问题&#xff0c;去我的博客查看原文系列吧&#xff0c;觉得有用的话&#xff0c;给我的库点个star&#xff0c;关注一下吧 创建项目 创建项目​ 在创建项目中可以找到相关内容&#xff0c;这里不再赘述 First commit​ 创建好项目之后&am…

40个IT运维加薪技术,每一个都含金量极高!运维必会的10个网络抓包/调试工具!系统崩溃的10种可能,运维人员必看!

40个IT运维加薪技术&#xff0c;每一个都含金量极高!运维必会的10个网络抓包/调试工具&#xff01;系统崩溃的10种可能&#xff0c;运维人员必看&#xff01; 在IT运维领域&#xff0c;想要加薪并不仅仅依赖于单一的技术&#xff0c;而是需要综合运用多种技能&#xff0c;不断提…

【LangChain】(一)掌握向量数据库的CRUD操作与语义检索技巧

文章目录 1. 向量数据库的基础知识1.1 为什么选择向量数据库&#xff1f; 2. CRUD操作详解2.1 向量数据库-新增数据示例代码&#xff1a; 2.2 向量数据库-删除数据示例代码&#xff1a; 2.3 向量数据库-更新数据2.4 向量数据库-查询数据2.4.1 相似度查询2.4.2 最大边际相关性查…