- 博客(31)
- 收藏
- 关注
原创 【机器学习西瓜书学习笔记——计算学习理论】
对一个指示函数集,如果存在hhh个样本能够被函数集中的函数按所有可能的2h2^h2h种形式分开,则称函数集能够把hhh个样本打散。函数集的VCVCVC维就是它能打散的最大样本数目hhh。若对任意数目的样本都有函数能将它们打散,则函数集的VCVCVC维是无穷大。VCVCVC维是一个评判模型复杂程度的工具。VCVCVC维越大则模型的复杂度越高。一般情况下,假设空间的VCVCVC维约等于假设自由变量的数目。
2024-08-12 19:03:17
770
原创 【机器学习西瓜书学习笔记——特征选择与稀疏学习】
分别计算每个分量,最终取平均便得到了整个相关统计量,分量值越大,对于属性的分类能力越强(越是相关特征)。目的:为普通稠密表达的样本找到合适的字典,将样本转化为合适的稀疏表示形式(稀疏编码),从而简化学习任务,降低模型复杂度。包裹式从初始特征集合中不断的选择特征子集,训练学习器,根据学习器的性能来对子集进行评价,直到选择出最佳的子集。初始的d个特征中仅有对应着w的非零分量的特征才会出现在最终模型中,于是求解L1范数正则化的结果是得到了。③特征子集的重要性则是由子集每个特征所对应的相关统计量分量之和决定的。
2024-08-09 10:57:28
589
原创 【机器学习西瓜书学习笔记——集成学习】
如果一个训练样本在前一个分类器中被误分,那么它的权重会被加大,相反,被正确分类的样本权重会降低。每一次迭代时训练集的选择与前面各轮的学习结果有关,而且每次是通过更新各个样本权重的方式来改变数据分布。每次迭代不依赖之前建立的模型,即生成的各个弱模型之间没有关联,因此就可以彻底实现数据并行训练。误差-分歧中的分歧表征了个体学习器在样本x上的不一致性,即一定程度反映了个体学习器的多样性。把个体学习器称为初级学习器,用于结合的学习器称为次级学习器或元学习器。每棵决策树的构建所需的特征是从全体特征中随机选取的。
2024-08-07 15:29:44
594
原创 【机器学习西瓜书学习笔记——聚类】
密度聚类算法从样本密度的角度考察样本之间的连接性,并基于可连接样本不断扩展聚类簇。②从随机选择的聚类中心开始,因此在不同的算法运行中可能产生不同的聚类结果。因此,结果可能是不可重复的,并且缺乏一致性。②每个数据点通过计算点和每个组中心之间的距离进行分类,然后将这个点分类为最接近它的组。簇:给定一组数据点,我们可以使用聚类算法将每个数据点划分为一个特定的组。③基于这些分类点,我们通过取组中所有向量的均值来重新计算组中心。在不同层次对数据集进行划分,形成树形的聚类结构。Jaccard 系数。
2024-08-06 10:25:43
887
原创 【机器学习西瓜书学习笔记——贝叶斯分类器】
贝叶斯网络,又称信念网络,或有向无环图模型,是一种系统地描述随机变量之间关系的语言。DAG中节点表示随机变量,边表示变量之间的依赖关系。条件概率表中的每一个元素对应DAG中唯一的节点,存储此节点对于其所有直接前驱节点的联合条件概率。从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。
2024-08-04 21:47:53
927
原创 【机器学习西瓜书学习笔记——支持向量机】
将原始空间中的向量作为输入向量,并返回特征空间(转换后的数据空间,可能是高维)中向量的点积的函数称为核函数。
2024-08-02 13:36:15
829
原创 【机器学习西瓜书学习笔记——神经网络】
*竞争型学习:**是神经网络中一种常用的无监督学习策略,在使用该策略时,网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的神经元被激活,其他神经元的状态被抑制,这种机制也称 “胜者通吃” 原则。局部最小值是在某一区域内,函数的取值达到了最小,但是如果将这个区域扩展到定义域上来,那么这个局部最小值就不一定是最小的。通过制定权重和阈值得到可以进行逻辑运算的感知机,那么如果给定训练数据集,同样我们可以通过学习得到相应地权重和阈值。目的是为了能够提高我们的预测精度,减少误差,从而最大限度的降低成本。
2024-07-31 10:45:00
1926
原创 【机器学习西瓜书学习笔记——决策树】
决策树分为分类树和回归树两种,分类树对离散变量做决策树,回归树对连续变量做决策树。一棵决策树的生成过程主要分为以下3个部分:特征选择: 是指从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准标准,从而衍生出不同的决策树算法。决策树生成: 根据选择的特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树停止生长。 树结构来说,递归结构是最容易理解的方式。决策树剪枝: 决策树容易过拟合,一般来需要剪枝,缩小树结构规模、缓解过拟合。剪枝技术有预剪枝和后剪
2024-07-30 10:08:48
1004
原创 【机器学习西瓜书学习笔记——线性模型】
给定数据集D,假定其中有N个真实类别,每次取若干个类作为正类,若干个类作为反类(通过ECOC码给出,编码),若进行了M次划分,则生成了M个二分类学习器,在测试阶段(解码),得出M个结果组成一个新的码,最终通过计算海明/欧式距离选择距离最小的类别作为最终分类结果。给定数据集D,假定其中有N个真实类别,将这N个类别进行两两配对(一个正类/一个反类),从而产生N(N-1)/2个二分类学习器,在测试阶段,将新样本放入所有的二分类学习器中测试,得出N(N-1)个结果,最终通过投票产生最终的分类结果。
2024-07-28 12:38:22
268
原创 【机器学习西瓜书学习笔记——模型评估与选择】
若一个学习器的 ROC 曲线被另个学习器的曲线完全“包住”,则可断言后者的性能优于前者;我们通常会把学习器的实际预测输出与样本的真实输出之间的差异称为误差。以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线,简称**“P-R曲线”**,显示该曲线的图称为“P-R图”.③查准率越高,说明模型预测结果中真正例的比例越高,模型对于正样本的识别能力越强。③查全率越高,说明模型能够成功预测出的正样本比例越高,模型的识别能力越全面。目的:对于一个模型,根据p不同,找到使得代价总期望最小的模型的阈值。
2024-07-25 11:02:16
609
原创 【机器学习西瓜书学习笔记——绪论】
基于有限规模的训练样本集进行假设的匹配搜索,会存在多个假设与训练集一致的情况,称这些假设组成的集合为版本空间。通俗理解:草泥马和牛马的照片就叫做标签,反复的看理解为训练,形成的肌肉记忆叫做模型,这就是监督学习的过程。监督学习主要包括:线性回归、逻辑回归、决策树、随机森林、支持向量机、朴素贝叶斯、k近邻算法。学得模型后,使用该模型进行预测的过程称为“ 测试”, 被预测的样本称为“测试样本”.:利用同时包含标记样本和未标记样本的数据进行训练。:标签信息不完整或不准确的监督学习问题。所研究对象的一个个体。
2024-07-24 10:28:26
254
原创 Android测试
Android期末考试即将来袭,我主要把平时的一些小测试的代码放在这里,仅供大家参考!显示结果注意:Android Studio安装中文输入法参考链接:Android studio自带模拟器使用中文拼音输入法图书信息管理系统主要分为三个模块,分别是首页、搜索、我的。首页主要展示数据库中图书信息的展示,修改图书信息、删除图书信息;搜索主要实现图书名查询相关信息,添加新的图书;我的主要展示作者的相关信息。由于头部和底部的实现都是一样的,我们把它写在单独的文件中,需要的时候引入即可。其中,对应的图片
2022-06-16 17:27:18
627
1
原创 Hexo+Gitee免费搭建个人博客
一、环境准备1、nodejs和Git安装nodejs下载网址32位64位Git下载网址Git下载网址链接下载好之后,打开cmd命令行(windows+r)输入cmd回车进入,分别执行以下命令能够显示版本号就说明安装成功了。如果报错,则说明没有安装成功,可以复制一下报错内容百度搜索。二、安装hexo框架首先,我们先安装一个淘宝的镜像加速器,方便安装的时候速度会更快一些。在命令行里面输入如下代码,之后回车键确认后就开始安装了。(这里可能会安装好一段时间,慢慢等) npm install
2022-01-29 22:18:45
1236
原创 阿里云服务器的Linux系统中搭建springboot项目
文章目录一、云服务器1、云服务器弹性伸缩2、官网免费注册3、购买云服务器购买学生机注意事项!!!!!4、设置实例密码的启动实例通过下图描述客户端是如何访问阿里云服务器的实例实例密码设置重置密码5、安全组概述注意几个基本参数端口号放行安全组特点安全组与安全规则的关系6、SSH客户端软件二、搭建项目1、安装JDK、环境变量、测试安装JDK解压安装rpm安装配置环境变量测试java环境测试springboot项目测试2、配置Tomcat解压文件端口号是否占用启动Tomcat一、云服务器官网:云服务器ECS_云
2022-01-28 12:27:02
1114
原创 HTML5期末复习
HTML5考的内容比较多、也比较杂,这里重点选几种经典例子来展示。加载JSON数据并分页题目参照效果图设计一个可分页显示的表格,表格数据由json文件提供。涉及到的颜色值可自行设定,但需要有一定的区分度,不可都用一种颜色。素材提供了index.html文件,考生在此文件上补充内容完成整个页面效果。样式表需要写在独立的样式表文件中,命名为“index.css”。要考虑标题行、奇数行、偶数行、鼠标所在行的效果,其中标题行效果需加粗字体。脚本可直接写在html文件中。解答首先,我们先把基本
2021-12-22 19:03:52
2987
1
原创 Wex5 App移动开发期末复习
wex5这门课平时也没怎么学,只有期末突击!下面是这段时间学到的知识!主从表实现要求请设计一个页面,完成如下效果:提示:效果图中数据显示及表头显示采用的行组件,没有使用list,表头标签使用HTML分组中的label。指针移动按钮为页面底部的按钮组,非独立按钮组件。红色横线通过设置行组件的底边样式实现。实现效果解答1、先在model里面建立两个本地数据表,建好后的数据表如图显示。student数据表nation数据表2、建立好数据表后,建立基本的页面。在conten
2021-12-21 14:58:20
3255
3
原创 软件工程之期末理论知识复习
软件概论软件的概念软件(software):软件是计算机系统中与硬件相互依存的另一部分。它包括程序、数据及其相关文档的完整集合。(1)能够完成预定功能和性能的可执行指令(program)(2)使得程序能够适当地操作信息的数据结构(data)(3)描述程序的操作和使用的文档(document)软件危机软件危机定义:软件在开发和维护过程中遇到的一系列严重问题。如何开发软件。如何维护数量不断膨胀的已有软件。软件工程定义、研究内容软件工程是建立和使用一套合理的工程原则,以便获得经济的软件,
2021-12-18 16:00:26
876
3
原创 javaEE期末复习指南
准备项目结构数据库Book表usertab表jar包web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http:
2021-12-16 22:04:55
1757
1
原创 数据结构:队列的基本操作
队列是一种先进先出(First in First Out)的线性表,简称FIFO。与栈不同,栈是一种后进先出(先进后出)的线性表。在队列中,允许插入的一端称为队尾,允许删除的一端称为队头。假设队列是q=(a1,a2,…,an),那么a1就是队头元素,而an是队尾元素。这样我们就可以删除时,总是从a1开始,而插入时,列在最后。这也比较符合我们通常生活中的习惯,排在第一个的优先出列,最后来的当然在队伍的最后。队列分为顺序队列和循环队列。顺序队列我们可以利用数组或者链表实现。这里,我们选择用链表实现顺序队列。链
2021-02-07 18:58:35
8038
2
原创 排序之快速排序
快速排序是一种常用的排序算法,是对冒泡排序的一种改进。C语言标准库中的函数qsort实现的就是快速排序。快速排序使用了分而治之的算法思想。通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。下面我们来看一下快速排序。代码设置监视哨兵(Java版)import java.util.Scanner;public class QuickSort { pu
2021-02-06 18:53:53
368
原创 数据结构:栈的基本操作
栈是一种操作受限的线性表,只允许从一端插入和删除数据。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈有两种存储方式,即线性存储和链接存储(链表)。下面我们来看一下顺序栈和链栈的相关操作。顺序栈顺序栈的进栈和出栈顺序栈的进栈操作Status PushStack(SqStack *S,SElemType e){ if
2021-02-05 16:28:43
2437
1
转载 排序之冒泡排序
基本思想冒泡排序,类似于水中冒泡,较大的数沉下去,较小的数慢慢冒起来,假设从小到大,即为较大的数慢慢往后排,较小的数慢慢往前排。直观表达,每一趟遍历,将一个最大的数移到序列末尾。代码实现(java)冒泡排序第一版import java.util.Scanner;public class BubbleSort { public static void main(String[] args) { int[] a = new int[10]; Scanner in = new Scanner
2021-02-04 22:45:53
74
原创 数据结构:链表的基本操作
链表,一种重要的数据结构。它与数组不同,数组是分配一段连续的存储空间;而链表则是动态地分配离散空间,并用指针串联。下面是链表的基本操作。#include "stdio.h"#include "stdlib.h"#define OK 1#define ERROR 0typedef int ElemType;typedef int Status;typedef struct LNode{ ElemType data; ElemType length; struct LNode *n
2021-02-04 12:38:06
1686
1
转载 C语言之scanf和gets在字符串输入时遇到空格?
生活中,字符和字符串无处不见。当你输入带空格的一段字符串时,比如:“I love you”。如果你用scanf输入,语句应该是这样的:char str[100];scanf("%s",str);而你得到的结果却是I由此,我们可以断定,scanf遇到空格就停止读入了。那么我们应该如何解决这个问题呢?我们有两种解决方法。第一种:用gets函数char str[100];gets(str);得到的结果如下:I love you因为gets可以读入空格,遇到回车才会停止,gets对
2021-01-22 18:33:59
10796
2
原创 数据结构:顺序表的基本操作
顺序表,全名顺序存储结构,是线性表的一种。顺序表的初始化Status InitList_Sq(SqList *L){ L->elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if(!L->elem) exit(OVERFLOW);///存储分配失败 L->length=0; L->listsize=LIST_INIT_SIZE;///初始存储容量 return OK;}顺序表的插入操作St
2021-01-20 21:08:25
489
原创 爬楼梯问题
爬楼梯题目描述树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级也可以第一次走两级,第二次走一级,一共3种方法。输入格式输入包含若干行,每行包含一个正整数N,代表楼梯级数,1 <= N <= 30输出格式不同的走法数,每一行输入对应一行输出样例输入5 8 10样例输出8 34 89分析当楼梯为1级时,一共有1种方法;(每次都走1级)当楼梯为2级时,一共有2种方法
2021-01-19 23:22:03
276
原创 车厢重组问题
车厢重组题目描述在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。输入格式共两行。第一行是车厢总数N(≤10000)。第二行是N个不同的数表示初始的车厢顺序。输出格式一个
2021-01-16 19:57:19
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人