一共6题:

1.欠拟合的原因和解决方法(10分)

2.写出能够实现人脸识别的任意三种模型以及它们的原理(15分)

3.KNN的优缺点以及K取较大和较小值的特点(15分)

4.(开放题?)当模式识别的准确率陷入瓶颈,你会怎么做(15分)

5.给定一个模型(如图),用梯度下降法求L1、L2两层的权值调整公式(25分)

6.给定一个表格共4个数据,计算数据的四个属性哪个信息增益最大(20分)


本博文为计试班考试回忆。

第五题可参考的视频:8分钟搞懂神经网络反向传播算法_哔哩哔哩_bilibili

第六题可参考的视频:【决策树算法1】ID3算法 数据挖掘 期末考试 计算题 详细步骤讲解_哔哩哔哩_bilibili

 


 以下代码与内容无关

class Solution {
public:
    void seize(vector<vector<int>>& heights,int i,int j,vector<vector<int>>& temp)
    {
        //cout << i << " "<<j<<endl;
        queue<pair<int,int>>q;
        int m=heights.size();
        int n=heights[0].size();
        //int ocean_choose[2]={1,2};
        //if(i<0||i>=m||j<0||j>=n){return;}
        if(temp[i][j]==1){return;}       
        //temp[i][j]=1;
        q.push({i,j});
        while(!q.empty())
        {
            int k=q.front().first;
            int l=q.front().second;
            //cout<<k<<"  "<<l<<endl;
            q.pop();
            if(temp[k][l]==1){continue;}
            temp[k][l]=1;
            if(k>0&&temp[k-1][l]==0&&heights[k-1][l]>=heights[k][l])
                q.push({k-1,l});
            if(k<m-1&&temp[k+1][l]==0&&heights[k+1][l]>=heights[k][l])
                q.push({k+1,l});
            if(l>0&&temp[k][l-1]==0&&heights[k][l-1]>=heights[k][l])
                q.push({k,l-1});
            if(l<n-1&&temp[k][l+1]==0&&heights[k][l+1]>=heights[k][l])
                q.push({k,l+1});
        }
    }
    vector<vector<int>> pacificAtlantic(vector<vector<int>>& heights) {
        vector<vector<int>>res;
        int m=heights.size();
        int n=heights[0].size();
        vector<vector<int>>temp1(m,vector<int>(n,0));
        vector<vector<int>>temp2(m,vector<int>(n,0));
        for(int i=0;i<m;i++)
        {
            seize(heights,i,0,temp1);
            seize(heights,i,n-1,temp2);
        }
        for(int i=0;i<n;i++)
        {
            seize(heights,0,i,temp1);
            seize(heights,m-1,i,temp2);
        }
        /*
        for(int i=0;i<m;i++)
        {
            seize(heights,i,n-1,temp1,1);
        }
        for(int i=0;i<n;i++)
        {
            seize(heights,m-1,i,temp1,1);
        }
        */
        for(int i=0;i<m;i++)
        {
            for(int j=0;j<n;j++)
            {
                if(temp1[i][j]&&temp2[i][j])
                {
                    vector<int>tempp={i,j};
                    res.push_back(tempp);
                }
            }
        }
        return res;
    }
};

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐