上大学学学习,上班班用不到

[quote="抛出异常的爱"][quote="2010-淡定"]
为什么我大学里学的东西都用不上?
是我不会用吗?
还是根本没学透?
还是没到用的时候?
还是那时候就应该边学边用?
是不是我实践能力太差不会用?
这个是怎么回事。。。。
理论和实践要靠什么打通?
ps:有些东西确实是有用的,但就是用不起来 学以致用啊 毛病出在哪?[/quote]
1.用不上才可以更好的学习.
如果与现实太接近那么就太复杂了
不纯粹,不美,不好记住最核心的问题了.

2.你学习的东西都是纯粹的,
所以也是很难用在实践中的.

3.学习是为了让你知道XX不可行,YY可行.
不能告诉你在这两条线之间的众多的路你要怎么选

4.时时都在用.
每当需要用常识分析的问题
(没有前人作过或).
常识都是在学校中学到的.
当然大多数时候会错
但总的方向不太错
做一些尝试总比没办法会更好一些.

5.学习就学习.体会理想状态.
当你发现现实与理想有差别时你会发动你的智慧让现实更接近理想状态.
这才是进行实践应该的目的,

6.有人认为与现实妥协的能力才是实践的目的.
我不这么认为.
当然如果不妥协就会更痛苦.....就像你这个样子

7对于怎么用起来只能说多想想办法,
去学习更多的办法来达到(或是接近)理想状态
满足感是不能用语言表达的.[/quote]
内容概要:本文详细介绍了一个基于Java和Vue的联邦学习隐私保护推荐系统的设计与实现。系统采用联邦学习架构,使用户数据在本地完成模型训练,仅上传加密后的模型参数或梯度,通过中心服务器进行联邦平均聚合,从而实现数据隐私保护与协同建模的双重目标。项目涵盖完整的系统架构设计,包括本地模型训练、中心参数聚合、安全通信、前后端解耦、推荐算法插件化等模块,并结合差分隐私与同态加密等技术强化安全性。同时,系统通过Vue前端实现用户行为采集与个性化推荐展示,Java后端支撑高并发服务与日志处理,形成“本地训练—参数上传—全局聚合—模型下发—个性化微调”的完整闭环。文中还提供了关键模块的代码示例,如特征提取、模型聚合、加密上传等,增强了项目的可实施性与工程参考价值。 适合人群:具备一定Java和Vue开发基础,熟悉Spring Boot、RESTful API、分布式系统或机器学习相关技术,从事推荐系统、隐私计算或全栈开发方向的研发人员。 使用场景及目标:①学习联邦学习在推荐系统中的工程落地方法;②掌握隐私保护机制(如加密传输、差分隐私)与模型聚合技术的集成;③构建高安全、可扩展的分布式推荐系统原型;④实现前后端协同的个性化推荐闭环系统。 阅读建议:建议结合代码示例深入理解联邦学习流程,重点关注本地训练与全局聚合的协同逻辑,同时可基于项目架构进行算法替换与功能扩展,适用于科研验证与工业级系统原型开发。
源码来自:https://pan.quark.cn/s/a4b39357ea24 遗传算法 - 简书 遗传算法的理论是根据达尔文进化论而设计出来的算法: 人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因。 遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。 进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解 依据某些适应性条件测算这些候选解的适应度 根据适应度保留某些候选解,放弃其他候选解 对保留的候选解进行某些操作,生成新的候选解 遗传算法流程 遗传算法的一般步骤 my_fitness函数 评估每条染色体所对应个体的适应度 升序排列适应度评估值,选出 前 parent_number 个 个体作为 待选 parent 种群(适应度函数的值越小越好) 从 待选 parent 种群 中随机选择 2 个个体作为父方和母方。 抽取父母双方的染色体,进行交叉,产生 2 个子代。 (交叉概率) 对子代(parent + 生成的 child)的染色体进行变异。 (变异概率) 重复3,4,5步骤,直到新种群(parentnumber + childnumber)的产生。 循环以上步骤直至找到满意的解。 名词解释 交叉概率:两个个体进行交配的概率。 例如,交配概率为0.8,则80%的“夫妻”会生育后代。 变异概率:所有的基因中发生变异的占总体的比例。 GA函数 适应度函数 适应度函数由解决的问题决定。 举一个平方和的例子。 简单的平方和问题 求函数的最小值,其中每个变量的取值区间都是 [-1, ...
根据需求,以下是一个用C语言实现的程序,该程序可以根据输入的小朋友编号和是否同班标志将小朋友按班级分开并输出,输出需满足特定格式要求,若输入不符合要求则输出`ERROR`: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STUDENTS 999 // 比较函数,用于qsort排序 int compare(const void *a, const void *b) { return (*(int *)a - *(int *)b); } int main() { int class1[MAX_STUDENTS]; int class2[MAX_STUDENTS]; int count1 = 0; int count2 = 0; int currentClass = 1; int id; char flag; // 读取输入 while (scanf("%d/%c", &id, &flag) == 2) { if (id <= 0 || id > 999) { printf("ERROR\n"); return 0; } if (currentClass == 1) { class1[count1++] = id; } else { class2[count2++] = id; } if (flag == 'N') { currentClass = 3 - currentClass; // 切换班级 } } // 对两个班级的编号进行排序 qsort(class1, count1, sizeof(int), compare); qsort(class2, count2, sizeof(int), compare); // 确定哪个班级的第一个编号更小 if (count1 > 0 && count2 > 0 && class1[0] > class2[0]) { // 交换两个班级 int *temp = class1; class1 = class2; class2 = temp; int tempCount = count1; count1 = count2; count2 = tempCount; } // 输出第一个班级 for (int i = 0; i < count1; i++) { if (i > 0) { printf(" "); } printf("%d", class1[i]); } printf("\n"); // 输出第二个班级 for (int i = 0; i < count2; i++) { if (i > 0) { printf(" "); } printf("%d", class2[i]); } printf("\n"); return 0; } ``` ### 代码解释 1. **输入读取**:程序通过`scanf`函数读取输入,每次读取一个小朋友的编号和是否同班标志。 2. **分班处理**:使用`currentClass`变量来记录当前小朋友所在的班级,根据标志`N`或`Y`来切换班级。 3. **排序**:使用`qsort`函数对两个班级的编号进行升序排序。 4. **输出**:根据要求,将第一个编号小的班级排在第一行输出,第二个班级排在第二行输出。 ### 复杂度分析 - **时间复杂度**:排序操作的时间复杂度为$O(n log n)$,其中$n$是小朋友的总数。 - **空间复杂度**:主要使用了两个数组来存储两个班级的编号,空间复杂度为$O(n)$。 ### 示例输入输出 - **输入**:`1/N 2/Y 3/N 4/Y` - **输出**: ``` 1 2 3 4 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值