- 博客(27)
- 收藏
- 关注
原创 码随想录算法训练营Day13 | Leetcode226 反转二叉树,101 对称二叉树,104二叉树的最大深度,111二叉树的最小深度
此题最直接的方法是用前序或后序,中序的话需要绕个弯子。
2025-01-22 16:01:17
529
原创 2.2 类神经网络训练不起来怎么办(二)—— 批次batch和动量momentum
大batch size真的就比小batch size计算gradient的时间要长么?答案是:no。因为GPU可以并行计算!但GPU也是有上限的在一次epoch中,大batch size更新次数要比小batch size少,从而导致一次epoch更新的时间反而比小batch size要少所以大batch size不一定会耗费longer time。
2025-01-20 23:33:06
371
原创 码随想录算法训练营Day13 | 二叉树的各种遍历
文章讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%91%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html满二叉树完全二叉树二叉搜索树平衡二叉搜索树链式存储线性存储深度优先搜索(可用递归法、迭代法):前序遍历、中序遍历、后序遍历广度优先搜索(迭代法):层序遍历递归遍历题目链接/文章讲解/视频讲解:https://programmercarl.com/%E4%BA%8C%E5%8F%89%E6%A0%9
2025-01-20 16:38:47
355
原创 2.0 机器学习任务攻略
可以看出,在训练集上, 56层network的training error甚至比20层network的还大,则说明56层network的optimization没有调好。可以先用一些简单的模型,试试训练集上的error,再和复杂模型的training error对比。是否判断出现mismatch:需要我们对训练数据、测试数据有一定的了解,它们是如何产生的?通过validation set的error挑选model。那怎么确定是否是optimization的问题呢?如何解决overfitting呢?
2025-01-14 17:01:22
539
原创 1-【选修】逻辑回归
如上图所示,在Naive Bayes中并没有考虑不同dimension之间的correlation。所以generative模型中假定的probability distribution有可能会脑补出不应该有的条件。Logistics模型没有假设,但generative假设样本的probability distribution为高斯?让机器自己学习找到好的feature transformation。cross entropy 衡量两个分布有多接近。Neural Network就来咯。
2025-01-08 18:36:18
771
原创 码随想录算法训练营Day11 | LeetCode150. 逆波兰表达式求值,239. 滑动窗口最大值, 347.前 K 个高频元素
C++中stack,queue 是容器么?我们使用的stack,queue是属于那个版本的STL?我们使用的STL中stack,queue是如何实现的?stack,queue 提供迭代器来遍历空间么。
2025-01-07 13:37:21
490
原创 码随想录算法训练营Day10 | LeetCode232 用栈实现队列, 225. 用队列实现栈,20. 有效的括号, 1047. 删除字符串中的所有相邻重复项
要知道栈为什么适合做这种类似于爱消除的操作,因为栈帮助我们记录了 遍历数组当前元素时候,前一个元素是什么。时间复杂度: push和empty为O(1), pop和peek为O(n)只用一个队列就可以模拟栈了。空间复杂度: O(n)
2025-01-07 13:22:19
347
原创 1-【选修】预测神奇宝贝
越大,function会趋近平滑,testing error会减小,但过于平滑的function会导致对不同的input极度不敏感,预测效果下降,testing error重新变大。当参数值接近0时, function比较平滑,即当input有扰动变化时,output对input的变化不敏感。对function只起到平移作用,不会改变function的平滑度。如果input被干扰,一个平滑的function会受到较小的影响。e.g.5 Opps!线性回归是否会陷入局部解?占比越大,我们会考虑用较小的。
2024-12-27 23:29:02
599
原创 1. 机器学习、深度学习基本概念
如果不仅仅只通过前一天预测下一天的数据,而是通过前几天的数据综合来预测。先将曲线变成一段一段的折线,再用蓝色function逼近。domain knowledge 用于确定函数形式。所有batch训练一次称为一个epoch。更新一次参数称为一次update。如果要逼近的是曲线?
2024-12-26 01:00:04
806
原创 码随想录算法训练营Day9 | LeetCode151.翻转字符串里的单词、28. 实现 strStr()、459.重复的子字符串、卡码网:55.右旋转字符串、
时间复杂度:O(n),其中 n 为输入字符串的长度。空间复杂度:Java 和 Python 的方法需要 O(n) 的空间来存储字符串,而 C++ 方法只需要 O(1) 的额外空间来存放若干变量。
2024-12-19 16:35:09
436
原创 码随想录算法训练营Day8 | LeetCode344.反转字符串 、541. 反转字符串II、 卡码网:54.替换数字
双指针解决时间复杂度:O(N),其中 N 为字符数组的长度。一共执行了 N/2 次的交换。空间复杂度:O(1)。只使用了常数空间来存放若干变量。
2024-12-11 17:28:05
268
原创 码随想录算法训练营Day7 | LeetCode 454.四数相加II 、383. 赎金信 、15. 三数之和 、18. 四数之和
我们可以将四个数组分成两部分,A 和 B 为一组,C 和 D 为另外一组。对于 A 和 B,我们使用二重循环对它们进行遍历,得到所有 A[i]+B[j] 的值并存入哈希映射中。对于哈希映射中的每个键值对,每个键表示一种 A[i]+B[j],对应的值为 A[i]+B[j] 出现的次数。对于 C 和 D,我们同样使用二重循环对它们进行遍历。当遍历到 C[k]+D[l] 时,如果 −(C[k]+D[l]) 出现在哈希映射中,那么将 −(C[k]+D[l]) 对应的值累加进答案中。
2024-12-07 16:13:26
1750
原创 码随想录算法训练营Day6 | LeetCode 242.有效的字母异位词、 349. 两个数组的交集、 202. 快乐数、1. 两数之和
哈希表是什么:哈希表是根据关键码的值而直接进行访问的数据结构。那么哈希表能解决什么问题呢?。
2024-11-15 22:48:51
1821
原创 码随想录算法训练营Day4 | LeetCode24 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II
建议使用虚拟头结点,这样会方便很多,要不然每次针对头结点(没有前一个指针指向头结点),还要单独处理。接下来就是交换相邻两个元素了,此时一定要画图,不画图,操作多个指针很容易乱,而且要操作的先后顺序初始时,cur指向虚拟头结点,然后进行如下三步:时间复杂度:O(n)空间复杂度:O(1)
2024-11-14 16:34:54
744
原创 代码随想录算法训练营Day3 | LeetCode203 移除链表元素、 707.设计链表、 206.反转链表
数组是在内存中是连续分布的,但是链表在内存中可不是连续分布的。链表是通过指针域的指针链接在内存中各个节点。所以链表中的节点在内存中不是连续分布的 ,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。链表的定义性能分析。
2024-11-11 17:25:55
1716
原创 代码随想录算法训练营Day2 | LeetCode209 长度最小的子数组、Leetcode59 螺旋矩阵II、Kamacode58 区间和、Kamacode44 开发商购买土地
sys.stdin.read():这个方法一次性读取整个输入流的数据,不需要等待每一行的输入。input():每次调用 input() 时,都会等待用户输入一行,并进行相应的处理。这题如果用暴力解法,如遇到大数据查询时,时间复杂度为O(n * m),m是查询的次数如果查询次数非常大的话,时间复杂度非常大。从而将O(n^2)暴力解法降为O(n)。暴力求解,应该是 n^3 的时间复杂度,一个 for 枚举分割线, 嵌套 两个for 去累加区间里的和。时间复杂度:O(n^2)时间复杂度O(n^2)
2024-11-04 14:44:20
514
原创 代码随想录算法训练营Day1 | LeetCode704 二分搜索;LeetCode 27 移除元素; LeetCode 977 有序数组的平方
好久没写代码,上来直接暴力解时间复杂度:O(n)标答版:使用left、right指针二分求解。
2024-10-31 23:04:37
315
1
原创 多元回归、normal equation
例子:通过size、number of bedrooms、number of floors和Age of home预测house price。
2024-03-21 11:44:35
556
原创 线性回归模型、代价函数、梯度下降
注:梯度下降有时会陷入到局部最优解,但是线性回归的代价函数永远是凸函数,即只有一个最优解。引入代价函数/损失函数,这类函数用于度量我们的模型对训练数据集的拟合效果,也就是说要尽力使代价函数降到最小。最常用的用于回归的代价函数使。任务是:已有一些房子的大小和价格数据,希望找到一个模型/函数,对于给定的房子大小(陌生数据),预测房子的价格。简单来说,我们要找一组使代价函数最小的参数,这就是我们的模型中需要的那组参数。不同的参数对应不同的模型我们要找到最好的那对参数,什么是最好?如何找最好的那组参数呢?
2024-03-07 21:46:48
710
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅