自定义博客皮肤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)
  • 收藏
  • 关注

原创 多层感知机的简洁实现以及模型训练的一些基础知识(李沐Pytorch)

训练中每个批次中包含的样本数量。在每个训练步骤中,模型会计算损失并更新参数(这里的参数指的是神经网络中的权重w和偏置b)的梯度,这个过程是基于每个批次的数据进行的。在典型的随机梯度下降(Stochastic Gradient Descent,SGD)中,模型会在处理完每个batch_size的数据后计算损失并更新模型参数。这个过程通过多次迭代,通过不断地调整模型参数,使得模型逐渐学到数据的特征,从而提高在新数据上的泛化能力。这些算法引入了不同的参数更新规则,考虑了梯度的历史信息以及自适应学习率的调整。

2024-01-17 17:05:03 438 1

原创 TCP/IP三次握手四次挥手

TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,在发送数据前,通讯双方必须在彼此间建立一条连接。所谓的“连接”,其实就是客户端和服务端保存的一份关于对方的信息,如ip地址、端口号等。TCP可以看成是一种字节流,它会三次握手三次握手的本质:确认通信双方收发数据的能力首先,首先我让信使运输一份信件给对方,对方收到了,那么他知道了我发邮件的能力和他收邮件的能力。于是他给我回信,我若收到了,我便得知我的发件能力和他的收件能力是可以的,并且他的发件能力和我的收件能力是可以的。

2022-05-28 15:36:00 420

原创 c#【参数传递】ref 和out用法,区别和联系

形参和实参形参:int sum(int num1,int num2) ,num1和num2为形参,在函数定义中出现的参数可以看做一个占位符,它没有数据,只有在函数被调用时才会分配内存,调用结束后,立刻释放内存。所以形参只有在函数内部有效,不能在函数外部使用。 实参:函数被调用时给出的实实在在的数据,会被函数内部的代码使用。int a=5,int b=10; int c=sum(a,b);这里的a和b是实参。 区别和联系:函数调用时发生的数据传递是单向的,只能把实参的值传递给形参,形参值得改变并不..

2022-05-18 10:36:29 246

原创 LeetCode[141]判断环形链表

2022-05-16 15:42:21 198

原创 LeetCode[148]对链表进行排序[medium]

1、冒泡排序法难度主要在于如何确定内循环和外循环的结束条件。定义 p,q指针用于遍历链表元素和交换。定义一个tail指针,指向最新一轮冒泡排序的结果。内循环结束的条件是q指针指向tail。外循环结束的条件是head.next==tail,此时只有head一个元素,不需要排序。时间复杂度:O(n²) 如果有n个元素需要进行n-1,n-2,....1 总共次比较,所以时间复杂度为O(n²)由于这个原因,在链表或者数组特别大的时候,尽管对冒泡排序进行优化,这种排序算法也是不理想的。一般来...

2022-04-29 19:46:21 636

原创 LeetCode[147]对链表进行插入排序

1、迭代法时间复杂度:O(n²) ,其中n是链表的长度。 空间复杂度:O(1) ,只需要常量级的辅助变量。class Solution { public ListNode insertionSortList(ListNode head) { if(head==null||head.next==null) return head; ListNode newhead=new ListNode(); newhead.next=head; ListN...

2022-04-26 17:50:11 477

原创 LeetCode[21]合并两个有序链表【递归方法&非递归方法】

合并两个有序数组方法一:递归方法两个链表头部值较小的一个节点与剩下元素的merge操作结果合并时间复杂度:O(m+n),因为每次递归调用函数都会去掉list1或者list2的头节点,之道至少有一个链表为空,函数至多只会调用每个节点一次,所以时间复杂度取决于合并后的链表长度,所以时间复杂度为O(m+n) 空间复杂度:O(m+n) ,其中m和n为链表长度,递归调用函数时需要消耗栈空间,栈空间的大小取决于递归调用的深度,结束递归调用mergeTwoLists函数最多调用m+n次,所以空间

2022-04-25 19:49:06 791

原创 LeetCode[24]两两交换链表中的结点

方法一:迭代时间复杂度:O(n) 其中n是链表中节点的数量。需要对链表中的节点更改next指针的操作。空间复杂度: O(1) 新创建的头节点newhead交换前的指针关系:temp->node1->node2 交换后:temp->node2->node1class Solution { public ListNode swapPairs(ListNode head) { if(head==null||head.next=...

2022-04-25 10:25:34 461

原创 LeetCode [206]反转链表

方法一:(无头节点情况)直接改next指针class solution{ public ListNode reverseList(ListNode head){ if(head==null||head.next==null) return head; ListNode p=head.next; ListNode r=new ListNode(); head.next=null;//逆转后的head变成最后一个节点,所以he

2022-04-23 22:29:56 201

原创 LeetCode【83】 删除有序单链表中重复元素

Index [83]Category algorithmsDifficulty EasyDiscription 给定一个已经排序好的链表的头Head,删除所有重复的元素,使每一个元素只出现一次。返回已排序的链表。code:class solution{ public ListNode deleteDuplicates(ListNode head){ if(head==null) return head; //链表为空时,直接返回head ...

2022-04-23 17:57:12 683

空空如也

空空如也

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

TA关注的人

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