自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java八股文-01

HTTP每次请求都是独立的,不需要考虑之前和之后的请求,简化服务器设计;每次请求完成后就释放资源,提高并发性能;极高的可伸缩性,请求之间无关联,任何一个服务器都可以处理客户端的任何请求;负载均衡非常简单,请求时,服务器之间不需要传递信息;无状态的请求如何解决登录和购物车的问题Cookie和Session用户第一次访问,服务器为用户创建唯一Session ID,并在服务器上开辟一块存储空间 Session;服务器在HTTP响应中Set-Cookie头,将Session ID 发给浏览器;

2025-11-13 15:20:20 266

原创 【23 无监督学习】

图上是以二维数据示例的,即每个样本点有两个特征 (x1,x2),例如房子的大小和卧室数目,例如人群的年龄和肌肉含量;计算重新分配后的点的均值,并将质心移动到均值处。对于该成本函数,尽量减少成本函数,将样本点分配给最近的簇质心μ,调整簇质心μ的位置使得该聚簇中所有样本点到簇质心的距离平方最小。强化学习尚未带动巨大的商业价值,如推荐系统,但它受到了很高的学术界的关注,强化学习为学习算法能够实现的目标开辟了新的前沿。k-means 算法所做的是试图找到点到聚簇中心的分配,找到最小化平方举例的聚簇中心的位置。

2025-10-12 10:48:00 910

原创 【22.2 增强决策树】

找到那些目前被决策树分类错误的样本,然后再训练一次,这次新构建的决策树,在这些被分类错误的样本上,很可能会有更好的表现。当每次重复这个循环时,改变的一点是,在抽样时,不是以相同的概率选择每个训练样本,而是以更高的概率去选择那些在目前构建的树集合中表现较差的样本(那些被决策树错误分类的样本,有更高的概率被选中)。在第二次循环中,使用有放回抽样来重新生成训练集,每次选取样本时,那些被错误分类的样本有更大的概率会被选中,这会让第二棵树以类似于刻意练习的方式关注这些被分类错误的样本示例。回归是无限的连续点。

2025-10-09 16:18:38 941

原创 【22.1-决策树的构建1】

根节点的熵值 - (左分支权重 * 左分支熵值 + 右分支权重 * 右分支熵值)

2025-10-09 10:19:43 704

原创 【移除Git管理】

删除 .git 文件夹方案1:完全脱离 Git 管控(推荐)1.1 删除所有 Git 相关文件bash。

2025-09-24 10:47:55 515

原创 【21-倾斜数据集的误差指标】

当在开发机器学习程序时,其中正反例子的比例失衡,远非50-50,那么通常的错误度量指标,如准确率,就不会那么有效;例子:训练一个二元分类,基于实验室测试和其他数据来检测病人身上是否有某种罕见疾病;假设你发现在测试集上,该模型的错误率是1%,即拥有99%的正确率,但事实上,如果这是罕见病,则y=1的数据例子就非常少,假如只有0.5%的人有这种病,你在程序中只需要写print(“y=0”) 则这个程序就拥有99.5%的准确率,这行代码实际上比你的模型(99%)的准确率还高(手动狗头)。

2025-08-14 21:44:41 939

原创 【22-决策树】

例子:猫分类,在一家猫咪收留中心,需要训练一个分类器快速地识别一个动物是否是猫;输入特征:耳朵形状(尖的pointy 耷拉的floppy);脸形状;胡须whiskers;输出:是否是猫;什么是决策树?使用决策树学习算法对数据集进行训练后得到的模型,看起来像一棵树;树最顶端的叫根节点;椭圆型的叫决策节点,矩形框叫叶节点,用作输出预测结果;除了示例的决策树,实际上还存在其他很多种决策树,它们根据每种特征的值做不同的选择,走不同的分支;这些决策树有些在测试数据集上表现地好,有些表现地差。

2025-08-14 21:40:21 427

原创 【20-模型诊断调优】

观察学习算法的偏差和方差,可以发现下一步如何调优高偏差:欠拟合,训练集上误差太大;高方差:过拟合,泛化能力太差;当有更多特征(即更多维度)时,无法画图查看其拟合程度,是欠拟合/过拟合/刚刚好;而更普遍和通用的方法是,查看模型在训练集和验证集上的表现;Jtrain 和 Jcv 来体现,具体来说:高偏差:Jtrain和Jcv都很高;高方差:Jtrain 很低,Jcv很高;刚刚好:Jrain较低,Jcv较低;

2025-08-14 21:37:22 724

原创 【19-模型训练细节 】

1、指定输入和输出,即模型定义;2、指定损失函数和成本函数;3、指定训练算法,如梯度下降算法;

2025-08-14 21:24:19 167

原创 【18-模型选择】

假如所得到的五次多项式的误差最小,J最小,而实际上你选择的五次多项式所得到的误差/Jtest,很可能是一个乐观的泛化误差估计,它比实际的泛化误差要小;此外,在逻辑回归模型中,还有另外的方法用来评估模型,即测试算法在测试集和训练集中分类错误的比例,统计测试集中模型推导出的yhat不等于真实的y值的比例;“乐观估计”产生的原因是测试集的误差不再是一个独立的、无偏的性能指标,因为测试集实际上参与了模型的训练和选择过程,所以它的误差会比真实的泛化误差更低,这会导致对模型性能的高估。(验证集用来做模型选择)

2025-08-14 21:21:54 483

原创 【17-adam高级优化算法】

事实发现,一些优化算法用于最小化成本函数cost function,它们甚至比梯度优化算法下降地更好;Adam: Adaptive Moment estimation 为模型的每个参数使用不同的学习率;Adam算法,可以自动调节alpha的大小,以便更高效地达到局部极小值;当每步都朝着谷底走一小步需要走很多步,或许可以尝试调大alpha;当好几次都来回在下降的壁上来回震荡,可尝试调小alpha;alpha为学习率;

2025-08-14 21:15:54 225

原创 【16-softmax回归】

softmax回归是对逻辑回归的扩展;image.pngsoftmax回归是逻辑回归的广义形式,当N=2时,softmax回归就是逻辑回归;基于sigmoid逻辑回归的损失函数和成本函数做推广,推导出softmax回归的损失函数和成本函数。

2025-08-14 21:14:16 408

原创 【15-多类别分类和多标签分类】

即有多个输出的类别,使用softmax回归算法,划分多个边界,决策边界;

2025-08-11 22:34:52 148

原创 【14-模型训练细节】

1、指定输入和输出,即模型定义;2、指定损失函数和成本函数;3、指定训练算法,如梯度下降算法;

2025-08-11 22:32:41 186

原创 【13-向量化-高效计算】

将参数X, W, B, A_in, A_out 全部当作矩阵处理,会非常高效地得到某一层的输出A_out,matmul是NumPy中的矩阵乘法;研究者能够扩展神经网络并构建非常大型网络的原因之一,就是神经网络可以被向量化,vectorized;可以非常高效地用矩阵地乘法实现。事实上,并行计算硬件,例如GPU,一些CPU的功能,非常擅长进行非常大的矩阵乘法,矢量化的神经网络是如何工作的。

2025-08-11 22:29:10 238

原创 【12-激活函数】

如果是线性函数,那就是线性回归模型,如果是sigmoid函数那就是逻辑回归模型;

2025-08-11 22:26:48 438

原创 【11-计算机视觉介绍】

神经网络的一个显著特点是,它可以自己在不同的隐藏层学习这些特征检测器,在这个例子中,没人 告诉它应该在第一层寻找短线,第二层找鼻子眼睛,第三层组合面部特征,神经网络可以从数据中自行找出这些东西。现有一张照片,其像素为1000*1000,该照片像素强度值在0~255,将所有的像素值平铺开来就得到了一个包含1000,000个元素的列,或者说向量;如果要求检测汽车,对于同样的模型和算法,它在每个隐藏层中几乎做着相同的事情。能否训练一个神经网络,输入为1000,000个像素亮度值的特征向量,输出为人物身份;

2025-08-11 22:18:14 349

原创 【10-神经网络的代码实现】

由于NumPy被Python划入到自己的库中,吴恩达在谷歌大脑创建了TensorFlow,二者的数据可以相互转化,使用NumPy数组,或者TensorFlow的张量。在TensorFlow中,惯例是用矩阵来表示数据;不需要一层一层地计算激活值并传递,直接告诉TensorFlow,将两层串起来形成一个神经网络。NumPy数组,TensorFlow以某种特定的方式处理数据;神经网络的特点:相同的算法可以应用到很多不同的应用程序中。Dense:神经网络的神经元层的另一种名称;烘焙咖啡的温度和时间,输出是否好喝;

2025-08-11 22:10:34 148

原创 【09-神经网络介绍2】

计算出隐藏层中某一层的输入(上一层的激活值向量)输出(本层的激活值向量),得到公式;其中l为当前层数(不算初始输入数据层),j为当前层的第几个节点/神经元,a 表激活值,g() 表sigmoid函数;在这里g()被称为激活函数;为了保持一致,将最原始的输入特征数据称为a0, 即第0层的激活值;

2025-08-11 22:05:47 371

原创 【08-神经网络介绍】

神经网络的工作原理,如何进行推理和预测;如何训练自己的神经网络;构建机器学习系统的实际建议;学习决策树;神经网络,模仿大脑工作的软件语音识别 -> 图像识别 -> 文本NLP -> …大脑如何工作:神经元 - 突触 - 神经元 ,许许多多神经元相互连接形成的网络,相互传输电信号;1990 年,神经网络 - 2005 深度学习 -数据量的爆发,以及神经网络可以增加神经元的数目,并利用大量的数据,可以不断提高该模型的性能;

2025-08-11 22:02:51 838

原创 【07-AGI的讨论】

许多动物实验表明,同样的某一个位置的大脑组织可以完成很广泛的任务,这导致了一个学习算法假设,即也许大量的智能都是由一个或少数几个学习算法决定的,如果我们能找到那几个算法,或许就可以…过去,在科技硬件软件水平不够时,曾经幻想当网络中的神经元的数量只要足够多,就能够达到类似于人脑的程度,但事实上并非如此,因为每个神经元所做的例如逻辑回归是完全对生物上神经元简化了的模型;这样一系列的实验表明:大脑的许多不同部分,只取决于它所接收的数据,然后学会看,学会处理听觉和触觉,就好像是有一个相同的算法来处理不同的输入。

2025-08-11 21:53:38 227

原创 【06-过拟合和正则化】

正则化regularization 可以最小化过拟合的问题,使得学习算法更有效;high bias 高偏差 underfit 欠拟合generalization 泛化,即模型对于不在训练集中的数据也能拟合地很好;high variance 高度可变 overfit 过拟合 :当训练集中地数据略有不同,则其训练出来地模型大不相同,会给出完全不同的预测值;机器学习的目标:找到一个既不欠拟合也不过拟合的模型。image.png。

2025-07-31 19:44:04 696

原创 【05-梯度下降的收敛和特征缩放技巧】

学习率alpha的选择,如何检查是否收敛;如何确保梯度下降在有效执行1、检查成本函数J和迭代次数的图示,是否随着迭代次数而下降;事实证明,事先很难判断梯度下降需要多少次迭代才能收敛,可能是几十次,也可能是几万次;模型何时完成训练:1、随着迭代次数J不断降低直到几乎不下降,观察图示;2、自动收敛测试:设置epsilon变量,它为一个临界值,如0.001,当某次迭代所下降的J值小于0.001, 就认为是已经达到了收敛;通常,选择合适的阈值epsilon是非常困难的。

2025-07-31 19:30:40 292

原创 【04 逻辑回归算法的训练】

所以,对于逻辑回归算法,它的成本函数要做调整,定义一个损失函数,对于样本数据 y = 1 或 y = 0 时,给出不同的log函数;注意:损失函数是对单个训练样本的表现,通过对所有训练样本的损失求和,可以得到成本函数cost function J(x), J衡量的是整个训练集的表现;损失函数:当预测值接近样本数据,则损失值很小,当预测值远离样本数据,则损失值趋近于无穷大;如果按照平方误差来计算sigmoid的成本函数J,则J会存在多个局部极小值,梯度下降将会陷入局部极小值中。

2025-07-29 20:57:53 143

原创 【03逻辑回归-分类算法】

将 sigmoid 函数和线性函数wx + b 组合起来,即将 z 替换为 wx + b ,输入为一组特征向量x, 输出为 0 - 1的数值;“逻辑回归是一种基于线性回归模型的处理二分类问题的分类算法,它实质是将线性回归的计算结果通过逻辑函数转换成取值范围为0或1的分类算法。即w1x1 + w2x2 + b >=0 或 <0,这样可以找到一条临界线,即决策边界,对于不同的w1 w2 b 其边界线也是不同的;对于给定的输入x,参数 w b ,最后的输出 y = 1 的概率。线性回归处理分类问题时,表现不良,

2025-07-29 20:51:25 273

原创 02-多个入参的模型

根据已有数据来预测房子的售价;已有:一组已卖出的房子,面积,楼层数,卧室数,年限,售价;将面积,楼层数,卧室数,年限这些入参简记为x1, x2, x3, x4;这种具有多个输入特征的线性回归模型称为多元线性回归(multiple linear regression),与单变量回归相区别;向量向量化b = 4。

2025-07-28 16:38:13 229

原创 机器学习-前言00

将b = 0, 此时得到的成本函数J是一个开口向上的抛物线,假设抛物线的轴线为x=a,在抛物线上随机选择一点作为起始点,当起始点在a的右边时,此时斜率为正数,alpha为整数,w原值减去一个正数,则更新后的w比原来的w要小,即朝着左侧移动,也就是朝着a处移动;alpha,学习率 learning rate ,通常是介于0 -1 之间的小数,控制着向下迈步的大小,J对w的偏导,the part derivative term,偏导部分指定了向下走的方向。监督学习,线性拟合模型,回归模型是预测数字作为输出;

2025-07-28 16:29:21 414

原创 【软考-02 操作系统】

对于这个题目,要用流水线的计算时间的方法来计算,对于单缓冲区,因为只允许一个进程在缓冲区进行操作,且不能同时进行读写操作,所以将涉及到缓冲区操作的读写过程视为一个步骤,只有当涉及到缓冲区的读写(15+5)操作完成后,才可以进行在工作区对数据的处理工作。比特位太小难以查找,位示图按字来分组,一个字能存8个位,一个位的0/1来代表所指定的磁盘的状态是否可用。PV操作: 进程与进程之间存在并发,那对于资源有限的情况下,如何管理多进程对资源的访问,如何限制各进程之间形成协调的同步模型,这个时候就用到了PV操作。

2024-03-28 08:00:15 725

原创 【软考-01 计算机组成与体系结构】

二进制,八进制,十进制,十六进制 之间的转换;十进制转R进制使用短除法:除基取余法。

2024-02-27 20:36:06 768

原创 【慢SQL优化】

而当使用OR时,也将所有OR的数值放到一个数组内,但未进行排序,在检索时,拿到一条数据,就只能一个个遍历这个数组中的每条数据,效率较低。这样,当对这个表进行查询时,只需要在表分区中进行扫描,而不必进行全表扫描,明显缩短了查询时间,另外处于不同磁盘的分区也将对这个表的数据传输分散在不同的磁盘 I/O,一个精心设置的分区可以将数据传输对磁盘 I/O 竞争均匀地分散开。MySQL数据库是按照行的方式进行存储,而数据存取操作都是以一个页大小进行IO操作的,每个IO单元中存储了多行,每行都是存储了该行的所有数据。

2024-02-06 17:14:26 954

原创 【VUE入门】

再配合vue的class与style CSS 样式绑定等,vue就几乎能随心所欲地控制页面内容和视图的动态更新变化。因为vue的class与style CSS 样式绑定、表单输入绑定、条件渲染、列表渲染也是根据data里对应的某个值的变化而变化。这样基本上控制了data里面各参数值的变化,就控制了整个页面内容和视图的变化。{{name}} 的值与data中的值绑定。每次页面加载后,这个vue的生命周期函数就会被触发一次,去实现请求页面的数据后并赋值给data里面的各个参数的代码。

2024-01-03 08:09:13 1427 1

原创 模块化程序 点与圆的关系 类中成员函数的声明和实现分开写入头文件和源文件中

@[TOC]模块化程序在黑马程序员课程4.1.3成员属性设置为私有 课后案例 点和圆的关系中 谈到了文件的封装此案例是判断点与圆的关系,重点是以另外一个类作为本类中的成员;在比较大的开发中,会有许多个类,以及许多个函数。因此,以封装的思想,来模块化程序。#include<iostream>using namespace std;class Point{public: void setX(int x) { m_X = x; } int getX() { retu

2021-01-31 11:47:05 334 2

原创 4.7 多态 基本概念;多态实现的底层逻辑;纯虚函数和抽象类

#include<iostream>using namespace std;//多态分为两类//1、静态多态:函数重载和运算符重载属于静态多态,复用函数名//2、动态多态:派生类和虚函数实现运行时多态 一般C++中的多态只动态多态//区别//静态多态的函数地址是早绑定的 - 编译阶段确定函数地址//动态多态的函数地址是晚绑定的 - 运行阶段确定函数地址//动物类class Animal{public: //虚函数 virtual void speak() { .

2021-01-21 17:17:49 248

原创 4.6 继承2 构造和析构顺序 继承同名成员和同名静态成员的处理方式 多继承 菱形继承与虚继承

4.6.4 继承中构造和析构顺序子类继承父类后,当创建子类对象,也会调用父类的构造函数问题是,父类和子类的构造和析构谁先,谁后?#include<iostream>using namespace std;class Base{public: int m_A = 0; Base() { cout << "Base 构造函数的调用" << endl; } ~Base() { cout << "Base 析构函数的调用"

2021-01-20 11:12:09 197

原创 4.6 继承 基本语法 继承方式(公共保护私有) 对象模型

#include<iostream>using namespace std;//普通实现页面//java页面//class Java //{//public:// void header()// {// cout << "首页、公开课、登陆、注册、...(公共头部)" << endl;// }// void footer()// {// cout<<"帮助中心、交流合作、站内地图...(公共底部)"<<endl..

2021-01-19 16:52:45 167

原创 4.5 运算符重载 赋值运算符 = ;关系运算符== !=,函数调用运算符(),又称仿函数

在含有堆区数据的对象中,为了避免使用=过程中,出现的重复释放内存的过程中,要将=进行重载,实现深拷贝。#include<iostream>using namespace std;class Person{public: Person(int age) { m_Age = new int(age); } Person& operator=(const Person &p)//如果在这里,不是返回的自身,程序直接蹦掉,且p2输出乱码。 //这是因为,返回.

2021-01-19 15:40:11 167

原创 2 引用 复习 引用做函数参数;引用做函数返回值,左值;引用的本质;常量引用

2.2 引用定义引用 注意事项1、引用必须初始化; int a=; int & b=a;2、引用初始化后,不可以更改。2.3 引用做函数参数作用:函数传参数时,可以利用引用的技术让形参修饰实参优点:可以简化指针修改实参//值传递void swap01(int a,int b){ int temp = a; a = b; b = temp;}//地址传递void swap02(int *a,int *b){ int temp = *a; *a = *b; *b

2021-01-18 20:20:54 182

原创 4.2对象特性-函数分类 构造函数与析构函数 以及深拷贝与浅拷贝 静态成员

4.2.3 构造函数与析构函数1、在创建对象 的时候需要调用 构造函数2、在释放对象的时候,即使用了某对象的函数执行完毕,则会调用析构函数。构造函数可分为:默认构造函数 有参构造函数 拷贝构造函数class Person{public: int m_age; //默认构造函数: Person() { cout<<"默认构造函数的调用"<<endl; } //有参构造函数 Person(int age) { m_age = age; cou

2021-01-18 10:38:32 167

原创 4.5运算符重载 加号运算符+ 左移运算符<< 递增运算符++

4.5 运算符重载所谓两个自定义数据相加,即两个结构体,或者两个对象相加。等操作。#include<iostream>using namespace std;class Person{public: int m_A; int m_B; //1、通过成员函数重载加号运算符 //Person PersonAddPerson(Person& p) //{ // Person temp; // temp.m_A = this->m_A + p.m_A; //

2021-01-17 20:42:14 411

原创 内存分区 复习

内存分区,复习内存四区:代码区,全局区,栈区,堆区。1.1 代码区和全局区全局区存放的数据1.2 栈区#include<iostream>using namespace std;//栈区数据注意事项 -- 不要返回局部变量的地址//栈区的数据由编译器管理开辟和释放int * func(int b) //形参数据也会放在栈区{ int a = 10; //局部变量 存放在栈区,栈区的数据在函数执行完后自动释放 return &a;//返回局部变量的

2021-01-17 14:16:43 134

C++基础,从入门到类与对象的 const修饰成员函数

C++基础,从入门到类与对象的 const修饰成员函数

2021-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除