summary+plan

这两天的时间没有刷leetcode上的题,我发现树对于我来说还是有一定难度,需要像大学考二级一样不断的刷题,不断的做,让树栈什么的成为自己潜意识的内容,不断的复习。还需要学习python里面的一些知识。包括基本语法numpy,sklearn,panda,这些东西。还有三个月就要回国了,就要找工作了,时间很紧迫了。现在已经实现hmm、cnn、lstm、bilstm对语音情感进行识别,有时间把英文论文写写。在训练的时候发现训练集和测试集的准确率差别比较大,应该是出现了过拟合,采用交叉验证可以解决这个问题和数据集的不均衡也相关,也可以通过优化神经网络结构来解决。一定要发表一篇英文的论文。cnn训练集和测试集的准确率都在50%左右,lstm训练集的准确率在70%以上,但测试集的准确率很低,只有40%左右。这种结果和随机猜测差不多。总结差不多到这里。再贴上树的题。

接下来要学习的:

(1)刷leetcode上的题目

(2)学习python基础知识

(3)写英文论文

(4)复习传统机器学习的理论知识和推导和深度学习理论的知识和框架。

待看文章:attention机制实现文本识别,keras框架自定义attention机制,keras框架中没有attention机制。

https://blog.csdn.net/yanhe156/article/details/85476608

使数据集更均衡的办法,留出法和交叉验证

https://www.cnblogs.com/jiaxin359/p/8552800.html

keras实现交叉验证

https://blog.csdn.net/webmater2320/article/details/100996865

递归比较难理解,一开始可以先用迭代去实现。因为二叉搜索树的右子树是最大的,所以先遍历整棵树的右子树保存起来,遍历到最后,进行求和,然后再去遍历左子树。代码如下:

class Solution {
private: int sum=0;
public:
    TreeNode* convertBST(TreeNode* root) {
        stack<TreeNode*>s;
        TreeNode* temp=root;
        while(temp || !s.empty())
        {
            while(temp)
            {
                s.push(temp);
                temp=temp->right;
            }
                temp=s.top();s.pop();
                sum+=temp->val;
                temp->val=sum;
                temp=temp->left;
        }
        return root;
    }
};

递归实现:感觉递归等价于迭代,思想是一样的

class Solution {
private: int sum=0;
public:
    TreeNode* convertBST(TreeNode* root) {
        if(root!=NULL)
        {
            convertBST(root->right);
            sum+=root->val;
            root->val=sum;
            convertBST(root->left);
        }
        return root;
    }
};

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值