【人工智能基础学习】Andrew Ng-机器学习基础笔记

⭐️我叫忆_恒心,一名喜欢书写博客的研究生👨‍🎓。
如果觉得本文能帮到您,麻烦点个赞👍呗!

近期会不断在专栏里进行更新讲解博客~~~
有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三连支持一下呗。👍⭐️❤️
📂Qt5.9专栏定期更新Qt的一些项目Demo
📂项目与比赛专栏定期更新比赛的一些心得面试项目常被问到的知识点。
欢迎评论 💬点赞👍🏻 收藏 ⭐️加关注+
✍🏻文末可以进行资料和源码获取欧😄

摘要

深入探讨了机器学习的基础概念,尤其是监督学习和无监督学习。我们将重点介绍两种主要的机器学习方法——线性回归和梯度下降,帮助初学者理解这些基本算法及其应用。在具体讨论线性回归时,我们会详细讲解模型的表示、代价函数的计算及其直观理解。此外,我们还会深入探讨梯度下降算法,包括其直观解释和在实际问题中的应用。

1. 引言

1.1 欢迎:

在这篇博客中,我们将探讨机器学习中的主要问题和算法,帮助大家了解不同算法在各种应用场景中的具体使用。

1.2 机器学习是什么?

机器学习是指计算机通过经验(E)来提高其在任务(T)上的性能(P)。正如Tom Mitchell所说,“当一个程序在执行任务T时,如果它在经过经验E后,其表现按P标准衡量有所提升,那么这个程序就被认为是从经验E中学习到了。” 机器学习算法通常分为监督学习和无监督学习。

1.3 监督学习

在这里插入图片描述

在监督学习中,我们提供给算法一个包含“正确答案”的数据集。两种常见的监督学习问题是回归问题和分类问题。

  • 回归问题:例如,预测房价。我们有一系列房屋的历史数据,包括每个房屋的特征和实际售价。利用这些数据,算法可以预测新房屋的价格。

  • 分类问题:例如,诊断肿瘤的良性或恶性。我们可以使用分类算法,根据已知的良性和恶性肿瘤数据,预测一个新肿瘤是良性还是恶性。

在处理特征非常多的情况下,我们可以使用支持向量机(SVM),这种算法通过巧妙的数学技巧,可以处理无数多个特征。

1.4 无监督学习

无监督学习与监督学习不同,它处理没有标签的数据。无监督学习算法会尝试发现数据中的模式和结构,例如将数据分成不同的组(聚类)。
在这里插入图片描述

  • 聚类算法:例如,鸡尾酒会问题,通过聚类算法将不同的声音分开。

总结:

  • 垃圾邮件过滤——监督学习
  • 新闻事件分类——无监督学习
  • 细分市场分析——无监督学习
  • 糖尿病诊断——监督学习

在这里插入图片描述

2. 线性回归

2.1 模型表示

在监督学习中,我们使用一个训练集来构建模型。以房价预测为例,我们可以使用线性回归来找到特征与房价之间的关系。
在这里插入图片描述

线性回归模型的表示形式通常是一个线性函数,其中只有一个特征变量时,我们称之为单变量线性回归。
在这里插入图片描述

2.2 代价函数

为了找到最佳的模型参数,我们需要最小化模型预测与实际数据之间的误差。代价函数用于量化这种误差:
在这里插入图片描述

[
J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y{(i)})2
]

其中,( m ) 是训练样本的数量,( h_{\theta}(x^{(i)}) ) 是模型的预测值,( y^{(i)} ) 是实际值。

2.3 代价函数的直观理解

我们可以通过可视化代价函数的变化来理解其行为。例如,在只有一个参数的情况下,代价函数呈现为一个抛物线形状。通过找到代价函数的最低点,我们可以确定最优参数。
在这里插入图片描述

2.4 代价函数的等高线图

当我们考虑两个或更多参数时,代价函数的图像会变得复杂。在这种情况下,我们使用等高线图来表示代价函数的变化,从而帮助我们找到使代价函数最小化的参数。
在这里插入图片描述

2.5 梯度下降

梯度下降是一种用于找到函数最小值的优化算法。在机器学习中,我们使用梯度下降来最小化代价函数,从而找到最佳的模型参数。
在这里插入图片描述

  • 批量梯度下降:在每一步迭代中,利用所有的训练样本来更新模型参数:
\[
\theta_j := \theta_j - \alpha \frac{1}{m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)}) x_j^{(i)}
\]

其中,( \alpha ) 是学习率,决定了每一步的移动大小。

Python实现代码示例:

def gradientDescent(X, y, theta, alpha, iters):
    temp = np.zeros(theta.shape)
    parameters = int(theta.shape[1])
    cost = np.zeros(iters)
    
    for i in range(iters):
        error = X @ theta.T - y
        for j in range(parameters):
            term = np.multiply(error, X[:, j])
            temp[0, j] = theta[0, j] - ((alpha / len(X)) * np.sum(term))
        theta = temp
        cost[i] = computeCost(X, y, theta)
    
    return theta, cost

2.6 梯度下降的直观理解

在梯度下降过程中,我们通过计算导数来确定每一步的移动方向和步长。随着我们接近代价函数的最小值,梯度下降的步伐会自然变小,这使得算法更稳定。

2.7 梯度下降与线性回归

在应用梯度下降算法时,我们在每次迭代中使用所有的训练样本来更新参数。与线性回归模型相比,梯度下降提供了一种有效的方法来找到最优解,特别是在特征数量较多时。


总结

通过本文的学习,你将对机器学习的基础知识、线性回归模型的构建和梯度下降算法有更深入的理解。这些概念是机器学习领域的基础,有助于你进一步探索更复杂的算法和应用。

往期优秀文章推荐:

  1. 研究生入门工具——让你事半功倍的SCI、EI论文写作神器
  2. 磕磕绊绊的双非硕秋招之路小结
  3. 研一学习笔记-小白NLP入门学习笔记
  4. C++ LinuxWebServer 2万7千字的面经长文(上)
  5. C++Qt5.9学习笔记-事件1.5W字总结
    在这里插入图片描述

资料、源码获取以及更多粉丝福利,可以关注下方进行获取欧
推荐

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HyperSnap软件最新版下载-HyperSnap官方最新版附加详细安装步骤

​HyperSnap是一个老牌优秀的屏幕截图工具,全新界面,不仅能抓取标准桌面程序,还能抓取 DirectX, 3Dfx Glide的 游戏视频或 DVD 屏幕图,能以 20 多种图形格式(包括:BMP, GIF,JPEG, TIFF, PCX等)保…

鸿蒙开发:应用组件跨设备交互(流转)【跨端迁移】

跨端迁移 概述 在用户使用设备的过程中,当使用情境发生变化时(例如从室内走到户外或者周围有更适合的设备等),之前使用的设备可能已经不适合继续当前的任务,此时,用户可以选择新的设备来继续当前的任务&a…

C盘爆满?教你轻松清理无故产生的大量临时文件!

在电脑操作中,用户发现自己系统C盘爆满了,无缘无故产生了大量的临时文件,导致电脑运作变得卡顿,但不知道要怎么操作才能解决这个问题?接下来小编给小伙伴们带来不同的解决方法,轻松清理电脑上的临时文件。 …

【lesson7】服务端业务处理模块实现

文章目录 业务处理实现思路业务处理类设计成员变量成员函数RunModuleupLoadlistShowdownLoadgetETagInfo 业务处理实现思路 云备份项目中 ,业务处理模块是针对客户端的业务请求进行处理,并最终给与响应。而整个过程中包含以下要实现的功能: …

这所大学25考研计算机学院专业课已全面改考为408!南京信息工程大学计算机考研!

南京信息工程大学(Nanjing University of Information Science and Technology),简称“南信大”,位于江苏省南京市,是一所以大气科学为特色的全国重点大学,由江苏省人民政府、中华人民共和国教育部、中国气…

【lesson1】第三方库(jsoncpp,bundle, httplib)的介绍和使用

文章目录 jsoncpp库json 认识jsoncpp 认识jsoncpp 实现序列化jsoncpp 实现反序列化 bundle库bundle库实现文件压缩bundle库实现文件解压缩 httplib 库httplib 库搭建简单服务器httplib库搭建简单客户端 jsoncpp库 json 认识 json 是一种数据交换格式,采用完全独立…

OS进程取样器OS Process Sampler执行CMD/Shell命令

Apache JMeter - Users Manual: Component Reference 1.背景 项目上最近需要测试一种很少用到的DICOM协议,但是网上资料很少,基本上可以总结为三种方案: 直接发送TCP 16进制数据包,但是参数化数据准备难度大通过开发封装jar包发送,需要开发组提供通过发送cmd命令给前置机…

ES升级--05--快照生成 和备份

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 备份ES数据1.关闭集群自动均衡2.执行同步刷新3.停止集群节点的Elasticsearch服务4.修改Elasticsearch配置文件,开启快照功能,配置仓库目录为…

java:FeignClient通过RequestInterceptor自动添加header

示例代码 【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.12.RELEASE</version> </dependency> <dependency><groupId>o…

f-stack和DPDK

GPT-4 (OpenAI) f-stack和DPDK&#xff08;数据平面开发套件&#xff09;都是与高性能网络处理相关的技术。它们的目的是提高数据包的处理速度&#xff0c;优化网络I/O的性能。以下是对这两者的简要解释&#xff1a; 1. **DPDK (Data Plane Development Kit):** DPDK 是一个…

柯桥成人外语培训|职场商务英语剑桥国际英语口语外贸商务英语

01 “puppy love”是什么意思&#xff1f; 大家都知道&#xff0c;puppy有“幼犬&#xff0c;小狗”的意思&#xff0c;love是“爱”&#xff0c;那puppy love是什么意思呢&#xff1f;可不是字面上表达的小狗的爱哦&#xff01; 其实&#xff0c;"puppy love"真正的…

轻松实现App推广代理结算,Xinstall超级渠道功能助您一臂之力!

在App推广的广阔天地中&#xff0c;与渠道方建立合作关系&#xff0c;共同实现用户增长和品牌提升&#xff0c;已成为众多开发者和广告主的共识。然而&#xff0c;如何高效管理这些渠道、监测推广效果、实现代理结算&#xff0c;一直是困扰大家的难题。今天&#xff0c;我们就来…

P4. 微服务: 匹配系统(上)

P4. 微服务: 匹配系统 上 Tips0 概述1 匹配系统流程2 游戏系统流程3 websocket 前后端通信的基础配置3.1 websocket 的需要的配置3.2 websocket 连接的建立3.3 为 websocket 连接添加 jwt 验证 4 实现匹配界面和对战界面的切换5 匹配系统的客户端和 websocket 后端交互部分5.1 …

Spark的开发环境配置

1. 介绍 这里主要记录一下&#xff0c;我们常用的maven配置&#xff0c;方便后期开发配置环境&#xff0c;避免每次都从零开始配置工程。 2. 工程目录 3. pom的配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven…

Leetcode学习

回文数 反转一半数字 第一个想法是将数字转换为字符串&#xff0c;并检查字符串是否为回文。 但是&#xff0c;这需要额外的非常量空间来创建问题描述中所不允许的字符串。 第二个想法是将数字本身反转&#xff0c;然后将反转的数字与原始数字比较&#xff0c;如果它们是相同…

【课程总结】Day6(下):机器学习项目实战–成人收入预测

机器学习项目实战&#xff1a;成人收入预测 项目目的 基于个人收入数据(包括教育程度、年龄、性别等)的数据集&#xff0c;通过机器学习算法&#xff0c;预测一个人的年收入是否超过5万美金。 数据集 地址&#xff1a;http://idatascience.cn/dataset-detail?table_id10036…

HJS-DE1/3断电延时时间继电器 导轨安装 约瑟JOSEF

​HJS-DE断电延时时间继电器 HJS-DE1/3断电延时时间继电器 HJS-DE1/2断电延时时间继电器 HJS-DE断电延时时间继电器 用途 时间继电器HJS-DE1/3作为通电立即动作断电延时返回的元件&#xff0c;用于交流或直流保护和自动控制装置中&#xff0c;使被控元件得到所需延时。本继电…

MySQL系列-语法说明以及基本操作(一)

1、前言 主要讲解MySQL的基本语法 官网文档 https://docs.oracle.com/en-us/iaas/mysql-database/doc/getting-started.html 关于MySQL的基本语法&#xff0c;关于数据类型、表的操作、数据操作、事务、备份等&#xff0c;可参考 http://www.voidme.com/mysql 2、数据类型 数…

【PX4-AutoPilot教程-TIPS】离线安装Flight Review PX4日志分析工具

离线安装Flight Review PX4日志分析工具 安装方法 安装方法 使用Flight Review在线分析日志&#xff0c;有时会因为网络原因无法使用。 使用离线安装的方式使用Flight Review&#xff0c;可以在无需网络的情况下使用Flight Review网页。 安装环境依赖。 sudo apt-get insta…

在客户自己的smarteye server上如何测试使用公网对讲PoC集群通话功能

创建用户对讲群组&#xff0c;可以在WEB调度台上操作&#xff0c;也可以在执法记录仪或者手机上操作&#xff0c;当然&#xff0c;前提是当前登录的用户有创建集群通话对讲组的权限&#xff0c;一般的推荐用管理员帐号去创建这些对讲组&#xff0c;这样最简单。 总体说明 用管…