自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 【无标题】test

test

2022-09-24 21:21:23 509

原创 机器学习第五章逻辑回归算法(《大话Python机器学习》学习笔记)

第五章逻辑回归算法  逻辑回归算法实在线性回归算法的基础上,构建因变量y的转换函数,将y的数之划分到0-1两类,或者多类,实现对事物的分类拟合与预测。5.1从线性回归到分类问题回归方法是一种对连续型随机变量进行预测和建模的算法。  预测房价、股票走势、商品销量等。分类方法是一中对离散型随机变量进行建模或预测的算法  过滤垃圾邮件、金融欺诈、预测评价是正面还是负面等。回归任务的特点是标注的数据集为连续型随机变量分类算法同城适用于预测一个离散型类别(类别的概率)5.2基于Sigmoid函数

2022-01-13 11:02:21 373

原创 机器学习第四章线性回归算法进阶4.5Lasso回归(《大话Python机器学习》学习笔记)

第四章线性回归算法进阶4.5Lasso回归  Lasso回归与岭回归类似,差别在于使用了不同的正则化项,由于引入正则项不同,解决了岭回归的一些不足,更好地实现了回顾估计法。4.5.1Lasso回归原理  Lasso回归是让回归系数不要太大,以免造成过度拟合。  与岭回归不同的是,Lasso是在成本函数J(θ)中增加参数绝对值和的正则项:          岭回归中加入了参数平方和的约束惩罚项(L2正则化)  Lasso回归中加入了参数绝对值和的约束惩罚项(L1正则化)        

2022-01-11 19:01:23 1007

原创 机器学习第四章线性回归算法进阶4.4岭回归(《大话Python机器学习》学习笔记)

第四章线性回归算法进阶4.4岭回归  岭回归是线性回归算法正则化的两种常用方法,既可以解决过拟合问题,也可解决线性回归求解中多重共线性问题,即避免(XTX)-1不可逆的情况。4.4.1岭回归的原理  岭回归是基于最小二乘估计法提出的一种有偏估计方法,是对最小二乘估计法的一种改良。  为了获得既可靠又切合实际的回归系数,损失部分信息,并降低精度,放弃了最小二乘法的无偏性。  岭回归就是在残差平方和的基础上增加了参数平方和的正则项,如下所示:            对J(θ)关于θi求偏导,并令

2022-01-11 18:38:16 951

原创 机器学习第四章线性回归算法进阶4.3线性回归的正则化(《大话Python机器学习》学习笔记)

第四章线性回归算法进阶4.3线性回归的正则化4.3.1为什么要使用正则化欠拟合(Underfitting):  采用一定的算法去拟合时,如果没有考虑相当的信息量(特征变量),从而对训练数据集的拟合算法无法精确,便会发生欠拟合现象。欠拟合也成为高偏差(Bias),即建立的模型拟合与预测效果较差。  解决方法:通过增加更多的特征变量,利用更高次幂的多项式当作假设函数,以该假设函数来拟合训练数据。过拟合(Overfitting):  采用一定的算法去拟合时,有时会有训练数据不够情况发生,也就是训练

2022-01-03 12:07:24 1347

原创 机器学习第四章线性回归算法进阶4.2梯度下降法求解多变量线性回归(《大话Python机器学习》学习笔记)

第四章线性回归算法进阶4.2梯度下降法求解多变量线性回归  梯度下降法是对最小二乘法进行优化求解回归的一种算法,它采用了迭代的形式来寻找成本函数J(θ)的最小值。其中J(θ):4.2.1梯度下降的含义定义:  来自于数学中的微积分,通过对多元函数参数求偏导数,把求得的各参数的偏导数以向量的形式写出来就是梯度。几何意义:  函数变化增加最快的地方  梯度上升:    沿着梯度向量的方向更容易找到函数的最大值。  梯度下降:    沿着梯度向量相反的方向,梯度减小最快,更容易找到函数的最

2022-01-02 11:05:20 1627

原创 机器学习第四章线性回归算法进阶4.1多变量线性回归算法(《大话Python机器学习》学习笔记)

第四章线性回归算法进阶  多变量线性回归算法的求解远离取自于单变量线性回归算法,又克服了单变量线性回归算法只有一个特征变量,在实际应用中的局限性,因而用途广泛。  多变量线性回归常规解法中对变量有特定要求,而实际应用中不可能并不满足这个要求,同时存在过拟合等问题,因而在基础求解上,需要引入正则化、岭回归和Lasso回归等,进一步优化与拓展多变量线性回归算法的求解。4.1多变量线性回归算法4.1.1多变量线性回归算法的最小二乘求解基本模型:  hθ(x)=θ0+θ1x1+θ2x2+θ3x3+…+θ

2022-01-01 10:40:47 1658

原创 机器学习第三章单变量线性回归(《大话Python机器学习》学习笔记)

3.1回归本质3.1.1拟合概念通过数据之间的关系建立一种近似的函数关系3.1.2拟合与回归的区别通过拟合方法可能找到关系曲线,但是不能确定对未知的数据拟合程度寻找合适的曲线,越来越难拟合是人们主观感知3.1.3回归的诞生《遗传的身高向平均数方向的回归》Regression3.1.4回归的本质含义不仅是数据拟合手段,更是预测,不断向平均值回归3.2单变量线性回归算法用两个变量建立线性回归方程,来拟合与预测两变量关系的算法常规求解:  最小二乘法(实际值与预测值之间偏差的平方

2021-12-25 18:36:16 1720

原创 继承多态总结_程序设计B

   这周结束了程序设计B课程的学习,继stl之后继承和多态这一块并没有布置太多的练习操作,但是要完成课程设计,继承和多态确实十分重要。同时,学继承和多态时,有一种拨云见日的感觉,特别是学到赋值兼容规则和类指针这个地方。之前买了GoF的设计模式,里面有事有指针又是有引用,就看的有些懵,只能浅浅的读一读里面的文字,然后被束之高阁。现在学了继承和多态,再回去看看应该或多或少又能收获东西了。   因为没有做过练习,也不知道该从哪里说些什么,就从实现选课

2020-05-18 01:51:04 174

原创 继承_程序设计B

继承类之间的关系基类和派生类访问控制重名成员类之间的关系继承:在已有类的基础上创建新类的过程一个 B 类继承A类,或称从类 A 派生类 B类 A 称为基类(父类),类 B 称为派生类(子类)基类和派生类类继承关系的语法形式class 派生类名 : 基类名表 { 数据成员和成员函数声明 };基类名表 构成访问控制 基类名1, 访问控制 基类名2 ,… , 访问控制 ...

2020-05-05 22:42:00 292

原创 STL总结_程序设计B

   第八周开始学习STL,做了一份图书管理的后台程序,从开始做到现在不停地修改程序,我感觉到写程序就是落落落落落落落落落,只有最后程序能正常运行的时候才是起。但是每做一次改一次程序,尽管花费的时间很多,同时也能发现一些在以后学习过程中要避免的问题。   做第一次作业的时候,当时大概是从下午三点左右到了第二天的两点,这段时间中吃个饭都觉...

2020-04-27 09:55:14 249

原创 STL_程序设计B

#include<bits/stdc++.h>using namespace std;int a[]={0,31,28,31,30,31,30,31,31,30,31,30,31};class Basic{static int maxBorrow;static int longBorrow;public:int getMaxBorrow(){return maxBorr...

2020-04-20 19:18:15 286

原创 算法15_回溯

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2020-04-16 00:40:08 288

原创 算法笔记14_贪心

贪心鱼塘钓鱼问题数据结构搜索贪心策略慕课最优前缀码及哈夫曼算法哈夫曼算法的正确性证明鱼塘钓鱼问题约翰有h(1≤h≤16)个小时的时间,在该地区有n(2≤n≤25)个湖,这些湖刚好分布在一条路线上,该路线是单向的。约翰从湖1出发,他可以在任一个湖结束钓鱼。但他只能从一个湖到达另一个与之相邻的湖,而且不必每个湖都停留。假设湖i(i=1~n—1),以5分钟为单位,从湖i到湖i+1需要的时间用ti...

2020-04-13 17:23:01 375

原创 文件操作2_程序设计B

二进制文件二进制文件以基本类型数据在内存的二进制表示形式存放数据,不对写入或读出的数据做格式转换二进制文件的读写方式由程序控制打开二进制文件用binary方式二进制文件是随机存取文件通常一个逻辑记录用换行符分隔;数据项之间可以用空白符、换行符、制表符等分隔文件中只存储了数据,没有存储记录的逻辑结构每条记录的长度是不同的只能顺序访问每一条记录用read()函数和write()函数读...

2020-04-13 16:59:12 232

原创 文件操作1_程序设计B

文件处理各种计算机应用系统通常把一些相关信息组织起来保存在外存储器中,称为文件,并用一个名字(称为文件名)加以标识C++把文件看成无结构的字节流,编码方式: 文本文件 二进制文件存取方式: 顺序文件 随机文件ifstream、ofstream 和 fstream 类用于内存与文件之间的数据传输打开和关闭文件要执行文件的输入输出,须做以下几件事:(1) 在程序...

2020-04-12 23:57:00 289

原创 算法笔记13_贪心

贪心删数问题多处最优服务次序问题木棒加工问题慕课最优装载问题最小延迟调度问题得不到最优解的处理方法删数问题给定n位正整数a,去掉其中任意k≤n个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数k,设计一个算法找出剩下数字组成的新数最小的删数方案。输入第1行是1个正整数a,第2行是正整数k。输出对于给定的正整数a,编程计算删去k个数字后得到的最小数。...

2020-04-12 23:05:59 706

原创 算法笔记12_贪心

贪心活动安排问题贪心的理论基础贪心选择性质最优子结构性质求结过程背包问题慕课贪心法的例子:活动选择问题贪心法正确性证明:活动选择贪心在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。从贪心算法的定义可以看出,贪心算法不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解...

2020-04-12 22:03:56 569

原创 算法11_动态规划

0-1背包递归关系分析最优解慕课背包问题最长公共子序列0-1背包给定一个物品集合s={1,2,3,…,n},物品i的重量是wi,其价值是vi,背包的容量为W,即最大载重量不超过W。在限定的总重量W内,我们如何选择物品,才能使得物品的总价值最大。如果物品不能被分割,即物品i要么整个地选取,要么不选取;不能将物品i装入背包多次,也不能只装入部分物品i,则该问题称为0—1背包问题。如果物品...

2020-04-12 20:47:09 249

原创 算法笔记10_动态规划

最长公共子序列1.最长公共子序列的结构2.子问题的递归结构3.计算最优值4.构造最长公共子序列最大子段和动态规划算法动态规划算法的最优解慕课动态规划算法的迭代实现投资问题最长公共子序列若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z=...

2020-04-12 20:10:06 615

原创 算法9_动态规划

动态规划基本思想步骤特征慕课动态规划算法的例子最短路径问题动态规划算法设计动态规划算法递归实现基本思想动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。适合于用动态规划求解的问题,经分解得到子问题往往不是互...

2020-04-12 18:35:33 262

原创 算法笔记8

矩阵连乘积最优解的结构递归关系最优值最优解选最大与最小分组算法分治算法选第二大通常算法锦标赛算法一般选择问题的算法设计选择问题的算法分析卷积及应用卷积计算快速傅立叶变换FF平面点集的凸包矩阵连乘积定义:给定n个矩阵{A1,A2,…,An},其中Ai与Ai+1是可乘的,i=1,2,…n-1。考察这n个矩阵的连乘积A1A2…An。由于矩阵乘法满足结合律,所以计算矩阵的连乘- 可以有许多...

2020-04-12 17:27:06 321

原创 算法笔记7_递归与分治

递归与分治递归半数集整数因子分解分治最大子段和循环赛日程安排慕课幂乘算法改进分治算法的途径1:减少子问题数改进分治算法的途径2:增加预处理递归半数集给定一个自然数n,由n开始可以依次产生半数集set(n)中的数如下。(1) n∈set(n);(2) 在n的左边加上一个自然数,但该自然数不能超过最近添加的数的一半;(3) 按此规则进行处理,直到不能再添加自然数为止。例如,set(6)=...

2020-04-11 23:57:34 405

原创 算法笔记6_分治

分治分治基本步骤适用条件选择问题输油管道问题慕课分治的基本思想分治策略分治特点分治算法的一般描述和分析方法设计要点时间分析芯片测试快速排序分治基本步骤根据分治法的分割原则,原问题应该分为多少个子问题才较适宜?各个子问题的规模应该怎样才为适当?这些问题很难予以肯定的回答。在用分治法设计算法时,最好使子问题的规模大致相同。如分成大小相等的k个子问题,许多问题可以取k=2。这种使子问题规模大...

2020-04-11 22:58:16 435

原创 算法笔记5_递归

第3章 递归与分治策略递归算法Fibonacci数列集合的全排列问题整数划分问题递归算法基本步骤慕课差消法化简高阶递推方程递归树主定理任何一个可以用计算机求解的问题所需的计算时间都与其规模n有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。如果原问题可分割成k个子问题(1<k...

2020-04-11 22:06:12 320

原创 算法笔记4_递推

第二章 递推算法数字三角形斐波那契数列铺方砖慕课:序列求和的方法递推方程与算法分析Hanoi塔问题迭代法求解递推方程递推法是一种重要的数学方法,在数学的各个领域中都有广泛的运用,也是计算机用于数值计算的一个重要算法。这种算法特点是:一个问题的求解需一系列的计算,在已知条件和所求问题之间总存在着某种相互联系的关系,在计算时,如果可以找到前后过程之间的数量关系(即递推式),那么,从问题出发逐步推到已...

2020-04-11 20:47:24 481

原创 算法3_绪论

算法分析算法分析(Algorithm Analysis):对算法所需要的两种计算机资源——时间和空间进行估算时间复杂性(Time Complexity)空间复杂性(Space Complexity)算法分析的目的:设计算法——设计出复杂性尽可能低的算法选择算法——在多种算法中选择其中复杂性最低者时间复杂性分析的关键:问题规模:输入量的多少;基本语句:执行次数与整个算法的...

2020-04-11 20:09:25 836

原创 算法笔记2_绪论

算法理论的两大论题:算法设计—对于一个问题如何设计一个有效的算法算法分析—如何评价或判断一个算法的优劣问题的求解过程:分析问题→设计算法→编写程序→整理结果算法(Algorithm):对特定问题求解步骤的一种描述,是指令的有限序列。算法的五大特性:⑴ 输入:一个算法有零个或多个输入。⑵ 输出:一个算法有一个或多个输出。⑶ 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步...

2020-04-11 19:19:35 574

原创 程序设计B阶段总结

   经过一个多月的学习,了解了类的定义与使用的基本知识。包括老师花大把时间讲解的类和对象以及最近学习的运算符重载。   在类和对象这一部分,主要学到了面向对象的一些基本知识。从刚开始简单的类的定义,到后续的静态函数,友元函数,类的组合,难度也是由浅入深,逐渐深入:   类的定义包括属性和行为两个部分,属...

2020-04-06 20:56:25 205

原创 运算符重载_程序设计B

运算符重载:复杂数据类型按照常规运算方式处理不能重载的算符 :.::.*?:sizeof重载运算符的限制重载运算符函数可以对运算符作出新的解释,但原有基本语义不变:不改变运算符的优先级不改变运算符的结合性不改变运算符所需要的操作数不能创建新的运算符运算符函数可以重载为成员函数或友元函数一元运算符:Object op 或 op Object...

2020-04-06 16:14:43 227

原创 类和对象5_程序设计B

深复制不但复制本身,还复制成员的资源静态成员类成员冠以static声明时,称为静态成员。静态数据成员为同类对象共享。静态成员函数与静态数据成员协同操作。静态成员函数:静态成员不属于某一个单独的对象,而是为类的所有对象所共有。静态成员函数的作用不是为了对象之间的沟通,而是为了能处理静态数据成员: 保证在不依赖于某个对象的情况下,访问静态数据成员。静态数据成员:静态数据成员在定义或说...

2020-03-27 20:56:12 186

原创 类和对象4_程序设计B

类:数据类、操作类常成员常数据成员是指数据成员在实例化被初始化后,其值不能改变。在类的成员函数说明后面可以加const关键字,则该成员函数成为常量成员函数。常成员函数 对数据只读不写1.常数据成员:使用const说明的数据成员称为常数据成员。如果在一个类中说明了常数据成员,那么构造函数就只能通过初始化列表对该数据成员进行初始化,而任何其他函数都不能对该成员赋值。2.常对象:常对...

2020-03-23 00:14:50 102

原创 算法笔记_1

2020-03-20 00:03:18 74

原创 类和对象3_程序设计B

构造函数与set成员函数有什么区别?set成员函数必不可缺构造函数不能完全替代set函数定义一个类:构造函数 无参、有参set get析构函数this指针用类去定义对象时,系统会为每一个对象分配存储空间。如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间。按理说,如果用同一个类定义了10个对象,那么就需要分别为10个对象的数据和函数代码分配存储单元需要显式引...

2020-03-18 21:59:37 191

原创 类和对象2_程序设计B

最简单的内容,最优化的方法来解决问题成员函数可以重载:函数重载:函数名相同,但参数不相同(类型不同,或者个数不同)的一组函数。编译器根据不同参数的类型和个数产生调用匹配。函数重载用于处理不同数据类型的类似任务 。类型:1、参数个数相同,参数类型不同2、参数个数不同构造函数和析构函数构造函数:构造函数一定要重载构造函数是用于创建对象的特殊的成员函数, 当创建对象时,系统自动...

2020-03-17 22:39:35 147

原创 指针和引用_1_程序设计B

内存地址:程序运行时,代码和需要的数据都被存储在内存中。内存是有序的字节序列,每个字节都有唯一的地址,使用该地址可以确定字节的位置,用以存储和获取数据。直接访问和间接访问:通过变量的名字直接访问为程序中定义的变量分配的内存单元,存取变量的值。使用变量的内存地址找到存放数据的单元,间接访问其中的内容。指针特点:指针持有一个对象的地址,称为指针“指向”该对象。通过指针可以间接操纵它指向的对...

2020-03-15 22:01:04 100

原创 类和对象1_程序设计B

第六章 类1、类的定义类是对具有相同属性和行为的一类客观事物的概括描述。是用户自定义的数据类型(程序设计语言角度)类的定义包括行为和属性两个部分。属性以数据表示,行为通过函数实现。数据成员 属性成员函数 行为类定义的格式class 类名{ public: 公有数据成员和成员函数; protected: 保护数据成员和成员函数...

2020-03-13 21:25:52 166

原创 第八章排序(2)

简单选择排序基本思想:第i 趟在n-i+1(i=1,2,…,n-1)个记录中选取关键码最小的记录作为有序序列中的第i个记录。如何在无序区中选出关键码最小的记录?解决方法:设置一个整型变量index,用于记录在一趟比较的过程中关键码最小的记录位置。如何确定最小记录的最终位置?解决方法:第i趟简单选择排序的待排序区间是r[i] ~ r[n],则r[i]是无序区第一个记录,所以,将...

2019-12-17 12:36:17 157

原创 第八章排序(1)

排序的基本概念排序:给定一组记录的集合{r1, r2, ……, rn},其相应的关键码分别为{k1, k2, ……, kn},排序是将这些记录排列成顺序为{rs1, rs2, ……, rsn}的一个序列,使得相应的关键码满足ks1≤ks2≤……≤ksn(称为升序)或ks1≥ks2≥……≥ksn(称为降序)。正序:待排序序列中的记录已按关键码排好序。逆序(反序):待排序序列中记录的排列顺序与排...

2019-12-11 09:24:25 230

原创 第七章查找技术(3)

7.3 树表的查找技术平衡二叉树(AVL树)LR型: B=A->lchild;C=B->rchild;B->rchild=C->lchild;A->lchild=C->rchild;C->lchild=B; C->rchild=A;然后针对上述三种不同情况,修改A、B、C的平衡因子:if (S->key key) ...

2019-12-06 22:36:23 221

空空如也

空空如也

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

TA关注的人

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