- 博客(10)
- 收藏
- 关注
原创 11111
import numpy as np #--------begin--------------- def fit(X, y): ones = np.ones((X.shape[0], 1)) X = np.concatenate((ones, X), axis=1) Xt = np.transpose(X) XtX = np.dot(Xt, X) XtX_inv = np.linalg.inv(XtX) XtX_inv_Xt = np.dot(XtX_inv,
2023-03-31 15:46:42
152
原创 人工智能:线性回归
案例分析 根据面积和价格间的关系求解线性回归 基本流程 1.建立基本模型 2.构造损失函数,求出偏导 3.利用梯度下降更新变量值 4.求出损失函数的值判断是否终止 5.进行迭代运算 代码推导 1.设置的值即梯度下降中的步长,和迭代次数times的值 alpha = 0.1#学习率 times = 10000 # 步长 2.每次利用梯度下降更新和的值 for i in range(m): # m为数据总数 ...
2022-01-21 22:27:59
928
原创 人工智能绪论:矩阵分解
利用矩阵分解实现推荐算法 相关案例介绍 矩阵中,描述了5个用户(U1,U2,U3,U4 ,U5)对4个物品(D1,D2,D3,D4)的评分(1-5分),- 表示没有评分,现在目的是把没有评分的 给预测出来,然后按预测的分数高低,给用户进行推荐。 矩阵R可以近似表示为P与Q的乘积:R(n,m)≈ P(n,K)*Q(K,m) 所以评估的矩阵可以由下式计算: 实现方法 1.计算重新构建的矩阵每个元素的值,列出表达式 2. 构建损失函数 用原始矩阵元素和新矩阵元素差的平方作.
2022-01-20 19:04:57
864
原创 数据结构:字符串匹配(KMP算法)
#include<bits/stdc++.h> using namespace std; int Next[100]; void get_next(int s2[],int length2) { int i=1,j=0;Next[1]=0; while(i<=length2) { if(j==0||s2[i-1]==s2[j-1]){ ++i;++j;Next[i]=j; } else j=..
2021-12-14 18:59:50
1059
原创 数据结构:栈实现逆波兰表达式
#include<bits/stdc++.h> using namespace std; char Treedata[20]; int n=0; typedef struct BitNode{ char data; struct BitNode *Lchild,*Rchild; }BitNode,*BiTree; typedef struct StackNode{ int data ; struct StackNode *next; }StackNode; t..
2021-12-14 18:40:47
972
原创 数据结构:循环队列
普通队列存在假溢出的问题, 循环队列通过空出一个空间结合取余操作可以实现对空间的充分利用。 1.循环队列的定义: typedef struct queue{ int *data; int front; int rear; }queue, *Queue; 2.循环队列的初始化: 循环队列的元素存储在结构体的data指针域里, 所以需要先给data分配空间 Q.data = new int[maxsize]; 同时将头指针与尾指针置为0。 3.循环队列的入队操作: 直接将data元.
2021-11-23 18:01:56
1195
原创 数据结构:栈实现进制转化
采用链栈, 基本流程为:先将任意进制转化为十进制,再将十进制转化为目标进制, 达到任意进制转化任意进制的功能。 中间函数:将任意进制转化为十进制 int Anysystem_convert_TenSystem(char *s,int n) { int sum=0; int num_size= strlen(s); for(int k=0;k<num_size;k++) { if(s[k]>='0'&&s[k]<='9')...
2021-11-23 17:35:58
3548
原创 数据结构:哈夫曼树
哈夫曼树的定义: 哈夫曼树的定义与树类似,分为左子树指针和右子树指针,在此基础上额外增加了一个父节点指针,便于叶子节点到根节点遍历,逆向求得哈夫曼编码。 typedef struct { unsigned int weight; //用来存储各个结点的权值 unsigned int parent,LChild,RChild; //指向双亲、孩子结点的指针 } HTNode, *HuffmanTree; //动态分配数组,存储哈夫曼树 typedef char *Huffman
2021-11-23 17:20:13
393
原创 数据结构:约瑟夫环的多种解法
41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到剩下最后一个人为止。 解法一:队列解法 实质上是将所有人按编号入队,当数到三时此人直接出队,表示已经死亡,同时将k置为1,表示重新计数。其他时候将该人先出队后入队即可,表示进入新的一轮,直至队列元素为1结束。 采用循环队列,循环结束标志为: Q -> rear != (Q - >front + 1) % 100 即只剩下一个元素的时候 源代码 #include<st.
2021-11-23 13:42:00
2422
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人