您当前的位置:首页 > 电脑百科 > 人工智能

机器学习算法中如何执行回归数据的特征选择

时间:2021-01-15 11:17:58  来源:  作者:

特征选择是识别和选择与目标变量最相关的输入变量子集的过程。

特征选择最简单的情况可能是存在数字输入变量和用于回归预测建模的数字目标的情况。这是因为可以计算出每个输入变量与目标之间的关系强度,称为相关性,并进行相对比较。

本文中我们将展示如何使用数值输入数据执行特征选择以进行回归预测建模。

  • 使用相关性和互信息统计来评估数字输入数据的重要性。
  • 在拟合和评估回归模型时如何为数字输入数据执行特征选择。
  • 使用网格搜索调整在建模管道中选择的特征数量。

本文分为四部分:

  • 1、回归数据集
  • 2、数值特征选择
  • 2.1、相关特征选择
  • 2.2、相关信息特征选择
  • 3、使用选定特征建模
  • 3.1、使用所有特征构建的模型
  • 3.2、使用相关特征构建的模型
  • 3.3、使用相关信息特征构建的模型
  • 4、调整所选特征的数量

一、回归数据集

我们将使用综合回归数据集作为本文的基础。

回归问题是我们要预测数值的问题。在这种情况下,我们需要一个具有数字输入变量的数据集。

scikit-learn库中的make_regression()函数可用于定义数据集。它提供了对样本数量,输入特征数量以及重要的是相关和冗余输入特征数量的控制。这一点至关重要,因为我们特别希望我们知道的数据集具有一些冗余输入特征。

在这种情况下,我们将定义一个包含1000个样本的数据集,每个样本具有100个输入特征,其中10个是信息性的,其余90个是冗余的。

# generate regression dataset
X, y = make_regression(n_samples=1000, n_features=100, n_informative=10, noise=0.1, random_state=1)

希望特征选择技术可以识别与目标相关的那些特征中的一些或全部,或者至少识别并除去某些冗余输入特征。

定义后,我们可以将数据分为训练集和测试集,以便我们拟合和评估学习模型。

我们将使用scikit-learn形式的train_test_split()函数,并将67%的数据用于训练,并将33%的数据用于测试。


...
# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1)
1
2
3
...
# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1)

将这些特征结合在一起,下面列出了定义,拆分和汇总原始回归数据集的完整示例。

# load and summarize the dataset
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
# generate regression dataset
X, y = make_regression(n_samples=1000, n_features=100, n_informative=10, noise=0.1, random_state=1)
# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1)
# summarize
print('Train', X_train.shape, y_train.shape)
print('Test', X_test.shape, y_test.shape)

运行示例将报告训练和测试集的输入和输出特征的大小。

我们可以看到,我们有670个训练示例和330个测试示例。

机器学习算法中如何执行回归数据的特征选择

 

现在,我们已经加载并准备了数据集,我们可以探索特征选择。

二、数值特征选择

有两种流行的特征选择技术,可用于数字输入数据和数字目标变量。

他们是:

  1. 相关统计。
  2. 相互信息统计。

(一)相关特征选择

相关性是两个变量如何一起变化的度量。也许最常见的相关度量是Pearson相关,它假设每个变量的高斯分布并报告它们的线性关系。

对于数字预测变量,量化与结果之间的每个关系的经典方法是使用样本相关性统计量。

线性相关分数通常是介于-1和1之间的值,0表示没有关系。对于特征选择,我们通常对正值感兴趣,正值越大,关系越大,并且应该更可能选择特征进行建模。这样,线性相关可以转换为仅具有正值的相关统计量。

scikit-learn库在f_regression()函数中提供了相关统计的实现。此函数可用于特征选择策略中,例如通过SelectKBest类选择前k个最相关的特征(最大值)。

例如,我们可以定义SelectKBest类以使用f_regression()函数并选择所有特征,然后转换训练和测试集。

# configure to select all features
fs = SelectKBest(score_func=f_regression, k='all')
# learn relationship from training data
fs.fit(X_train, y_train)
# transform train input data
X_train_fs = fs.transform(X_train)
# transform test input data
X_test_fs = fs.transform(X_test)
return X_train_fs, X_test_fs, fs

然后,我们可以输出每个变量的分数(越大越好),并将每个变量的分数绘制为条形图,以了解应该选择多少个特征。

for i in range(len(fs.scores_)):
	print('Feature %d: %f' % (i, fs.scores_[i]))
# plot the scores
pyplot.bar([i for i in range(len(fs.scores_))], fs.scores_)
pyplot.show()

将其与上一节中数据集的数据准备一起进行绑定,下面列出了完整的示例。

from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import f_regression
from matplotlib import pyplot

# feature selection
def select_features(X_train, y_train, X_test):
    # configure to select all features
    fs = SelectKBest(score_func=f_regression, k='all')
    # learn relationship from training data
    fs.fit(X_train, y_train)
    # transform train input data
    X_train_fs = fs.transform(X_train)
    # transform test input data
    X_test_fs = fs.transform(X_test)
    return X_train_fs, X_test_fs, fs

# load the dataset
X, y = make_regression(n_samples=1000, n_features=100, n_informative=10, noise=0.1, random_state=1)
# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1)
# feature selection
X_train_fs, X_test_fs, fs = select_features(X_train, y_train, X_test)
# what are scores for the features
for i in range(len(fs.scores_)):
    print('Feature %d: %f' % (i, fs.scores_[i]))
# plot the scores
pyplot.bar([i for i in range(len(fs.scores_))], fs.scores_)
pyplot.show()

首先运行示例将输出为每个输入特征和目标变量计算的分数。

请注意,您的特定结果可能会有所不同。尝试运行该示例几次。

我们可以看到,某些变量的分数高于其他变量,而其他变量的分数则大得多,例如Feature 9的分数为101。

机器学习算法中如何执行回归数据的特征选择

 

为每个输入特征创建一个特征重要性评分的条形图。

该图清楚地表明8至10个特征比其他重要得多。

在配置SelectKBest时,我们可以设置k=10来选择这些最重要的特征。

机器学习算法中如何执行回归数据的特征选择

输入特征(x)与关联特征重要性(y)的条形图

(二)相关信息特征选择

来自信息理论领域的相关信息是信息增益(通常用于决策树的构建)在特征选择中的应用。

在两个变量之间计算相关信息,并在给定另一个变量的已知值的情况下测量一个变量的不确定性降低。

考虑两个离散(分类或有序)变量(例如分类输入和分类输出数据)的分布时,相关信息很简单。尽管如此,它仍可适用于数字输入和输出变量。

scikit-learn库中的common_info_regression()函数通过数字输入和输出变量提供了用于信息选择的相关信息实现。

与f_regression()一样,它可以用于SelectKBest特征选择策略(和其他策略)中。

# configure to select all features
fs = SelectKBest(score_func=mutual_info_regression, k='all')
# learn relationship from training data
fs.fit(X_train, y_train)
# transform train input data
X_train_fs = fs.transform(X_train)
# transform test input data
X_test_fs = fs.transform(X_test)
return X_train_fs, X_test_fs, fs

我们可以使用数据集上的相关信息来执行特征选择。

下面列出了使用相关信息进行数字特征选择的完整示例。

from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import mutual_info_regression
from matplotlib import pyplot
 
# feature selection
def select_features(X_train, y_train, X_test):
	# configure to select all features
	fs = SelectKBest(score_func=mutual_info_regression, k='all')
	# learn relationship from training data
	fs.fit(X_train, y_train)
	# transform train input data
	X_train_fs = fs.transform(X_train)
	# transform test input data
	X_test_fs = fs.transform(X_test)
	return X_train_fs, X_test_fs, fs
 
# load the dataset
X, y = make_regression(n_samples=1000, n_features=100, n_informative=10, noise=0.1, random_state=1)
# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1)
# feature selection
X_train_fs, X_test_fs, fs = select_features(X_train, y_train, X_test)
# what are scores for the features
for i in range(len(fs.scores_)):
	print('Feature %d: %f' % (i, fs.scores_[i]))
# plot the scores
pyplot.bar([i for i in range(len(fs.scores_))], fs.scores_)
pyplot.show()

首先运行示例将输出为每个输入特征和目标变量计算的分数。

请注意,您的特定结果可能会有所不同。

我们可以看到许多特征的分数为0.0,而这已经确定了许多可能与目标有关的特征。

机器学习算法中如何执行回归数据的特征选择

 

为每个输入特征创建一个特征重要性评分的条形图。

与相关特征选择方法相比,我们可以清楚地看到更多的特征被标记为相关。这可能是由于我们在其构造中添加到数据集中的统计噪声。

机器学习算法中如何执行回归数据的特征选择

输入特征(x)与相关信息特征重要性(y)的条形图

既然我们知道如何针对回归预测建模问题对数字输入数据执行特征选择,那么我们可以尝试使用选定的特征开发模型并比较结果。

三、使用选定特征建模

有许多不同的技术可用来对特征评分和根据分数选择特征。您怎么知道要使用哪个?

一种可靠的方法是使用不同的特征选择方法(和特征数量)评估模型,然后选择能够产生最佳性能的模型的方法。

在本节中,我们将评估具有所有特征的线性回归模型,并将其与根据相关统计选择的特征和通过互信息选择的特征构建的模型进行比较。

线性回归是测试特征选择方法的良好模型,因为如果从模型中删除了不相关的特征,则线性回归性能会更好。

(一)使用所有特征构建的模型

第一步,我们将使用所有可用特征来评估LinearRegression模型。

该模型适合训练数据集,并在测试数据集上进行评估。

下面列出了完整的示例。

from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
# load the dataset
X, y = make_regression(n_samples=1000, n_features=100, n_informative=10, noise=0.1, random_state=1)
# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1)
# fit the model
model = LinearRegression()
model.fit(X_train, y_train)
# evaluate the model
yhat = model.predict(X_test)
# evaluate predictions
mae = mean_absolute_error(y_test, yhat)
print('MAE: %.3f' % mae)

运行示例将在训练数据集上输出模型的平均绝对误差(MAE)。

由于学习算法的随机性,结果可能会有所不同。

在这种情况下,我们可以看到该模型实现了约0.086的误差。

机器学习算法中如何执行回归数据的特征选择

 

(二)使用相关特征构建的模型

我们可以使用相关方法对特征进行评分,然后选择10个最相关的特征。

下面的select_features()函数已更新以实现此目的。

# feature selection
def select_features(X_train, y_train, X_test):
	# configure to select a subset of features
	fs = SelectKBest(score_func=f_regression, k=10)
	# learn relationship from training data
	fs.fit(X_train, y_train)
	# transform train input data
	X_train_fs = fs.transform(X_train)
	# transform test input data
	X_test_fs = fs.transform(X_test)
	return X_train_fs, X_test_fs, fs

下面列出了使用此特征选择方法评估线性回归模型拟合和对数据进行评估的完整示例。

from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import f_regression
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
 
# feature selection
def select_features(X_train, y_train, X_test):
    # configure to select a subset of features
    fs = SelectKBest(score_func=f_regression, k=10)
    # learn relationship from training data
    fs.fit(X_train, y_train)
    # transform train input data
    X_train_fs = fs.transform(X_train)
    # transform test input data
    X_test_fs = fs.transform(X_test)
    return X_train_fs, X_test_fs, fs
 
# load the dataset
X, y = make_regression(n_samples=1000, n_features=100, n_informative=10, noise=0.1, random_state=1)
# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1)
# feature selection
X_train_fs, X_test_fs, fs = select_features(X_train, y_train, X_test)
# fit the model
model = LinearRegression()
model.fit(X_train_fs, y_train)
# evaluate the model
yhat = model.predict(X_test_fs)
# evaluate predictions
mae = mean_absolute_error(y_test, yhat)
print('MAE: %.3f' % mae)

该示例仅报告了使用相关统计数据选择的100个输入特征中的10个的模型性能。

在这种情况下,我们看到该模型实现了约2.7的误差分,这比使用所有特征并获得0.086的MAE的基线模型要大得多。

这表明,尽管该方法对选择哪些特征有很强的想法,但是仅从这些特征构建模型并不能带来更熟练的模型。这可能是因为对目标很重要的特征被忽略了。

机器学习算法中如何执行回归数据的特征选择

 

让我们采用另一种方法,尝试使用该方法删除一些冗余特征,而不是所有冗余特征。

为此,我们可以将所选特征的数量设置为一个更大的值(在本例中为88),希望它可以找到并丢弃90个冗余特征中的12个。

下面列出了完整的示例。

    

该示例报告了使用相关统计量选择的100个输入特征中的88个的模型性能。

在本例中,我们可以看到,删除一些冗余特征使性能有了小幅提升,误差约为0.085,而基线的误差约为0.086。

机器学习算法中如何执行回归数据的特征选择

 

(三)使用相关信息特征构建的模型

下面列出了实现此目的的select_features()函数的更新版本。

def select_features(X_train, y_train, X_test):
	# configure to select a subset of features
	fs = SelectKBest(score_func=mutual_info_regression, k=88)
	# learn relationship from training data
	fs.fit(X_train, y_train)
	# transform train input data
	X_train_fs = fs.transform(X_train)
	# transform test input data
	X_test_fs = fs.transform(X_test)
	return X_train_fs, X_test_fs, fs

下面列出了使用相关信息进行特征选择以拟合线性回归模型的完整示例。

from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import mutual_info_regression
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
 
# feature selection
def select_features(X_train, y_train, X_test):
	# configure to select a subset of features
	fs = SelectKBest(score_func=mutual_info_regression, k=88)
	# learn relationship from training data
	fs.fit(X_train, y_train)
	# transform train input data
	X_train_fs = fs.transform(X_train)
	# transform test input data
	X_test_fs = fs.transform(X_test)
	return X_train_fs, X_test_fs, fs
 
# load the dataset
X, y = make_regression(n_samples=1000, n_features=100, n_informative=10, noise=0.1, random_state=1)
# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1)
# feature selection
X_train_fs, X_test_fs, fs = select_features(X_train, y_train, X_test)
# fit the model
model = LinearRegression()
model.fit(X_train_fs, y_train)
# evaluate the model
yhat = model.predict(X_test_fs)
# evaluate predictions
mae = mean_absolute_error(y_test, yhat)
print('MAE: %.3f' % mae)

运行这个例子符合该模型在前88个选择使用相关信息特征选择。

在这种情况下,我们可以看到与相关统计量相比误差的进一步减少,在这种情况下,相对于上一节的0.085,MAE达到了大约0.084。

机器学习算法中如何执行回归数据的特征选择

 

四、调整所选特征的数量

在上一个示例中,我们选择了88个特征,但是如何知道要选择的特征数量是否是最佳。

无需猜测,我们可以系统地测试一系列不同数量的所选特征,并发现哪种结果会产生最佳性能的模型。这称为网格搜索,其中可以调整SelectKBest类的k参数。

使用重复分层k-fold cross-validation来评估回归任务上的模型配置是一种好习惯。我们将通过RepeatedKFold类使用三个重复的10倍交叉验证。

cv = RepeatedKFold(n_splits=10, n_repeats=3, random_state=1)

我们可以定义一条通道,以正确准备训练集上的特征选择变换,并将其应用于交叉验证的每一折的训练集和测试集。

在这种情况下,我们将使用相关信息统计方法来选择特征。

# define the pipeline to evaluate
model = LinearRegression()
fs = SelectKBest(score_func=mutual_info_regression)
pipeline = Pipeline(steps=[('sel',fs), ('lr', model)])

然后,我们可以定义值的网格以评估为80到100。

请注意,网格是要搜索的参数到值的字典映射,并且假设我们使用的是Pipeline,则可以通过给我们提供的名称“ sel ”和参数名称“ k ” 来访问SelectKBest对象。两个下划线或“ sel__k ”。

# define the grid
grid = dict()
grid['sel__k'] = [i for i in range(X.shape[1]-20, X.shape[1]+1)]

然后,我们可以定义并运行搜索。

在这种情况下,我们将使用负平均绝对误差(neg_mean_absolute_error)评估模型。它是负数,因为scikit-learn需要使分数最大化,因此MAE变为负数,这意味着分数从-infinity到0(最佳)。

# define the grid search
search = GridSearchCV(pipeline, grid, scoring='neg_mean_absolure_error', n_jobs=-1, cv=cv)
# perform the search
results = search.fit(X, y)

下面列出了完整的示例

from sklearn.datasets import make_regression
from sklearn.model_selection import RepeatedKFold
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import mutual_info_regression
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import Pipeline
from sklearn.model_selection import GridSearchCV
# define dataset
X, y = make_regression(n_samples=1000, n_features=100, n_informative=10, noise=0.1, random_state=1)
# define the evaluation method
cv = RepeatedKFold(n_splits=10, n_repeats=3, random_state=1)
# define the pipeline to evaluate
model = LinearRegression()
fs = SelectKBest(score_func=mutual_info_regression)
pipeline = Pipeline(steps=[('sel',fs), ('lr', model)])
# define the grid
grid = dict()
grid['sel__k'] = [i for i in range(X.shape[1]-20, X.shape[1]+1)]
# define the grid search
search = GridSearchCV(pipeline, grid, scoring='neg_mean_squared_error', n_jobs=-1, cv=cv)
# perform the search
results = search.fit(X, y)
# summarize best
print('Best MAE: %.3f' % results.best_score_)
print('Best Config: %s' % results.best_params_)
# summarize all
means = results.cv_results_['mean_test_score']
params = results.cv_results_['params']
for mean, param in zip(means, params):
    print(">%.3f with: %r" % (mean, param))

运行示例选择不同数量的网格搜索功能使用相关信息统计,其中每个建模评估通道使用重复交叉验证。

在这种情况下,我们可以看到,选择的特征的最佳数量是81,这使得MAE达到大约0.082(忽略符号)。

机器学习算法中如何执行回归数据的特征选择

鉴于学习算法和评估程序的随机性,您的具体结果可能会有所不同。尝试运行该示例几次。

我们可能希望查看所选特征的数量与MAE之间的关系。在这种关系中,我们可以预期到更多的特征会带来更好的性能。

通过手动评估SelectKBest从81到100 的k的每个配置,收集MAE分数样本,并使用箱型图和须状图并排绘制结果来探索结果。这些箱形图的分布和均值将显示所选特征的数量与管道的MAE之间任何有趣的关系。

请注意,由于k = 80的MAE分数的分布远大于所考虑的k的所有其他值,因此我们从81而不是80开始了k值的传播。

下面列出了实现此目的的完整示例。

from numpy import mean
from numpy import std
from sklearn.datasets import make_regression
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import RepeatedKFold
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import mutual_info_regression
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import Pipeline
from matplotlib import pyplot
# define dataset
X, y = make_regression(n_samples=1000, n_features=100, n_informative=10, noise=0.1, random_state=1)
# define number of features to evaluate
num_features = [i for i in range(X.shape[1]-19, X.shape[1]+1)]
# enumerate each number of features
results = list()
for k in num_features:
	# create pipeline
	model = LinearRegression()
	fs = SelectKBest(score_func=mutual_info_regression, k=k)
	pipeline = Pipeline(steps=[('sel',fs), ('lr', model)])
	# evaluate the model
	cv = RepeatedKFold(n_splits=10, n_repeats=3, random_state=1)
	scores = cross_val_score(pipeline, X, y, scoring='neg_mean_absolute_error', cv=cv, n_jobs=-1)
	results.Append(scores)
	# summarize the results
	print('>%d %.3f (%.3f)' % (k, mean(scores), std(scores)))
# plot model performance for comparison
pyplot.boxplot(results, labels=num_features, showmeans=True)
pyplot.show()

运行这个示例,显示了每个选定特征数量的平均值和标准差MAE。

在这种情况下,报告MAE的均值和标准差不是很有趣,除了80的k值比90的k值更好。

机器学习算法中如何执行回归数据的特征选择

 

并排创建了箱形图和须状图,显示了k与MAE 的趋势,其中绿色三角形代表平均值,橙色线代表分布的中值。

机器学习算法中如何执行回归数据的特征选择

 

总结

在本文中,您发现了如何使用数字输入数据执行特征选择以进行回归预测建模。

  • 如何使用相关性和相关信息统计来评估数字输入数据的重要性。
  • 在拟合和评估回归模型时如何为数字输入数据执行特征选择。
  • 如何使用网格搜索调整在建模通道中选择的特征数量。


Tags:机器学习   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  Tags: 机器学习  点击:(32)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Tags: 机器学习  点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  Tags: 机器学习  点击:(37)  评论:(0)  加入收藏
作者:阿米特·V. 乔希(Ameet V Joshi)来源:华章科技 01 人工智能艾伦·图灵(Alan Turing)对人工智能的定义如下:如果窗帘后面有一台机器,并且有人正在与之互动(无论以何...【详细内容】
2021-09-07  Tags: 机器学习  点击:(74)  评论:(0)  加入收藏
字节跳动基础架构团队基于火山引擎机器学习平台 Clever 及其丰富的行业落地经验,推出开源项目 Klever,以工程化的方式降低智能技术落地门槛,助力企业快速打造智能业务。作者: 陈...【详细内容】
2021-02-19  Tags: 机器学习  点击:(170)  评论:(0)  加入收藏
特征选择是识别和选择与目标变量最相关的输入变量子集的过程。特征选择最简单的情况可能是存在数字输入变量和用于回归预测建模的数字目标的情况。这是因为可以计算出每个输...【详细内容】
2021-01-15  Tags: 机器学习  点击:(117)  评论:(0)  加入收藏
1、集成学习及Boosting算法集成学习属于机器学习,它是一种“训练思路”,并不是某种具体的方法或者算法。集成学习的核心思想是把已有的算法进行结合,从而得到更好的效果。集成...【详细内容】
2020-12-29  Tags: 机器学习  点击:(176)  评论:(0)  加入收藏
“终有一天,人工智能会像我们看待非洲平原上低级生物的化石一样看待我们。在人工智能眼中,人类只是直立行走的猿猴,用着粗糙的语言和简陋的工具,从诞生起就注定会灭绝。”&mdash...【详细内容】
2020-12-17  Tags: 机器学习  点击:(147)  评论:(0)  加入收藏
专注Python、AI、大数据,请关注公众号七步编程!人工智能方向的项目,和数据可视化是紧密相连的。模型训练过程中梯度下降过程是什么样的?损失函数的走向如何?训练模型的准确度怎么...【详细内容】
2020-10-15  Tags: 机器学习  点击:(355)  评论:(0)  加入收藏
在数据领域,很多人都在说机器学习,但是只有很少的人能说清楚怎么回事。网上关于机器学习的文章,大多都是充斥各种定理的厚重学术三部曲(我搞定半个定理都够呛),或是关于人工智能...【详细内容】
2020-09-25  Tags: 机器学习  点击:(111)  评论:(0)  加入收藏
▌简易百科推荐
作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。在本文中,我将介绍两个...【详细内容】
2021-12-17  deephub    Tags:AI   点击:(15)  评论:(0)  加入收藏
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  数据学习DataLearner    Tags:机器学习   点击:(32)  评论:(0)  加入收藏
11月2日召开的世界顶尖科学家数字未来论坛上,2013年诺贝尔化学奖得主迈克尔·莱维特、2014年诺贝尔生理学或医学奖得主爱德华·莫索尔、2007年图灵奖得主约瑟夫·斯发斯基、1986年图灵奖得主约翰·霍普克罗夫特、2002...【详细内容】
2021-11-03  张淑贤  证券时报  Tags:人工智能   点击:(39)  评论:(0)  加入收藏
鉴于物联网设备广泛部署、5G快速无线技术闪亮登场,把计算、存储和分析放在靠近数据生成的地方来处理,让边缘计算有了用武之地。 边缘计算正在改变全球数百万个设备处理和传输...【详细内容】
2021-10-26    计算机世界  Tags:边缘计算   点击:(45)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Python部落    Tags:机器学习   点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  TSINGSEE青犀视频    Tags:机器学习   点击:(37)  评论:(0)  加入收藏
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  憨昊昊    Tags:神经网络   点击:(47)  评论:(0)  加入收藏
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11    36氪  Tags:NLP   点击:(48)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  汉智兴科技    Tags:   点击:(54)  评论:(0)  加入收藏
说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系。人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能...【详细内容】
2021-09-17  异步社区    Tags:人工智能   点击:(57)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条