写在前面:这篇相当于自己的笔记,可能对各位朋友学习的参考价值不大,非常欢迎大家给我提一些学习上的建议。第一次更新至线性回归,因为家中有事,还剩几个回归算法没有记完,有机会把坑填上。

参考资料:

1、黑马程序员-python机器学习快速入门 BV1nt411r7tj

2、《机器学习实战》 Peter · Harrington 著 李锐 李鹏 曲亚东 王斌 译

1 概述

1.1 什么是机器学习

数据、模型、预测。

从历史数据中获取规律。

历史数据需要一定的格式。

1.2 机器学习算法分类

1.2.1 监督学习(预测)

定义:输入数据由特征值和目标值组成,根据函数输出的值,可以分成两类问题:目标值为【类别】(一个类属)为分类问题;目标值为【连续型数据】,为回归问题

常见算法

**分类:**k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归

**回归:**线性回归、岭回归

1.2.2 无监督学习

定义:输入数据集中无目标值,成为无监督学习。

聚类:k-means

举例

1、预测明日气温是多少度?——>回归问题

2、预测明天天气是否下雨?——>分类问题

3、人脸年龄预测——>若按具体数值,则为回归问题;如果按年龄段,或者年龄分类,则为分类问题

4、人脸识别——>分类问题(虽然类别很多,但是依然是分类问题)

1.3 开发流程

第一步【数据获取】

第二步【数据预处理】

第三步【特征工程】

第四步【使用算法进行训练】——获取模型

第五步【模型评估】

第六步【应用】

2 数据集

2.1 学习阶段

  • kaggle
  • sklearn
  • UCI

2.2 sklearn数据集——sklearn.datasets:

  • load_* 获取小数据集:如 sklearn.datasets.load_iris() 即加载鸢尾花数据集
  • fetch_*获取大型数据集:如 sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)
    • subset可选参数为 ‘train’,‘test’,‘all’.
    • 训练集的训练,测试集的测试或者全部加载。

返回的数据类型——Bunch,继承自字典的数据类型。

  • dataset.base.Bunch
  • dict[“key”] = value
  • bunch.key = value
from sklearn.datasets import load_irisdef datasets_demo():iris = load_iris() #导入数据集print("iris dataset:\n", iris) #打印数据集,发现是数组print("iris dataset description:\n",iris.DESCR) #打印数据集描述x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=22) #数据集分割print("训练集特征值:\n",x_train,x_train.shape)return None
if __name__ == "__main__":datasets_demo()

2.3 数据集的划分

训练数据:用于训练,构件模型。

测试数据:在模型检验时使用,用于评估模型是否有效。

划分比例

  • 训练集:70%~80%
  • 测试集:20%~30%

数据集划分API

  • sklearn.model.selection.train_test_split(arrays,*options)

    • x数据集的特征值
    • y数据集的标签值
    • test_size 测试集的大小,一般为float型数据
    • random_state 随机数种子,不同的种子会造成不同的随机采样结果,相同的种子采样结果一样。
    • return 返回值,返回训练集特征值,测试集特征值,训练集目标值,测试集目标值

3 特征工程

用专业知识处理数据,使数据能在机器学习算法上发挥更好的性能

运用sklearn进行特征工程(pandas用来进行数据清洗,数据处理)

3.1 特征提取/特征抽取:

把任意数据(文本、图像),转化为可以用于机器学习的数字特征

  • 机器学习算法——统计方法——数学公式
  • API: sklearn.feature_extraction

3.1.1 字典特征提取

对字典数据进行特征值化

  • sklearn.feature.extraction.DictVectorizer(sprarse = True,…)

    • DictVectorizer.inverse_transform(X) X为array数组或sparse矩阵 返回值为转换前数据格式
    • DiceVectorizer.get_feature_names() 返回类别名称
    • 返回sparse矩阵——稀疏矩阵……

3.1.2 文本特征提取

  • sklearn.feature.extraction.text.CountVectorizer(stop_words=[],…)

    • 返回词频矩阵
    • 单词 作为 特征值
    • 按空格分词,如果需要更高级的分词,可以通过更高级的方法,比如jieba、NPL
    • stop_words为 停用词(对分类结果意义不大的词) 需要提供停用词表
  • 分词处理——jieba.cut(text)

3.1.3 ti-idf 文本特征提取

  • 思想:某一词或短语在一个文本中出现的频率高,但在其他文本中出现的概率低,认为该词/短语有良好的区分能力,适合用来分类
  • 作用:用来评估某一词/短语对一个文件集或语料库中的一个文件的重要程度
  • 公式:
    • 词频(term frequency, tf):指某一给定词在文件中的出现频率
    • 逆向文档频率(inverse document frequency, idf):是一个词普遍重要性的度量。某一特定词的idf,可以由总文件数目除以包含该词的文件数目,再将得到的商取10为底的对数
    • 公式tfidfi,j =tfi,j x idfi,j
  • API:sklearn.feature_extraction.text.TfidfVectorize(stop_words = None,…)

3.2 特征预处理:

通过一些转换函数,将特征数据转换成更加合适算法模型的特征数据的过程。

无量纲化:

  • 归一化(MinMaxScala):通过公式进行放缩,将数据映射在[0,1]区间内
  • 标准化(StandardScala):对原始数据进行变换,变化为均值为0,标准差为1的范围内。
    • API:sklearn.preprocessing.StandardScaler()
    • StandardScaler.fit_transform(X)
      • X: numpy array格式的数据
      • 返回值为形状相同的array
  • 原因:特征的单位或者大小相差较大,或者某特征方差相比其他特征大出几个数量级,容易影响目标结果,使得某些算法无法学习到其他的特征

3.3 特征降维:

降维——降低数据的维数

  • 维数

    • 0维:标量
    • 1维:向量
    • 2维:矩阵
    • 3维:
    • n维
3.3.1 降维方法
  • 特征选择
  • 主成分分析
3.3.2 特征选择

数据中包含冗余和相关变量(或称属性、特征、指标),从原有特征中找出主要的(有效的)特征值。

方法

  • 过滤式(Filter)

    • 方差选择法:过滤掉低方差的特征

      • API: sklearn.feature_selection.VarianceThreshold(threshold = 0.0)
      • Variance.fit_transform(X). X为numpy中array格式的数据。返回值,训练集差异低于threshold的特征将被删除,默认值是保留所有非零方差特征,即删除样本中所有相同值的特征。
    • 相关系数:特征之间的相关程度
      • 取值范围:r ∈ [-1,1]
      • 皮尔逊相关系数
  • 嵌入式(Embedded)
    • 决策树
    • 正则化
    • 深度学习:卷积……
3.3.3 主成分分析
  • API:sklearn.decomposition.PCA(n_components=None)

    • 将数据分为较低维数空间
    • n_components:
      • 小数:表示百分之多少的信息
      • 整数:减少到多少特征
    • PCA.fit_transform(X) X为numpy中array类型的数据
    • 返回值:降维后,转化为指定维度的array

4 分类算法

4.1 sklearn 转换器和预估器

4.1.1 转换器(Transformer)

  1. 实例化(实例化的是一个Transformer转换器类)
  2. 调用fit_transform(对于一个文档建立分类词频矩阵,不能同时调用)

特征工程的接口称为——转换器

  • fit
  • transform
  • fit_transform

4.1.2 估计器(estimator)

sklearn中机器学习算法的实现

  1. 用于分类的估计器:

    • sklearn.neighbors k-近邻算法
    • sklearn.naive_bayes 朴素贝叶斯
    • sklearn.linear_model.LogisticRegression 逻辑回归
    • sklearn.tree 决策树与随机森林
  2. 用于回归的估计器:
    • sklearn.linear_model.LinearRegression 线性回归
    • sklearn.linear_model.Ridge 岭回归
  3. 用于无监督学习的估计器
    • sklearn.cluster.KMeans 聚类

估计器的工作流程:

  1. 实例化一个estimator
  2. estimator.fit(x_train, y_train) 计算。——调用完毕,模型生成
  3. 模型评估
    1. 直接比对真实值和预测值:y_predict = estimator.predict(x_test);y_test == y_predict?(对比一下,看布尔值)
    2. 计算准确率:estimator.score()

4.2 k-近邻算法(knn,k nearest neighbor)

定义:一个样本与k个相邻最近的样本同属一个类别,则该样本也属于这个类别。

  • 距离公式:欧氏距离
  • 其他距离计算方法:
    • 曼哈顿距离 绝对值距离
    • 明可夫斯基距离

实例分析:

  • 电影分类
  • 约会对象数据

4.2.1 KNN算法API

  • sklearn.neighbors.KneighborsClassifier(n_neighbors = 5, algorithm=‘auto’)

    • n_neighbors:int类型,可选(默认为5),代表neighbors查询时候的“邻居”数。
    • algorithm:算法模式(‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’)。auto 为自动选择效率较高的算法。

4.2.2 应用:鸢尾花数据集

  1. 获取数据:导入iris数据集
  2. 数据集划分
  3. 特征工程
    • 标准化
  4. KNN预估器流程
  5. 模型评估

样例代码如下:

from datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
form sklearn.neighbors import NeighborsClassifierdef knn_iris():"""用knn对鸢尾花进行分类"""#获取数据iris = load_iris()#数据划分x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.traget, random_state=22)#特征工程-标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)#KNN预估器estimator = KNeighborClassifier(n_neighbors = 3)estimator.fit(x_train, y_train)#模型评估#方法1:直接对比y_predict = estimator.predict(x_test)print("y_predict:\n",y_predict)print("对比:\n",y_test == y_predict)#方法2:计算准确率score = estimator.score(x_test,y_test)print("准确率:\n",score)if __name__ == "__main__":#knn算法运行knn_iris()

4.2.3 KNN的优缺点

  • 优点:简单、易于理解、易于实现、无须训练
  • 缺点:
    • 对测试样本分类计算,占用内存开销大
    • 需指定K值,当K值选择不当的时候,精确度不能保证

总结:KNN适用于小数据场景,样本量为几千~几万级别,具体效果还需要在实践中测试

4.3 模型选择与调优

4.3.1 交叉验证(Cross Validation)

什么是交叉验证?——交叉验证是指,将拿到的训练数据分为训练和验证集。如下表所示,将训练集分为四个部分,训练集训练后,用验证集进行验证。

训练集1 训练集2 训练集3 训练集4 匹配度
验证集 训练集 训练集 训练集 75%
训练集 验证集 训练集 训练集 85%
训练集 训练集 验证集 训练集 78%
训练集 训练集 训练集 验证集 82%

交叉验证的目的。——提高准确度,让模型评估更加准确可信

4.3.2 超参数搜索——网格搜索(Grid Search)

因为在很多算法中参数需要我们指定,如KNN中的k值,这就叫超参数,但我们手动调整,过程繁杂,所以我们可以对模型设置一组超参数,对每组超参数都采用交叉验证的方法进行评估,最后选出最优组合建立模型。

K=1 K=2 K=5 K=6
模型 模型1 模型2 模型3

4.3.3 模型选择与调优API

  • sklearn.model_selection.GridSearchCV(estimator, param_grid = None, cv=None)

    • 对估计器的指定参数进行详尽搜索。
    • estimator 估计器对象
    • param.grid: 估计器参数(dict){“n_neighbors”:[1,3,5]}
    • cv 指定几折交叉验证
    • fit() 输入训练数据
    • score() 准确率
    • 结果:
      • best_params_ 最佳参数
      • best_score_ 最佳结果
      • best_estimator_ 最佳估计器
      • cv_results_ 交叉验证结果

4.3.4 实例对鸢尾花数据集进行模型选择与数据调优

代码参考4.2中鸢尾花knn算法

from datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
form sklearn.neighbors import NeighborsClassifier
from sklearn.model_selection import GridSearchCVdef knn_iris():"""用knn对鸢尾花进行分类"""#获取数据iris = load_iris()#数据划分x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.traget, random_state=22)#特征工程-标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)#KNN预估器estimator = KNeighborClassifier(n_neighbors = 3)#加入网格搜索与交叉验证#1)参数准备param_dict ={"n_neighbors":[1,3,5,7,9,11]}#2)传参,开始选择estimator = GridSearchCV(estimator, param_grid = param_dict, cv = 10)#训练estimator.fit(x_train, y_train)#查看交叉验证情况print("最佳参数:\n", estimator.best_params_)print("最佳结果:\n", estimator.best_score_)print("最佳估计器:\n", estimator.best_estimator_)print("交叉验证结果:\n",estimator.cv_results_)if __name__ == "__main__":#knn算法运行knn_iris()

4.4 朴素贝叶斯算法(Naive Bayes)

4.4.1 概率基础

  • 概率定义为一个事件发生的可能性

  • P(X):取值为[0,1]

  • 联合概率、条件概率和相互独立

    • 联合概率:包含多个条件,且同时成立的概率
    • 条件概率:在事件A下发生B的概率
    • 相互独立:P(A,B) = P(A)P(B) <=> 事件A与事件B相互独立
  • P(C∣F1,F2,F3,...)=P(F1,F2,F3,...)P(C)P(F1,F2,F3,...)P(C|F1,F2,F3,...)=\frac{P(F1,F2,F3,...)P(C)}{P(F1,F2,F3,...)} P(CF1,F2,F3,...)=P(F1,F2,F3,...)P(F1,F2,F3,...)P(C)

  • 朴素?

    • 假设特征和特征之间相互独立
  • 朴素贝叶斯?

    • 朴素+贝叶斯
  • 应用:

    • 文本分类,单词作为特征
  • 拉普拉斯平滑系数

    • 防止算出来结果是0

    • P(F1∣C)=Ni+αN+αmP(F1|C) = \frac{Ni+α}{N+αm} P(F1C)=N+αmNi+α

    • α为指定的一个系数,一般为1,m为特征词的个数

4.4.2 朴素贝叶斯算法API

sklearn.naive_bayes.MultinomiaINB(alpha = 1.0)

  • 朴素贝叶斯算法
  • alpha 为拉普拉斯平滑系数

4.4.3 朴素贝叶斯的应用——文本分类

  • 数据集——20个新闻组:sklearn自带数据集,因为数据量比较大,需要用fetch来加载。
  1. 获取数据
  2. 数据集划分
  3. 特征工程:文本特征抽取 推荐tfidf方式
  4. 朴素贝叶斯预估器流程
  5. 模型评估
from sklearn.model_selection import train_test_split
from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
def nb_news():#用朴素贝叶斯算法对新闻进行分类#加载数据news = fetch_20newsgroups(subset = "all")#数据集划分x_train, x_test, y_train, y_test = train_test_split(news.data, news.traget)#特征抽取Tfidftransfer = TfidfVectorizer()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)#朴素贝叶斯预估器流程estimator = MultinomialNB()estimator.fit(x_train, y_train)#模型评估#方法1:直接对比y_predict = estimator.predict(x_test)print("y_predict:\n",y_predict)print("对比:\n",y_test == y_predict)#方法2:计算准确率score = estimator.score(x_test,y_test)print("准确率:\n",score)return Noneif __name__ == "__main__":nb_news();

4.4.4 朴素贝叶斯分析

  • 优点:

    • 朴素贝叶斯发源于古典数学,有稳定的分类效率
    • 对缺失数据不敏感,算法简单,常用于文本分类
    • 分类准确度高,速度快
  • 缺点
    • 使用了样本独立性【假设】,因此如果特征有关联时,效果不好。

4.5 决策树

4.5.1 原理

  • 信息熵、信息增益等(用到信息论基础的知识

    • 信息:消除随机不定性的东西(香农),如“小明的年龄是18岁”

    • 信息熵:信息的衡量-信息量,单位为比特(bit),公式如下
      H(X)=−∑i=1nP(xi)logbP(xi)H(X) = -\sum_{i=1}^n P(x_i)log_bP(x_i) H(X)=i=1nP(xi)logbP(xi)

      • P(xi)为可能性
      • b一般为2

4.5.2 决策树的划分依据之一——信息增益

  • 定义与公式:特征A对训练数据集D的信息增益g(D,A),定义为集合D的信息熵H(D)与特征A给定条件下D的信息熵H(D)条件熵H(D|A)之差,即公式为:
    g(D,A)=H(D)−H(D∣A)g(D,A) = H(D) - H(D|A) g(D,A)=H(D)H(DA)

    • 信息熵计算:
      H(D)=∑i=1n∣Ck∣∣D∣logb∣Ck∣∣D∣H(D) = \sum_{i=1}^n \frac{|C_k|}{|D|}log_b\frac{|C_k|}{|D|} H(D)=i=1nDCklogbDCk

    • 条件熵计算:
      H(D∣A)=∑i=1n∣Di∣∣D∣H(Di)=−∑i=1n∣Di∣∣D∣∑k=1K∣Dik∣∣D∣logb∣Dik∣∣D∣H(D|A) = \sum_{i=1}^n \frac{|D_i|}{|D|} H(D_i) = -\sum_{i=1}^n \frac{|D_i|}{|D|} \sum_{k=1}^K \frac{|D_{ik}|}{|D|}log_b \frac{|D_{ik}|}{|D|} H(DA)=i=1nDDiH(Di)=i=1nDDik=1KDDiklogbDDik

      • C k表示属于某个类别的样本数

4.5.3 决策树算法API

  • class sklearn.tree.DecisionTreeClassifer(criterion=‘gini’, max_depth=None,random_state=None)

    • 决策树分类器
    • criterion(n. 准则、标准、判据):默认是‘gini’系数,也可以选择信息增益的熵‘entropy’
    • max_depth:树的深度大小
    • random_state:随机数种子

4.5.4 决策树的优缺点分析

  • 优点:

    • 简单的理解和解释,树木可视化
  • 缺点
    • 容易产生过拟合
    • 容易建成一个很复杂的树
  • 改进
    • 剪枝cart算法(API中已经实现)
    • 随机森林

企业决策中使用决策树情况较多,因为决策能力比较好。

4.5.5 总结

  • 信息熵,信息增益的计算(数学原理)
  • DecisionTreeClassifier进行决策树的划分
  • export_graphviz导出到dot文件

4.6 集成学习方法之 随机森林

4.6.1 集成学习方法

  • 通过几个模型的组合来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和做出预测。这些预测最后会结合成组合预测,因此会优于任何一个单分类做出的预测。【三个臭皮匠,顶个诸葛亮。】

4.6.2 什么是随机森林?

  • 在机器学习中,随机森林是一个包含多个决策树的分类器,并且输出的类别是由个别树输出类别的众数而定。

4.6.3 随机森林原理过程

随机有放回的

  • 特征值随机:从N个特征中随机抽取n个特征
  • 训练集随机:从N个样本中随机有放回的抽样n个

4.6.4 随机森林API

  • class sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion=‘gini’, max_depth=None, bootstrap=True, random_state=None, min_samples_split=2)

    • 随机森林分类器
    • n_estimators: int, 可选(default = 10) 森林里的树木数量
    • criterion:string,测量方法,可选(default = ‘gini’)分割特征的测量方法
    • max_depth:树的高度
    • max_features = ‘auto’ 每个决策树的最大特征数量
    • bootstrap:布尔类型,是否放回抽样
    • min_samples_split:节点划分最少样本数
    • min_samples_leaf:叶子节点最小样本数

4.6.5 随机森林的优缺点分析

  • 优点

    • 经典、准确、高效
    • 适用于大数据集
    • 处理高维特征的输入样本,还不用降维

5 聚类与回归算法

5.1 线性回归

回归问题:目标值是连续的数据。

5.1.1 线性回归的原理

  • 线性回归(Linear Regression),利用回归方程(函数)对一个或多个自变量(特征值)因变量(目标值)之间关系进行建模的一种分析方式。

    • 只有一个自变量的情况称为单变量回归,多个自变量的情况属于多元回归。

    • 通用公式
      h(w)=w1x1+w2x2+w3x3+...+b=wTx+bh(w) = w_1x_1+w_2x_2+w_3x_3+...+b = w^Tx+b h(w)=w1x1+w2x2+w3x3+...+b=wTx+b

    • 其中wx为通用函数,b为偏置值

    • 其中w, x可以理解成矩阵 w = (b, w1, w2)T , x = (1, x1, x2)T

  • 线性关系和线性模型:

    • 线性关系不一定是线性模型
    • 线性模型一定是线性关系

5.1.2 线性回归的损失和优化原理

  • 目标:求模型参数,并且使模型参数预测准确

  • 做法:制定损失函数和优化原理

  • 总损失函数(最小二乘法):
    J(θ)=(hw(x1)−y1)2+(hw(x2)−y2)2+...+(hw(xm)−ym)2=∑i=1m(hw(xi)−yi)2J(θ)=(h_w(x_1)-y_1)^2+(h_w(x_2)-y_2)^2+...+(h_w(x_m)-y_m)^2=\sum_{i=1}^m(h_w(x_i)-y_i)^2 J(θ)=(hw(x1)y1)2+(hw(x2)y2)2+...+(hw(xm)ym)2=i=1m(hw(xi)yi)2

  • yi为第i个样本的真实值, h(xi)为第i个训练样本特征值组合预测函数

5.1.3 优化方法

  • 正规方程

    • 公式
      w=(XTX)−1XTyw = (X^TX)^{-1}X^Ty w=(XTX)1XTy

      • X为特征值矩阵
      • y为目标值矩阵
      • 直接求到最好的结果
      • 缺点是特征值过多过于复杂时,求解速度比较慢,无法很快得到好的结果。
  • 梯度下降

5.2 欠拟合与过拟合

5.3 岭回归

5.4 分类算法:逻辑回归与二分类

机器学习笔记(2021-08-02 第一稿)相关推荐

  1. 2021李宏毅机器学习笔记--21 Anomaly Detection

    2021李宏毅机器学习笔记--21 Anomaly Detection(异常侦测) 摘要 一.问题描述 二.Anomaly异常 三.Anomaly Detection(异常侦测)做法 3.1 Bina ...

  2. cs224w(图机器学习)2021冬季课程学习笔记5 Colab 1:Node Embeddings

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 0. Python包导入 1. NetworkX数据获取.可视化 2. 探索NetworkX数据的 ...

  3. cs224w(图机器学习)2021冬季课程学习笔记16 Community Detection in Networks

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. Community Detection in Networks 2. Network Com ...

  4. cs224w(图机器学习)2021冬季课程学习笔记8 Colab 2

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 VX号"PolarisRisingWar"可直接搜索添加作者好友讨论. 更新日志: 20 ...

  5. 2021李宏毅机器学习笔记--12 attack ML models

    2021李宏毅机器学习笔记--12 attack ML models 摘要 一.图像模型的攻击 1.1原理 1.2Constraint 1.3参数训练 1.4一个例子 1.5攻击方法 1.5.1FGS ...

  6. cs224w(图机器学习)2021冬季课程学习笔记2: Traditional Methods for ML on Graphs

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. 章节前言 2. Traditional Feature-based Methods: Nod ...

  7. cs224w(图机器学习)2021冬季课程学习笔记18 Colab 4:异质图

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 Question 1. DeepSNAP异质图简介 1.1 Question 1.1:分配Node ...

  8. cs224w(图机器学习)2021冬季课程学习笔记21 Scaling Up GNNs to Large Graphs

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. 介绍scale up GNN问题 2. GraphSAGE Neighbor Samplin ...

  9. 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01

    @[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...

  10. cs224w(图机器学习)2021冬季课程学习笔记9 Graph Neural Networks 2: Design Space

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. A General Perspective on Graph Neural Networks ...

最新文章

  1. 小程序云开发 一开通云开发,给数据库添加一条记录
  2. coverage代码覆盖率测试工具:基本原理分析与使用
  3. 如何计算空间一条直线外一点到这条直线的垂足点坐标
  4. 彻底解决iOS项目中 _OBJC_CLASS_$_XXXService, referenced from: 的类似问题
  5. JMeter中添加dubbo相关插件异常问题解决
  6. [ZOJ 3203] 灯泡
  7. jq金钱如何加千分位_拼多多如何玩转场景推广
  8. linux mc服务器 mod_如何在linux搭建MC服务器
  9. linux php c 扩展,linux下编写php5.6的C扩展模块(双向链表)
  10. OPENCV数据结构体系和常用函数
  11. 丢失更新的问题产生和解决
  12. EJBCA 在windows上的安装
  13. 【Shell Basic】source . 与 bash sh 的区别
  14. 数据仓库的分层,你知道吗?
  15. 水波纹 android,Android特效之水波纹的实现
  16. 商城-商品规格管理-商品规格参数管理
  17. 什么叫别让孩子输在起跑线上?! - 电子产品已成儿童“多动症”诱因
  18. 管理者神功之“九”阴真经
  19. 思科瘦AP开启telnet/ssh通过WLC命令方式
  20. 智能电视聚好看连接服务器失败,最新海信电视网络故障解决方法汇总!新老用户值得收藏!...

热门文章

  1. Uncaught SyntaxError: identifier starts immediately after numeric literal
  2. Java二维数组排序
  3. linux 分割后恢复文件路径,使用Linux系统自带多路径时路径故障恢复后无法自动回切...
  4. UWP 手绘视频创作工具技术分享系列 - 有 AI 的手绘视频
  5. Spring更简单的读取和存储对象
  6. OpenGL使用纯VBO方式渲染出三角形,非VAO
  7. python udp socket 缓冲区大小_Python网络编程(socket模块、缓冲区、http协议)
  8. 如何解决Windows 7的多重网络问题
  9. 5.15 综合案例2.0-燃气检测系统(仅支持2.02以上版本)
  10. revit安装包为什么比安装后文件大