- 博客(34)
- 收藏
- 关注
原创 线性回归和正则化,最后实现不用sklearn的Softmax分类
看机器学习实战的记录,最后实现softmax分类器(批量gradient descend)的手动实现(不用sklearn)
2022-09-07 17:46:27
749
原创 李宏毅HW01——新冠疫情数据的预测
李宏毅dl的HW01因为自己太菜,所以先抄了这位大佬的代码:https://github.com/ga642381/ML2021-Spring/blob/main/HW01/HW01.ipynb
2022-08-27 14:09:35
2251
2
原创 矩阵的内积外积-正交化-标准化-正交标准化-矩阵的逆
点乘(Inner product)内积uuu and vvv 是列向量. u=[u1,u2,u3]u = [u_1, u_2, u_3]u=[u1,u2,u3] and v=[v1,v2,v3]v = [v_1, v_2, v_3]v=[v1,v2,v3]DotProduct(u,v)=uT⋅v=u1∗v1+u2∗v2+u3∗v3DotProduct(u, v) = u^T\cdot{v} = u_1*v_1 + u_2*v_2 + u_3*v_3DotProduct(u,v)=uT⋅v=u
2022-05-19 19:31:59
1029
原创 移除链表元素_设计链表
203:移除链表元素Given the head of a linked list and an integer valremove all the nodes of the linked list that has Node.val == val, and return the new head.class ListNode: def __init__(self, val=0, next=None): self.val = val self.next =
2022-05-16 16:52:58
103
原创 有序数组平方和_长度最小的子数组_旋转矩阵II
977.有序数组的平方Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order.Input: nums = [-4,-1,0,3,10]Output: [0,1,9,16,100]Explanation: After squaring, the array becomes [16,1,
2022-05-14 17:34:35
92
原创 二项逻辑回归模型(logistic regression model)
Binary logistic regression model是分类模型,由概率分布P(Y∣X)P(Y|X)P(Y∣X)计算,是参数化的Logistic分布先概述一下这个模型的条件概率分布P(Y=1∣x)=exp(w⋅x+b)1+exp(w⋅x+b)P(Y=1|x)=\frac{exp(w\cdot{x}+b)}{1+exp(w\cdot{x}+b)}P(Y=1∣x)=1+exp(w⋅x+b)exp(w⋅x+b)P(Y=0∣x)=11+exp(w⋅x+b)P(Y=0|x)=\frac{1}{
2022-05-14 14:33:07
2748
原创 二分查找和删除元素
数组是放在连续的内存空间中的数据结构,可通过索引直接定位因为连续,所以删除 or 增加元素的时候有可能需要移动其他元素所以数组不能删除,可以用覆盖进而删除704:二分查找Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its
2022-05-13 20:55:12
407
原创 2022年1月11日-HKU CS笔试和面试题
Q1:编程题(手写)学生在网上选课,这学期需要选3门课程。你有许多候选课程,但是他们有时间冲突,你应该怎么选课呢?输入:一个数字number1,例如: 4,代表有4节候选课程number1个字母,例如:a, b, c, d, 代表四节课的名字另一个number2,例如:3,代表其中3组课程没有时间冲突number2个组合,例如:ab,ac,bc,代表a和b没有时间冲突,a和c没有时间冲突,b和c也没有时间冲突输出:你应该选哪3个课程,保证没有时间冲突。例如:a,b,cQ2:数列推导1
2022-05-12 19:29:59
2872
3
原创 两数之和_最长回文子串
1. Two sumGiven an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.You may assume that each input would have exactly one solution, and you may not use the same element twice.You can return
2022-05-12 19:19:40
110
原创 Pandas_2:Pandas中DataFrame类
import pandas as pdpd.DataFrame( )表示矩阵数据表,是已排序的列的集合每一列的值的类型可以不同使用字典创建DataFramedata = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'], 'year': [2000, 2001, 2002, 2001, 2002, 2003], 'popu': [1.5, 1.7, 3.6, 2.4, 2.9, 3
2022-05-12 19:06:07
449
原创 Pandas_1:Pandas中Series类
Pandas介绍经常和别的工具一起使用,特别是Scipy,Numpy以及Matplotlib支持Numpy风格的的数组计算Pandas适合处理表格/异质型的数据,但Numpy适合处理同质型的Pandas数据结构介绍Series类型以为数组型对象,包含一个:值序列,一个数据标签(index:索引)如果不指定,默认索引就是从0到N-1通过values和index分别获得值与索引import pandas as pdobj = pd.Series([4, 7, -5, 3])obj
2022-05-12 19:05:20
324
原创 Numpy_4:文件的I/O操作与线性代数linalg库
使用数组进行文件输入与输出numpy可以将数据以文本/二进制的方式存入/取出于硬盘但一般情况下,都比较喜欢用pandas来输入输出np.save( ) and np.load( )import numpy as nparr = np.arange(10)# 此处不需要写后缀,会自动补全np.save('./arr_10', arr)后缀名是.npy文件arr_10 = np.load('./arr_10.npy')arr_10array([0, 1, 2, 3, 4, 5,
2022-05-07 16:21:37
396
原创 决策树:介绍信息熵-信息增益-决策树信息增益法构造决策树
熵什么是熵熵,表示事物的不确定性信息,可以消除不确定性的事物看见某些特定的情况下,某些后果的成功率就变高了看见某些特定的情况下,某些干扰就消除了噪音,白白让人浪费注意力的东西,完全没用信息熵的公式 是怎么推倒出来的此处参考 “致敬大神”里啃西瓜书的B站视频个人感觉讲的极好首先先声明信息熵公式Ent(D)=−∑k=0∣y∣pklog2pkEnt(D) = -\sum_{k=0}^{{\mid}y{\mid}}p_k{log_2}p_kEnt(D)=−∑k=0∣y∣pklog
2022-05-06 21:48:22
334
1
原创 基于KNN的K-D树的创建与搜索及代码实现
KNN输入:特征向量输出:分类在训练集中寻找与当前点最近的k个点,然后根据例如多数表决等规则进行分类How to define the distance of two vectorsLp distanceimport numpy as npx_1 = np.array([1, 2, 3, 4])x_2 = np.array([5, 6, 7, 8])def Lp_distance(p, x_1, x_2): x = x_1 - x_2 x = np.abs(x)
2022-05-06 16:32:13
395
原创 Linux 文件操作
class Module_1:查看当前文件所在地 pwd创建文件 touch AAA/111.txt2.1 一次性创建 touch 222.txt 444.txt2.2 创建隐藏文件 touch .abc.txt创建文件夹 mkdir AAA移除某文件或空目录 rm移除空文件夹 rmdir AAA查看目录 ls AAA 不写就是当前 / 显示树形结构 tree AAA删除有内容的整个目录(文件夹) rm AAA -r清除终端 clearclass Module_2:拷贝文件/目
2022-05-04 13:24:59
974
原创 Numpy_3:使用数组进行面向数组编程
import numpy as np使用数组进行面向数组编程向量化:利用数组表达式来代替显式循环的方法速度会快1~2个量级广播机制是向量化的一种应用np.meshgrid(arr_1, arr_2)功能把输入的两个向量,匹配成可以一一组成的坐标点points = np.arange(-5, 5, 0.01)small_points_1 = np.array([1, 2, 3])small_points_2 = np.array([7, 8])np.meshgrid(small
2022-05-04 12:58:28
211
原创 Numpy_2:通用函数
import numpy as np通用函数就是对narray数组逐元素操作的函数arr = np.arange(10)arrarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])开方np.sqrt(arr)array([0., 1., 1.41421356, 1.73205081, 2.,2.23606798, 2.44948974, 2.64575131, 2.82842712, 3.])指数np.exp(arr)array([1.0000000
2022-05-04 12:53:23
398
原创 Numpy_1:创建-算术-切片索引-布尔索引-神奇索引-转置与内积
Numpy可以像标量计算一样计算数组在一个ndarray里,每一个元素都是相同类型每一个数组都有一个属性shape,dtype,ndimimport numpy as np创建Numpydata1 = [6, 7.5, 8, 0, 1]arr1 = np.array(data1)arr1array([6., 7.5, 8., 0., 1.])print(arr1.shape)print(arr1.ndim)print(arr1.dtype)(5,)1float64
2022-05-04 12:46:02
309
原创 Jupyter notebook基础命令
在这里不叙述如何配置Jupyter Notebook,使用环境为Macos + python 3.8运行一个单元格快捷键为:Shift + Enter(运行一个单元格并选择下一个)内省:一个变量名 的前/后 使用 ? 可以显示有关该对象的概要信息an_apple?Type: intString form: 1Docstring: int([x]) -> integerint(x, base=10) -> integerConvert a number or
2022-02-12 16:37:45
654
原创 Speech Recognition Using attention-based sequence-to-sequence methods
Abstract—Speech is one of the most important and prominent manner to communicate among human being. It also has capacity to become a kind of medium when facing the human computer interaction. Speech recognition has become a popular area across research ins
2022-02-12 14:14:40
410
原创 利用 pickle 模块序列化与反序列化python对象——简单读/写
Pickle:实现了用于python对象的序列化(serializing)和反序列(unserializing)的协议(protocols)。‘pickling’是将对象的层次结构转换成“字节流”,‘unpickling’是反向操作。pickle模块并不安全,只unpickle完全信任的数据。import pickledef wirtePickleTxt(txt_path, txt): with open(txt_path, 'wb') as f: pickle.dump
2022-02-06 19:04:37
1328
原创 在Mac环境下的NEO4J的下载与配置
首先放上官网链接:neo4j 3.5.30版本注:之前下载过4.x,但是由于java版本不匹配所以直接换成3.5.30报错信息:ERROR! Neo4j cannot be started using java version 1.8.0_271
2022-02-04 15:38:53
2397
原创 排序的稳定性
排序的稳定性定义:针对排序时一样的值在排序以后,他们的相对顺序不变class1中排序算法的稳定性冒泡:可以做到;在一个数向后沉的过程中,对比两个相同数的时候,不交换,用后一个继续比较就可以了插入排序:可以做到;在插入的过程中,插到相同的数的后面选择排序:不可以做到;因为要交换,会一下跳很多数归并排序:可以做到;在两指针指着比较拷贝到原数组里是,先拷贝左侧的,再拷贝右侧的快速排序:不可以做到;同样会交换(在partition部分)堆排序:不可以做到;在大根堆变小根堆的过程中,交换不会关
2022-01-28 21:26:29
865
原创 Leetcode - 动态规划: 70-118-509
动态规划-Leetcode 509:斐波那契数def fib(n: int) -> int: List = [0, 1] if n == 0 or n == 1: return n for i in range(2, n + 1): Sum = List[i - 1] + List[i - 2] List.append(Sum) return List[n]动态规划-Leetcode 70:跳楼梯假设你正在爬楼梯。
2022-01-28 21:18:56
624
原创 荷兰国旗,快速排序,随机快排,堆排序
荷兰国旗给定一个数字num,在数组list中,小于list的放在num的左边,等于num的放中间,大于num的放在右边变量:l:小于区r:大于区cur:当前比较的数初始状态:l=-1 就是(-1,0)位置上的排好了//即小于区没有数,初始状态:r=list.lengthstep1:查看第一个数cur=0时,list[cur]。若等于num,直接cur+1step2:若小于num,则cur位置和l+1位置交换,cur+1step3:若大于num,则cur位置和r-1位置交换,
2021-05-13 16:23:36
96
原创 四种比较经典的排序算法
冒泡时间复杂度:O(n^2)简述:相邻比较,大的数在小的数前面,就交换,和下一个比较。第一轮:最大值换到最后end位置上——在(0~end)找最大值,放到end上第二轮:最大值换到最后end-1位置上——在(0~end-1)找最大值,放到end-1上第三轮:………void BubbleSort(int *list) { for (int j = length-1 ; j > 0; j--){//length是list长度 for (int i = 0; i
2021-05-13 15:01:08
65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人