机器学习笔记(一)初识机器学习

news/2024/9/29 1:22:03/

1.定义

机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。

机器学习有下面几种定义:

(1)机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。

(2)机器学习是对能通过经验自动改进的计算机算法的研究。

(3)机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。

简要概念:让机器具备找一个函式的能力

2.机器学习的三种不同任务

1. Regression(回归分析)

定义:回归分析是研究自变量与因变量之间数量变化关系的一种分析方法。它主要是通过因变量Y与影响它的自变量X(可以是一个或多个)之间的回归模型,衡量自变量X对因变量Y的影响能力,进而可以用来预测因变量Y的发展趋势。

特点

  • 预测目标是一个连续值。
  • 损失函数(如均方误差MSE)用于衡量预测值与真实值之间的差异。
  • 常见的回归模型包括线性回归、多项式回归等。

应用

  • 预测房价、股票价格等连续数值。
  • 在语音识别中预测声音信号的连续特征。

理解:找一个函式的任务

2. Classification(分类)

定义:分类是找一个函数判断输入数据所属的类别。这可以是二类别问题(是/不是),也可以是多类别问题(在多个类别中判断输入数据具体属于哪一个类别)。

特点

  • 预测目标是离散值,即类别标签。
  • 损失函数(如交叉熵损失)用于衡量预测类别与实际类别之间的差异。
  • 常见的分类算法包括逻辑回归、决策树、支持向量机(SVM)、神经网络等。

应用

  • 邮件分类(垃圾邮件/非垃圾邮件)。
  • 人脸识别、语音识别等。

理解:从设定好的选项中选择一个输出的任务

3. Structured Learning(结构化学习)

定义:结构化学习是一种让机器学会从数据中提取结构化信息的强大技术。它能够将输入数据与输出数据之间的结构关系建模,并通过训练模型来学习这种关系,从而实现对新的输入数据进行预测。

特点

  • 输入和输出都是具有结构化的对象(如序列、树、图等)。
  • 需要考虑输入与输出之间的复杂结构关系。
  • 常见的结构化学习方法包括条件随机场(CRF)、结构化感知机(Structured Perceptron)等。

应用

  • 自然语言处理中的命名实体识别、句法分析。
  • 计算机视觉中的图像分割、目标跟踪。

理解:让机器可以创造

3.机器如何找函式(Linear Models)

1.找未知的函式

y是已知的,b,w是未知的

2.定义Loss

是一个关于b,w的函式,可记作L(b,w),用来记录预期与实际值的差值平均数

取绝对值计算e的方式叫做MAE,除了这种方式还有如下方式:

Loss值越大及正确率越低,反之越高

3.找未知函数的最佳值

如下这张图是对不同w值和相同b值下Loss的变化曲线

通过观察斜率调整w的值找到函数最佳值,此外w调整的大小不仅仅受斜率大小的影响还受learning rate的影响,learning rate(hyperparameters)是预设的参数。当Loss值最低时即为最佳值。

当然变值一般有多个,此时遇上的不同在于斜率已不能作为观测值,通过微分参数作为观测值。

提升准确值:

通过对有规律周期的多组数据的w和x进行平均值求取提高准确率。

4.突破Linear Models限制

蓝色曲线作为linear models不能模拟实际的情况需要通过多个函式分段模拟,如下:

当然实际情况可能是曲线,这需要通过更多的分段来进行逼近

这种折线可通过一种曲线函数更好的表示,这种曲线叫做Sigmoid Function即s型的曲线

调整不同参数可将曲线进行不同方式的调整,如下:

通过以上知识,红色曲线可通过如下进行表示:

提升模型的准确性

公式的矩阵表示:


http://www.ppmy.cn/news/1531312.html

相关文章

el-table+el-form实现表单校验和解决不垂直居中导致的问题

el-tableel-form实现表单校验 1.实现el-table的表单校验 关键点123 2.解决不垂直居中导致的问题 问题效果图 解决方案 .item-align-center {display: inline-flex; }

node - npm常用命令和package.json说明

NPM NPM 的全称是 Node Package Manager,是随同 NodeJS 一起安装的包管理和分发工具,它很方便让 JavaScript 开发者下载、安装、上传以及管理已经安装的包。 官网 npm 官网:https://www.npmjs.com npm 命令 命令说明npm init初始化一个新的…

ubuntu下检查端口是否占用问题,编写shell脚本检查端口是否占用

1.创建脚本 touch check_port.sh2.粘贴以下内容到check_port.sh中 #!/bin/bash# 检查端口是否被占用的函数 check_port() {local port80local result$(sudo lsof -i:$port)if [[ -z "$result" ]]; thenecho "端口 $port 未被占用。"elseecho "警告:…

表格HTML

//test.html <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>表格与CSS分开示例</tit…

SkyWalking 简介

SkyWalking是什么 skywalking是一个国产开源框架,2015年由吴晟开源 , 2017年加入Apache孵化器。skywalking是分布式系统的应用 程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。它是一款优秀的 APM(Application Performance Manag…

SpringBoot | Maven快速上手

文章目录 一、Maven1.1 Maven 简介&#xff1a;1.2 Maven 的核心功能&#xff1a;1.2.1 项目构建&#xff1a;1.2.2 依赖管理&#xff1a; 1.3 Maven 仓库&#xff1a;1.3.1 本地仓库&#xff1a;1.3.2 中央仓库&#xff1a;1.3.3 私服&#xff1a; 二、第一个 SpringBoot 程序…

kotlin——设计模式之责任链模式

目录 介绍 应用场景 总结 介绍 责任链模式是一种行为设计模式&#xff0c;它允许将请求从一个对象传递到另一个对象&#xff0c;直到请求被处理为止。在责任链模式中&#xff0c;每个对象都有机会处理请求&#xff0c;但它们也可以选择将请求传递给下一个处理者。 使用责任链…

STM32嵌入式编程学习到提高:【4】UART串口打印

------------------------------------------------------------------------------------------------------------------------- 工程文件&#xff1a;放在百度云盘里&#xff0c;需要的自行下载&#xff01;&#xff01;&#xff01; 链接: https://pan.baidu.com/s/14gRne…