- 博客(17)
- 收藏
- 关注
原创 DIVE INTO DEEP LEARNING学习笔记2
Xavier初始化表明,对于每一层,输出的方差不受输入数量的影响,任何梯度的方差不受输出数量的影响。反向传播按相反的顺序(从输出层到输入层)计算和存储神经网络的中间变量和参数的梯度。激活函数是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。常见的激活函数如ReLU函数、sigmoid函数和tanh函数都是非线性的,从而使得神经网络逼近其他的任何非线性函数,校准模型。暂退法在前向传播过程中,计算每一内部层的同时丢弃一些神经元,可以避免过拟合,它通常与控制权重向量的维数和大小结合使用的。
2024-03-01 15:37:05
372
原创 DIVE INTO DEEP LEARNING学习笔记1
在建模的过程中,我们需要一种模型质量的度量方式和一种能够更新模型以提高模型质量的方法。在高斯噪声的假设下,最小化均方误差等价于对线性模型的极大似然估计(即最小目标函数和执行极大似然估计等价)。线性回归模型也是一个简单的神经网络,是单层网络结构,这一单层被称为全连接层。训练softmax回归循环模型与训练线性回归模型非常相似:先读取数据,再定义模型和损失函数,然后使用优化算法训练模型。交叉熵:一个衡量两个概率分布之间差异的很好的度量,它测量给定模型编码数据所需的比特数。信息熵:系统有序化的一个度量。
2024-02-21 21:54:25
361
原创 力扣169.多数元素
1.将数组中的元素分为两类:多数元素和非多数元素。将多数元素与非多数元素逐一抵消,最后剩下的就是多数元素了。int majorityElement(int* nums, int numsSize){ int snum=nums[0],nums1=1; for(int i=1;i<numsSize;i++){ if(nums[i]!=snum){ if(nums1==0) snum=nums[i],nums1++;
2022-03-23 20:55:19
103
原创 力扣141.环形链表
设置两个指针,一个fast一个slowslow赋值head,fast赋值head->next之后一直以slow指向next,fast指向next->next进行运算如果再fast跑完前,fast和slow相遇了,则说明存在环/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */bool..
2022-03-21 18:44:52
441
原创 力扣101对称二叉树
递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */bool isSym(struct TreeNode* p, struct TreeNode* q){ if(!p && !q) return true;
2022-03-19 17:29:02
492
原创 力扣66.加一
取flag默认初值为一,之后一直通过/10的方式来对前一位数进行进位/** * Note: The returned array must be malloced, assume caller calls free(). */int* plusOne(int* digits, int digitsSize, int* returnSize){ int flag=1; for(int i=digitsSize-1;i>=0;i--){ digits[i]=di
2022-03-18 21:43:50
64
原创 力扣58.最后一个单词的长度
最开始考虑从最后一个往前找,找到第一个空来确定单词的起始位置代码:int lengthOfLastWord(char * s){ int count=0; bool flag=false; for(int i=strlen(s)-1;i>=0;i--){ if(s[i]==' ') break; else{ count++; } } return count
2022-03-18 13:20:52
41
原创 力扣208.实现Trie(前缀树)
图中蓝色表示在该路径中有单词以它作为结尾typedef struct { int isEnd; struct trie* next[26];} Trie;Trie* trieCreate() { Trie *root; root = (Trie *)malloc(sizeof(Trie) * 1 ); memset(root, 0, sizeof(*root)); root->isEnd = 0; return root;}..
2022-01-31 13:23:03
5355
原创 力扣133.克隆图
/** * Definition for a Node. * struct Node { * int val; * int numNeighbors; * struct Node** neighbors; * }; */#define MAX_NODE_NUM 100struct Node *cloneGraph(struct Node *s) { if (s == NULL) { return NULL; } stru.
2022-01-27 21:49:37
5388
原创 力扣632.最小区间
滑动窗口,在所有出现的值中间移动,并且要去除重复出现的数/** * Note: The returned array must be malloced, assume caller calls free(). */#define MAX_NUMS 180000int compare(const void* a, const void* b){ return *(int*)a - *(int*)b;}// 获得最大值和最小值,并且得到所有出现的数void getRange(i
2022-01-22 22:51:44
404
原创 力扣218.天际线问题
用line sweep输入(x1,x2,y),左上角顶点用(x1,-y)表示,右上角顶点用(x2,y)表示如示例,输入:[2,9,10],[3,7,15],[5,12,12],[15,20,10],[19,24,8]及每个转折点为:[2,10],[9,10],[3,15],[7,15],[5,12],[12,12],[15,10],[20,10],[19,8],[24,8]按上述方法表示后并排序,变为:[2,-10],[3,-15],[5,-12],[7,15],[9,10]
2022-01-19 13:24:26
4223
原创 力扣1226.哲学家进餐
死锁产生的四个必要条件:(1)互斥条件:一个资源每次只能被一个进程使用。(2)占有且等待:进程已经占有了至少一个资源,同时请求新资源而被阻塞时,对已获得的资源保持不放。(3)不可强行占有:进程已获得的资源,在末使用完之前,不能强行剥夺。(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。设第i个哲学家,他左边的筷子为i,右边为(i+1)%5...
2022-01-18 19:25:16
1327
原创 力扣13. 罗马数字转整数
直接暴力int romanToInt(char * s){ int sum=0,len; len=strlen(s); for(int i=0;i<len;i++) { if(s[i]=='M') sum=sum+1000; else if(s[i]=='C'&&(s[i+1]!='M'&&s[i+1]!='D')) sum=sum+100; els
2022-01-15 12:21:39
70
原创 力扣221. 最大正方形
/** * dp表示最大正方形边长,dp[i][j] = MIN(dp[i-1][j-1], dp[i][j-1], dp[i-1][j]); */#define MIN(a, b) ((a) < (b) ? (a) : (b))#define MAX(a, b) ((a) > (b) ? (a) : (b))int maximalSquare(char** matrix, int matrixSize, int* matrixColSize){ int i, j, max.
2021-08-28 21:23:58
101
原创 力扣417. 太平洋大西洋水流问题
/** * Return an array of arrays of size *returnSize. * The sizes of the arrays are returned as *returnColumnSizes array. * Note: Both returned array and *columnSizes array must be malloced, assume caller calls free(). */int m,n;int axis[5]={-1,0,1,0.
2021-08-25 20:51:02
73
原创 力扣94. 二叉树的中序遍历
中序遍历:A-B-C-D-E-F-G-H-I-J递归/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; *//** * Note: The returned array must be malloced, assume caller calls ...
2021-08-20 22:57:27
68
原创 力扣70爬楼梯
int c(int n){int p=0,q=0,r=1;for(int i=1;i<=n;i++){p=q; q=r; r=p+q;}return r; }...
2021-08-20 22:28:14
40
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人