机器学习入门一

news/2024/5/3 3:07:01/文章来源:https://blog.csdn.net/qq_43967413/article/details/126902993

  • 应用领域
  • 监督学习和无监督学习
    • 监督学习
      • 回归问题
      • 分类问题
      • 无穷的处理
    • 无监督学习
      • 概念
      • 聚类算法
      • 鸡尾酒会算法
  • 模型描述
  • 代价函数
    • 代价函数是什么
    • 简化代价函数进行可视化理解
    • 完整代数函数图像(高线图表示)
    • 梯度下降算法
      • 过程
      • 梯度函数表达式
      • 梯度下降函数的更新规则
      • 线性回归的梯度下降
        • 线性回归函数的代价函数

机器学习是人工智能发展出来的一个领域:计算机程序从经验E中学习,解决某一任务T进行某一性能度量P,通过P测定在T上的表现因经验E而提高

应用领域

  • 数据挖掘
    • 收集网络点击数据或者说点击流数据,进而更好理解用户并更好地为用户服务
  • 医疗记录
    • 将医疗记录转化为医疗知识,就能更好理解疾病
  • 计算生物学
    • 因为自动化,生物学家收集了关于基因序列DNA序列等的大量数据,让我们更好理解人类基因组
  • 我们无法手动编写的程序
    • 自动驾驶的直升
    • 手动识别:例如跨国邮寄,将信封上的文字识别出来,然后自动给你的信规划路线
    • 自然语言处理或计算机视觉:AI中理解图像的领域
  • 私人定制
    • 例如使用亚马逊的时候,它会推荐电影、产品或者音乐给你。这就是学习算法
  • 理解人类的学习过程和大脑

监督学习和无监督学习

  • 监督学习:我们教计算机做某件事情
  • 无监督学习:让计算机自己学习做某件事情

监督学习

我们给算法一个数据集,其中包含了正确答案,而算法的目的就是给出更多的正确答案

回归问题

如下图,房价预测问题,给出一个房屋面积及其卖出价格的数据集,这些值都是离散的,然后机器学习的目的是通过这些数据模拟出拟合曲线,可能是一次函数也可能是二次函数,由离散的数值设法得出连续值的属性,成为回归,这类型的问题也称为回归问题
在这里插入图片描述

回归:回归是我们的目标,是预测一个连续值输出

分类问题

分类的目的是预测离散值的输出,例如癌症检测,横轴表示肿瘤的大小,纵轴表示是否是恶性肿瘤,0表示不是,1表示是,该实例中离散值只有两个,相对而言比较少,这是一个分类问题,也就是设法预测出离散值的输出,这里就是设法去预测是否是恶性肿瘤
在这里插入图片描述
分类问题中也可以使用其他符号进行标记,使得数据可以线性处理,如下圆表示无肿瘤并且落在某个位置就表示相应的大小,叉继续表示恶性肿瘤,位置同样有相同的作用
在这里插入图片描述

分类:分类的目的是预测离散值的输出

无穷的处理

如上述肿瘤问题中,只有两个特征,实际上学习问题可能存在,无穷的特征、无穷多的属性,如果进行线性存储,那么就会使得计算机内存溢出,这个时候就涉及到“向量机”,他允许计算机处理无穷多的特征

支持向量机:允许计算机处理无穷多的特征

无监督学习

在监督学习中的每一个样本已知所谓的正确答案。如上述的肿瘤实例中,我们知道每个人对应是否是良性或者是恶性的肿瘤

概念

无监督算法就是只给算法一堆数据,并没有告诉算法这对数据类型是什么,甚至有那些类型都不知道,然后在其中找到某种数据结构

聚类算法

算法只是被告知这里有一个数据集,不知道数据点究竟是什么等等,然后在其中找到某种数据结构,将数据分成两个不同的簇,这就是聚类算法

聚类算法有许多应用领域

  • 组织计算机集群: 它被用来组织大型的计算机集群,也就是大型计算机集群,并试图找出哪些机器趋向于协同工作,如果你把这些机器放在起,那么这些机器就能高效率地工作
  • 社交网络分析:如果得知你email最频繁的联系人之类,判断哪些人认识
  • 市场细分中应用:将公司的客户向不同的细分市场中进行销售
  • 天文数据分析:星系形成理论的形成

鸡尾酒会算法

在鸡尾酒会上,有不同的说话,例如有两个人说话,并且有两个麦克风,因为距离各自的人不同,所以录音的大小不同,鸡尾酒算法就是从该混合的录音中分离出具体的声音

模型描述

在监督学习中,我们有一个数据集,它被称为训练集。例如房屋相关的训练集中,以房屋面积为横坐标,对应的价格作为纵坐标。m为训练样本的数量,例如数据有47行,那么m=47也就是47组数组。x为输入的特征值y为输出的记录,对于该案例中,x就是房屋面积,y就是对应的价格。

(x,y)是一组数组,(xi,yi)(x^{i}, y^{i})(xiyi)
在这里插入图片描述
如下算法,首先是以训练集作为输入,然后经过学习算法,得到h,也就是假设函数,该函数用来进行预测的函数,可以向假设函数添加一个输入然后得到一个输出,因而当我们设计一个学习算法时,下一个需要做的是怎么表示这个假设函数
在这里插入图片描述

其中假设函数可以是以下形式(可以有其他更复杂的形式,例如其他的非线性函数,现在就线性回归进行示例),并且引入相关的属于θ0θ1,类似θi这样的参数成为模型参数,该表达式是线性回归相对应的表达式
在这里插入图片描述

如下图,这种模型称为线性回归,准确来说是一元线性回归,另一个名字是单变量线性回归

h函数可以是如下函数模型,也就是y关于x的线性函数,也可以是其他的非线性函数
在这里插入图片描述

代价函数

代价函数是什么

解决的问题是:如何把最有可能的直线与我们的数据相拟合,相对于上述的j假设函数的形式中,就是确定θ0θ1,进而确定h函数

对于h函数而言,θ0和θ1的不同造就不同的代价函数
在这里插入图片描述

对于模型参数的确定,θ0和θ1的确定是在训练集中给出训练集中的x值,θ0和θ1,使得x最接近y

基于上述,我们给出标准的定义,在线性回归中,我们要解决的是一个最小化问题,我们要写出关于θ0和θ1的最小化,也就是通过这些模型参数以及输入的特征值x,使得h(x)与实际的值y的差值尽量小

实际最小化是对于整个训练集而言的,对于h(xi)h(x{i})h(xi)表示的是第i组训练数据,使得整体数据的最小化,也就是所有的组的特征输入经过预测函数输出后的值h(xi)h(x{i})h(xi)与实际的yiy{i}yi最小化,这个时候就可以使用到平方差,如下图,当平方产差最小的时候,整体最小化,也就能确定对应的模型参数

这里通常使用1/(2m),然后使得整体最小

如下述,这就是一个代价函数,有时候也称为平方误差代价函数
在这里插入图片描述

简化代价函数进行可视化理解

对于代价函数的理解可以通过将假设函数设置为如下的简化形式,方便可视化理解

图中的红色的差,是实际的调研的数据。现在可以进行调整θ1的值进行查找θ1使得代价函数最小

如下图,当θ1=1且θ0=0时,可以得到代价函数的值是1
在这里插入图片描述

当θ0=0,θ1=0.5等于其他值的时候
在这里插入图片描述
θ0=0,不断调整θ1的值,最终得到下述曲线,可以看到当θ1=1的时候,代价函数最小,并且值为0,符合实际
在这里插入图片描述

完整代数函数图像(高线图表示)

在这里插入图片描述
如下是3D图像
在这里插入图片描述

如下为高线图,其中右边代数函数的高线图中,每个椭圆形上的点(如下标记出的是三个点)的代数函数值相等

高线图中,每个圆圈相当于上述3D图的每一圈从上向下投影到θ0和θ1的平面上,因而每个椭圆上的点是相等的。因而这个椭圆圈的中心是对应的最小的代数函数值
在这里插入图片描述

梯度下降算法

一种能够自动寻找使得代价函数最小的θ0和θ1的算法,,他不仅被用在线性回归上,还被广泛应用于机器学习的众多领域,梯度下降算法可以解决更为一般的问题

过程

梯度下降算法可以表示一般问题,但是本次学习中,简便起见,仅设置θ0和θ1,也就是对应的单变量线性回归

  • 开始的时候设置θ0=0,θ1=0(也可以初始化其他值)
  • 然后不断改变θ0和θ1,使得代价函数的值不断变小,直到我们找到代价函数的最小值

如下图,在选定了一个起始点后,根据梯度下降算法,得到如下路径,在最底部收敛,也就是局部的最优解
在这里插入图片描述
当起始位置偏移后,会使得路径可能收敛在其他的点上,也就是可能是其他的最优解的值

  • 在这里插入图片描述

梯度函数表达式

梯度函数算法定义,如下图公式,该公式会不断重复执行,直到局部收敛,也就是一路走到从某个位置开始的最底部的地方,也就是代数函数的值最小的时候

  • 在计算机中:=表示赋值,而a=b表示的是真假判定
  • 下述中α是被称为学习速率的数字,用来控制梯度下降时,它控制我们以多大的幅度更新这个参数θj 。
  • α太大可能会越过最低点,进而导致无法收敛或发散
    在这里插入图片描述

使用梯度算法的一个细节:对于上述的更新方程,需要同时更新θ0和θ1,具体的原因是在实际算法中,θ0更新为θ0减去某项,θ1更新为θ1减去某项。对于上述的例子中,因为当代数函数的值是,可以看到左边是θj,其中j=0或者是j=1,也就是θ0和θ1更新的值是取决于右边的计算的值,该过程重复迭代,直到局部收敛
在这里插入图片描述
如下图,是错误的做法,没有做到同步更新,因为首先更新θ0的时候,下一步计算temp1的时候就会使用到新的θ0,这样就是不对的
在这里插入图片描述

梯度下降函数的更新规则

对于梯度算法的算法方程,α右边部分是一个导数项,因为代数函数是一个平方差,那么他的值就是非负的,并且学习速率α只能是正数,

在这里插入图片描述

当θj与代数函数的坐标中是正斜率,如下图右边,这个时候θj就会不断减少从而实现梯度下降
在这里插入图片描述
而当当θj与代数函数的坐标中是负斜率,如下图左边,这个时候θj就会不断增大从而实现梯度下降
在这里插入图片描述
当代数函数的值是0的时候代数函数的值为最小值,这个时候θ0和θ1不变,根据这个条件可以判断这种情况下,达到最低点

在这里插入图片描述
下图显示了梯度下降函数,在α不变的情况下,从某一点开始(如下图右边右上角的品红色的点),随着向下跨越,导数项越来越小,那么θ1更新的值也越来越小,在接近于极小值的时候,几乎是不变的,因而不会产生跨越最小值的情况
在这里插入图片描述

如上就是梯度下降函数的运行模式,可以看出实际上是没有必要另外减少α

线性回归的梯度下降

线性回归函数与梯度下降算法的结合

两部分函数如下

在这里插入图片描述
对应的导数项的值形式如下:
在这里插入图片描述代回代数函数如下:
在这里插入图片描述

线性回归函数的代价函数

线性回归函数的代价函数,总是一个弓状函数,这样的函数成为凸函数,这个函数没有局部最优解,只有全局最优解

,
在高线图中,椭圆中心就是全局的最优解
在这里插入图片描述

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

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

相关文章

Android修行手册 - TabLayout全解析(上)-常用方法

往期文章分享点击跳转>《导航贴》- Unity手册,系统实战学习点击跳转>《导航贴》- Android手册,重温移动开发 👉关于作者 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过…

BP神经网络简单应用实例,bp神经网络的应用案例

BP神经网络在地面沉降预测中的应用 地面沉降是多种自然和人为因素共同作用的结果。 各种要素发生作用的时空序列、影响强度和方向以及它们之间的关系处于不断变化之中,同时各因素的变化及其影响并不是单方面的,各变量之间相互形成制约关系,…

牛掰!完美诠释Netty!腾讯强推599页Netty进阶神技

Netty 作为一个学Java的,如果没有研究过Netty,那么你只能算一个初等Java程序员。如果你想知道Nginx是怎么写出来的,如果你想知道Tomcat和Jetty是如何实现的,如果你想实现一个简单的Redis服务器,那都应该好好理解一下Ne…

[需求管理-3]:什么是需求分析?常用的需求分析的流程与方法

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/details/126855421 目录 第1章 什么是需求分析 1.1 概述 1.2 需求分析的本质 1.…

go-cqhttp调用接口

目录调用接口一、 概述1、 简介2、 接口二、 接入权限系统1、 智能聊天2、 戳一戳3、 新成员三、 调用接口1、 查找接口2、 调用接口3、 接入机器人 调用接口 一、 概述 1、 简介 在我们实现了权限控制功能后,那么我们就在也不用担心机器人话太多,同时,平时又没时间,电脑又…

openSmile 在 Linux 下的安装教程与使用示例

目录openSMILE 工具简介Linux 上的安装步骤使用示例后续openSMILE 工具简介 一款以命令行形式运行的工具,通过配置config文件,主要用于音频特征的提取。官网:https://www.audeering.com/research/opensmile/ (当前是3.0版本&…

Oracle中的用户和表空间

文章目录Oracle中的用户和表空间一、用户和表空间简介二、用户1、系统用户登录1.1、数据库在本机时1.2、数据库在远程时1.3、案例2、查看登录用户2.1、命令2.2、案例3、解锁与锁定用户3.1、命令3.2、案例4、使用scott用户登录4.1、命令4.2、案例三、表空间1、表空间数据字典2、…

解决从PDF复制文字后乱码问题

背景 需要从PDF复制文字出来做笔记,可是谁知道PDF通过adobe打开后复制出来后是乱码,如下图所示: 解决 尝试过安装字体,可惜没卵用。 方法1-CAJViewer打开 用该软件打开后复制,可以完美复制,但是有个小问题…

Fastformer: Additive Attention Can Be All You Need

创新点:本文根据transformer模型进行改进,提出了一个高效的模型,模型复杂度呈线性。 主要改进了注意力机制,出发点在于降低了注意力矩阵的重要程度,该方法采用一个(1*T)一维向量替换了原始T*T大小的注意力矩阵。注意力结构图: 在这里,输入同样通过不同的线性映射得到Q…

Vue23全面知识总结七(2)

感兴趣的朋友可以去我的语雀平台进行查看更多的知识。 https://www.yuque.com/ambition-bcpii/muziteng 7.8 路由的props配置 props作用:让路由组件更方便的收到参数 {name:detail,path:detail/:id,component:Detail,//第一种写法:props值为对象&…

Java内存模型:创建对象在堆区如何分配内存

一、Heap堆区 Heap堆是JVM所管理的内存中最大的一块区域,被所有线程共享的一块内存区域。堆区中存放对象实例和数组,“几乎”所有的对象实例以及数组都在这里分配内存。 新生代、老年代 二、创建对象的内存分配 初始创建对象会在新生代的Eden区生成&…

行为型设计模式之策略模式

行为型设计模式之策略模式策略模式应用场景优缺点主要角色策略模式的基本使用创建抽象策略角色创建具体策略角色创建上下文角色客户端执行策略模式实现支付方式的选择创建抽象策略角色创建具体策略角色创建上下文角色客户端执行策略模式 策略模式(Strategy Pattern)…

线程安全集合:CopyOnWriteArrayList源码分析

目录 一、基本思想 二、源码分析 add()方法 set()方法 remove()方法 get()方法 三、小结 一、基本思想 首先CopyOnWrite 简称 COW ,是一种用于对集合并发访问的优化策略。基本思想是:当我们往一个集合容器中写入元素时(比如添加…

C++左值右值、左值引用右值引用、移动语义move

目录 1.什么是左值、右值 2.什么是左值引用&、右值引用&& 2.1左值引用& 2.2右值引用&& 2.3对左右值引用本质的讨论 2.3.1右值引用有办法指向左值吗? 2.3.2左值引用、右值引用本身是左值还是右值? 2.4 右值引用使用场景…

51单片机学习:静态数码管实验

实验名称:静态数码管实验 接线说明: 实验现象:下载程序后“数码管模块”最左边数码管显示数字0 注意事项: ***************************…

神经体液调节网络,神经网络能干嘛

神经网络的发展趋势如何? 神经网络的云集成模式还不是很成熟,应该有发展潜力,但神经网络有自己的硬伤,不知道能够达到怎样的效果,所以决策支持系统中并不是很热门,但是神经网络无视过程的优点也是无可替代…

CSDN编程竞赛-第六期(上)

CSDN编程竞赛报名地址:https://edu.csdn.net/contest/detail/16 努力是为了让自己不平庸: 前言/背景 四道题都是相关数组的,思路很好想,但是需要熟练使用,不能有小错误。 参赛流程 活动时间:9月8日-21日&a…

Python机器视觉--OpenCV进阶(核心)--图像直方图与掩膜直方图与直方图均衡化

1.图像直方图 1.1 图像直方图的基本概念 在统计学中,直方图是一种对数据分布情况的图形表示,是一种二维统计图表. 图像直方图是用一表示数字图像中亮度分布的直方图,标绘了图像中每个亮度值的像素数。可以借助观察该直方图了解需要如何调整…

记录一次关于Rank()排序函数问题

先来看应用场景吧 就是页面上有个top按钮 根据不同的top 进行筛选 比如我选择top5 那么在下方当前大区的销售额降序筛选出来最高的前五个销售员or客户这种场景 💖 问题 问题1:为什么我的这个rank排序函数 这个华南大区 不是从1开始的呢 其他大区都是正…

java毕业设计选题系统ssm实现的商城系统(电商购物项目)

🍅文末获取联系🍅 一、项目介绍 《ssm实现的商城系统》该项目采用技术:springspringMVCmybaitsEasyUIjQueryAjax等相关技术,项目含有源码、文档、配套开发软件、软件安装教程、项目发布教程等 1.1 课题背景、目的及意义 当今社…