链接: link.
1.1朴素定义
概念的内涵和外延:任何一个概念都有内涵和外延,这是概念的基本特征。外延指所反应对象的具体范围、具体事物。内涵指概念所反应的特征和本质属性。
习题 1: { 0 , 1 , { 0 , 1 } , { 1 , 2 } } 有几个元素? 机器学习中, 这类形式的集合有什么优点和缺点?
答:其中包括4个元素,其中{0,1},{1,2}本身为一个集合。
优点:以上集合可以应用到多标签学习中,每一个实例可能有一个或者多个标签,则可以用集合中的元素来表示实例带有的标签。
缺点:由于集合中元素复杂程度不一致,处理集合中数据更复杂,需要考虑每一个元素的类型、维度等。
1.2基数
自然数集合N的基数记作
实数集R的基数记作
有穷和无穷:一个集合是有穷的当且仅当它与某个自然数等势,反之无穷。
可数集:设A为集合, 若∣A∣小于N的基数, 则称A为可数集或可列集。
习题 2: ∅ \emptyset ∅的基数是多少?{ ∅ \emptyset ∅ } 呢?
答:为空集,空集的基数为0;基数为1,其中有一个元素即空集
1.2笛卡尔积
有序对:两个元素 x , y x,y x,y按照一定顺序排列成的二元组,记作 ( x , y ) (x,y) (x,y), x x x为第一元素, y y y为第二元素。
笛卡尔积:A,B为集合,用A中元素作为第一元素,B中元素作为第二元素构成有序对的集合,记作 A × B A×B A×B。
1.3幂集
幂集:就是原集合中所有的子集(包括全集和空集)构成的集合
def powerSet(l):
if len(l) != 1:
l1=l[:len(l)-1]
elem=l[len(l)-1]
temp=powerSet(l1)
temp1=[]
for i in temp:
temp1.append(i+[elem])
return temp+temp1
return [[],l]
l=[1,2]
print(powerSet(l))
#输出 [[], [1], [2], [1, 2]]
2.二元关系
设 A , B \rm \bf A,B A,B为集合, A × B \rm \bf A×B A×B的任何子集所定义的二元关系叫做从 A \rm \bf A A到 B \rm \bf B B的二元关系, 当 A \rm \bf A A= B \rm \bf B B时则叫做 A \rm \bf A A上的二元关系。
3.函数
习题 5: 多标签学习中, 输出为一个向量,相应的学习器算不算函数呢?
多标签学习:传统监督学习主要是单标签学习,而现实生活中目标样本往往比较复杂,具有多个语义,含有多个标签。比如一个病人的体检报告可能会有多个标签,高血压、糖尿病等。
我认为多标签学习中相应的学习器算函数,其中定义域为实例集,值域为通过学习器得到的标签向量,并且一个实例通过学习器会得到一个确定的标签向量。
4.元组
元组也是Python中的一种数据结构,用()表示,内容用逗号分隔;可通过索引进行访问;属于不可变序列,不能够进行增删改操作,但是若元组中存在可变序列,则可对该可变序列进行修改。
习题 6: 元组只能表达对象的数据部分, 还是可以完整地表达 (既包括数据, 也包括方法/函数)? 用一个具体的程序来说明.
可以完整表达,元组就是一个类,其中各个成员变量可以取不同的定义域, 可以是数值、字符、集合。
t1=(10,20)
def f(x,y):
return x+y
t=(100,200,'字符串',t1,f(t1[0],t1[1]),range(10))
print(t)
#输出 (100, 200, '字符串', (10, 20), 30, range(0, 10))
5.树与图
习题8:定义带权无向图
A weighted undirected graph is a tuple G w = ( V , w ) \ G_w=({\rm \bf V},w) Gw=(V,w),where V = { \ \rm \bf V=\lbrace V={ v 1 , . . . , v n } v_1,...,v_n\rbrace v1,...,vn} is the set of nodes,and w : V × V → R + ∪ { 0 } w:{\rm \bf V}×{\rm \bf V} \rightarrow \mathbb R^+\cup \lbrace0\rbrace