自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 问答 (1)
  • 收藏
  • 关注

原创 “模式识别与机器学习”学习笔记no3.几种主要梯度下降方法的性能比较(一元函数求最值)

梯度下降方法是求目标函数最值的重要方法之一。借助它可以求解复杂的,超越的函数的优化问题。其主要思想在于,根据当前位置的梯度来决定下一步迭代的自变量取值,从而慢慢接近极小值。为了编程和计算的方便,本篇讨论在一元函数求最值背景下,几种梯度下降法的代码实现及性能比较。Q:求函数x∗cos(π∗x/4)x*cos(\pi*x/4)x∗cos(π∗x/4)的最小值。要求从x=-4开始迭代,迭代次数取50步。各超参数见代码。参数设置及驱动程序:import matplotlib.pyplot as plt

2021-09-27 22:02:26 463

原创 np.array中一个小问题的解决

在进行fisher线性分类面学习时,设计一个很简单的操作,即对两类样本求类内平均值。方法很简单,用一个min向量存储每个元素的和再除以元素个数即可。但即使这么简单的操作,却出现了问题:dataset_negative = np.array([35, 21.5, 39, 21.7, 34, 16, 37, 17])dataset_negative = dataset_negative.reshape(4, 2)mean_negative = np.array([0,0])for i in range(

2021-09-27 20:09:44 321

原创 “模式识别与机器学习”学习笔记no2.再谈感知机

接**上篇:上篇主要进行了PLA,Pocket算法的理论过程分析和在给定数据集上利用pocket算法对数据集进行分类学习,得到错分数量最少的分类面。上篇中pocket算法的过程已经进行了编程和测试,框架已经建立了起来,这一篇主要上篇中没有提到或涉及不深的几个问题。1.数据集的构造。上篇是直接使用了题目给的向量,这次来根据正态分布来产生数据集。np.random.normal函数可以根据均值和方差生成编程者想要的一系列数据。假定一部分数据以(-5,0)为均值,另一部分数据以(0,5)为均值,每组数据都有2

2021-09-17 09:46:29 273

原创 “模式识别与机器学习“ 学习笔记no.1:感知机算法及pocket算法简单代码实现

"模式识别与机器学习" 学习笔记no.1:感知机算法及pocket算法简单代码实现这篇笔记主要用来记录模式识别课程教授的第一个具体算法:感知机算法及在简单数据集上的编码实现.希望通过博客的方式,能将学习中遇到的问题和想法记录下来,供之后参考以及回顾.学习笔记中我尽量不看老师ppt和各种资料,尝试用自己的理解整理内容,并贴上自己编写的程序.python个人非常不熟练,代码美观度也很差,希望通过课程的学习不断提高.section1.感知机算法简要介绍.在本课程的学习中,感知机算法主要用来处理二分类问题.在

2021-09-14 14:57:27 667

原创 智能车仿真课设PID控制环节部分代码(仅供参考)

使用Linux系统,ros机器人操作系统,gazebo仿真软件,利用rospy等python包所带工具进行智能小车运动仿真.在给定的地图当中跑完一圈,1分钟之内为满分.现将笔者所编写之代码与小伙伴们分享,希望能够抛砖引玉.本文只做参考,切忌全部代码照抄哦~该代码最终验收成绩为54-55秒之间.视虚拟机内存,电脑电量等,性能会有一定波动.建议虚拟机内存拉到14G以上(笔者验收时的配置)PID调试方法:先调P,逐渐增大直至出现震荡;再调D,在保证转弯不耗费太多时间的情况下不损失太多速度.微分控制可以预见er

2021-06-20 14:35:08 1295

原创 LeetCode刷题笔记:跳跃游戏2(动态规划,两种方法,一次AC)

问题概述:使用最小的步数到达数组末尾。注意每个位置上的元素是在该位置上最多能往后跳的步数,而不是必须跳这么多步,不然有可能根本到不了数组末尾。问题分析:这个问题比较复杂,想一下子得到正确思路难度比较大,我们从题目所给的这个例子出发,尝试着寻找解题思路。首先前两个位置肯定是很好分析的。第一个位置,我们一开始就在这里,所以步数是0.第二个位置也很简单,只能从第一个位置跳过来,所以最小步数是1.在数组长度为1或者2时,就可以直接返回。那么第三个位置呢?这就有两种选择:从第一个格子跳过来或者从第二个格子

2021-04-20 08:00:43 874

原创 用两个简单例子探究字符串相关问题中new int[128]的使用(java实现)

在字符串相关问题中,我们常常遇到需要统计字符出现的次数,判断字符是否出现过等问题.而我们常常想到的粗暴解法是O(n^2)的,即对每一个元素,都要遍历字符串,来求他的出现次数;或者遍历他前面的所有元素,看他是否出现过.毫无疑问,这些方法都是及其耗时的,也需要额外的变量来存放出现次数等相关信息.这时候,我们可以new一个128个元素的辅助数组,帮助我们在线性时间复杂度和常熟空间复杂度内达到同样的目的.下面用两个简单的例子来说明.1.求一个字符串当中第一个只出现一次的元素.正常情况下首先想到的暴力解法:对每

2021-04-13 09:19:08 769

原创 希尔排序小探究(java实现)

上学期数据结构课程学习过程当中,我感觉到希尔排序是高级排序算法中比较好用的一种。他的时间复杂度还是O(n^x)(x>1)形式,理论上感觉并不如归并排序,快速排序,堆排序等更加高大上的 O(nlogn)算法,但在实际应用中他的表现却非常亮眼,写起来也比较方便。这次实验目的为:实现对整数数组进行希尔排序的函数;使用不同的增量序列,测试两种增量序列的性能。工具及环境:Intellij IDEA community edition实验过程:1.使用一个简单的数组,并基于此完成希尔排序的函数。希尔排序的

2021-04-04 17:11:48 183 5

原创 (新人第二帖)循环链表建立,连接操作中的怪异bug分析与解决(C语言实现)

问题概述:这是我在前一天晚上拿到手的问题.程序员想利用c语言实现循环链表的遍历和简单的连接操作(直接将一个链表插入另一个链表后面,不进行边插入边比较的操作).原程序较为复杂,有很多当时还没来得及调试和使用的函数,在此按下不表.本文只讨论我接到程序时主函数中用过的函数.出错现象为无法输出任何数据,主函数返回值异常.这是c/c++中最为常见的错误之一,基本上都和指针访问密不可分.考虑在总览程序之后使用单步调试定位出现异常的指针操作并予以修改.工具:Visual Studio Code,扩展包包括code

2021-03-29 22:02:02 853 5

原创 (小白第一帖)海域中岛屿的数量(java实现)

(小白第一帖)海域中岛屿的数量(java实现)1.问题描述:这是我之前在leetcode上看到的一道题目(应该是中等难度).当时对数据结构和算法知之甚少,因此感觉很难解决.学习了数据结构之后,对该问题有了更深入的理解,决定尝试一番.这个问题的处理对象是一个二维数组:但每个位置上的元素只有两种取值:1或0.1表示陆地,0表示海洋,整个二维数组构成一片”海域”.如果一个1的上,下,左,右相邻的元素还有1,则认为这两片陆地相连,属于同一个岛屿.(斜对角相邻不认为是同一个岛屿).例如这片海域有7个岛屿:

2021-03-20 19:40:46 349 1

空空如也

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

TA关注的人

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