人工智能领域的一般概念、思想和定义

人工智能,领域,一般,概念,思想,定义 · 浏览次数 : 299

小编点评

**算法数据类型** 算法数据类型通常可由两个部分组成: * **特征数据**:或称输入数据,是输入到算法中的数据。 * **标签数据**:或称输出数据,是需要学习的算法输出。 **学习类型** * **监督学习(SL)**:从包含特征值(输入值)和标签值(输出值)的样本数据集中进行学习。 * **无监督学习(UL)**:从仅包含特征值(输入值)的样本数据集中进行学习。 * **强化学习(RL)**:通过从反复实验中不断试错来学习,并根据收到的奖励和惩罚来更新最佳行动策略。 **任务类型** * **估计**:也被称为似然或回归,是指标签数据是(连续的)实数值的情况,在计算机中通常表示为浮点数。 * **分类**:是指标签数据由有限数量的分组或者类别组成的情况,这些类别通常由离散值(正自然数)表示,在计算机中表示为整数。 **方法类型** * **人工智能**:人工智能是研究智能的学科,其研究方向包括机器学习、深度学习、自然语言处理等。 * **机器学习(ML)**:机器学习是人工智能的一个分支,其研究方向包括回归、分类、聚类等。 * **深度学习(DL)**:深度学习是机器学习的子集,其研究方向包括神经网络、深度学习等。

正文

算法

数据类型

数据通常可由两个部分组成:

(1)特征数据:或称输入数据,是输入到算法中的数据。

(2)标签数据:或称输出数据,是需要学习的算法输出。

学习类型

(1)监督学习(SL):从包含特征值(输入值)和标签值(输出值)的样本数据集中进行学习。

(2)无监督学习(UL):从仅包含特征值(输入值)的样本数据集中进行学习。

(3)强化学习(RL):通过从反复实验中不断试错来学习,并根据收到的奖励和惩罚来更新最佳行动策略。

任务类型

(1)估计:也被称为似然或回归,是指标签数据是(连续的)实数值的情况,在计算机中通常表示为浮点数。

(2)分类:是指标签数据由有限数量的分组或者类别组成的情况,这些类别通常由离散值(正自然数)表示,在计算机中表示为整数。

方法类型

人工智能机器学习(ML)深度学习(DL)。其中,深度学习中的“深度”在这里表示神经网络具有多个隐藏层,深度学习是机器学习的子集,因此也是人工智能的子集。

神经网络

主要通过与OLS回归比较,展示神经网络的不同之处。先定义数学函数y=2x2-(1/3)x3,再使用线性回归方式进行估计(或函数逼近),然后再应用神经网络进行估计。下面,先绘制并观察函数图像(输入值与输出值之间的关系图):

import numpy as np
import pandas as pd
from pylab import plt,mpl
plt.style.use('seaborn')

def f(x):
    return 2*x**2-1/3*x**3
x = np.linspace(-2,4,25)   #输入值
print(x)
y=f(x)   #调用函数,输出值
print(y)

plt.figure(figsize=(10,6))
plt.plot(x,y,'ro')

"""
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
参数含义:
start:返回样本数据开始点
stop:返回样本数据结束点
num:生成的样本数据量,默认为50
endpoint:True则包含stop;False则不包含stop
retstep:If True, return (samples, step), where step is the spacing between samples.(即如果为True则结果会给出数据间隔)
dtype:输出数组类型
axis:0(默认)或-1

plt.figure(figsize=(a,b))
参数含义:a、b分别表示figure 的大小为宽、长(单位为inch)
"""

输出图像:

 

 OLS回归

在统计回归中,上述给定的输入值x和输出值y也称为样本(数据)。统计回归通常将问题定义为找到一个函数,尽可能逼近输入值(也成为自变量)和输出值(也称为因变量)之间的函数关系。

 以一个简单的OLS线性回归为例,假设输入值和输出值之间具有线性关系,需要求解的问题是以下线性方程式找到最优参数 α 和 β

 

 

 对于给定输入值x1,...,xn和输出值y1,...,yn,最优解将使得输出值与近似输出值之间的MSE最小:

 

 对于简单的线性回归,可以通过公式计算出最优参数(α*, β*)的解析解,如以下公式所示:

 

 

使用以上线性回归的理论,通过Python代码逼近输出值以判断最优参数:

beta = np.cov(x,y,ddof=0)[0,1]/np.var(x)   #计算β的最优解
print(beta)
alpha=y.mean()-beta*x.mean()   #计算α的最优解
y_=alpha+beta*x   #计算估计输出值
MSE=((y-y_)**2).mean()   #根据估计输出值计算MSE
print(MSE)
plt.figure(figsize=(10,6))
plt.plot(x,y,'ro',label='sample data')
plt.plot(x,y_,lw=3.0,label='linear regression')
plt.legend()
plt.show()

输出结果:

OLS回归并不限于简单的线性关系,除了常数项和一次项,高次项也可作为回归的基函数被加入进来。对于不超过三次项的基函数,都可以使用包含二次项和三次项的OLS回归进行完美逼近并完美恢复关系:

plt.figure(figsize=(10,6))
plt.plot(x,y,'ro',label='sample data')
for deg in [1,2,3]:              
    reg=np.polyfit(x,y,deg=deg)  #回归训练
    y_=np.polyval(reg,x)         #回归预测
    MSE=((y-y_)**2).mean()       #计算MSE
    print(f'deg={deg} | MSE={MSE:.5f}')
    plt.plot(x,np.polyval(reg,x),label=f'deg={deg}')
plt.legend();

输出结果:

 

deg=1 | MSE=10.72195

deg=2 | MSE=2.31258

deg=3 | MSE=0.00000

 从上图及输出结果中可以看出,3次项回归线可100%逼近原函数,MSE值为0。可见通过OLS回归可以分别恢复原始函数中二次项和三次项系数的精确值。

神经网络估计

并不是所有关系都是简单的线性关系或高阶线性关系,这时就需要借助神经网络(neural network, NN)等方法进行建模。神经网络可以在不需要知道函数关系情况下近似各种函数关系。

 1. scikit-learn

使用scikit-learn中的MLPRegressor类,该类可用DNN进行回归估计,DNN也称为多层感知器。估计过程如下:

"""
MLPRegressor详解
hidden_layer_sizes:形式为元组,默认为(100,),数组维度表示隐藏层数量,数字代表隐藏层中神经元的数量。如3*[256]=[256,256,256],表示有3个隐藏层,每层有256个神经元
learning_rate_init:使用的初始学习率。它控制更新权重时的步长。仅当solver=“gd”或“adam”时使用。
max_iter:默认值为200,最大迭代次数
其他参数请见:https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPRegressor.html?highlight=mlpregressor
"""
from sklearn.neural_network import MLPRegressor
model=MLPRegressor(hidden_layer_sizes=3*[256],
                   learning_rate_init=0.03,
                   max_iter=5000)
model.fit(x.reshape(-1,1),y)   #拟合
y_=model.predict(x.reshape(-1,1))  #预测
MSE=((y-y_)**2).mean()
print(MSE)
plt.figure(figsize=(10,6))
plt.plot(x,y,'ro',label='simple data')
plt.plot(x,y_,lw=3.0,label='DNN estimation')
plt.legend();

输出结果:

 

 

与人工智能领域的一般概念、思想和定义相似的内容:

人工智能领域的一般概念、思想和定义

人工智能领域的一般概念、思想和定义

算法金 | 没有思考过 Embedding,不足以谈 AI

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 在当今的人工智能(AI)领域,Embedding 是一个不可或缺的概念。如果你没有深入理解过 Embedding,那么就无法真正掌握 AI 的精髓。接下来,我们将深入探讨

聊聊自然语言处理NLP

## 概述 自然语言处理(NLP)的正式定义:是一个使用计算机科学、人工智能(AI)和形式语言学概念来分析自然语言的研究领域。不太正式的定义表明:它是一组工具,用于从自然语言源(如web页面和文本文档)获取有意义和有用的信息。NLP工具的实现一般是基于机器学习与深度学习、其它算法(Lucene Co

算法金 | 吴恩达:机器学习的六个核心算法!

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 人工智能领域的权威吴恩达教授,在其创立的《The Batch》周报中发表了一篇博文,概述了机器学习领域六种基础算法的历史和重要性。他强调了在这一领域不断学习和更新知识的必要性。 这些算法

口播神器,基于Edge,微软TTS(text-to-speech)文字转语音免费开源库edge-tts实践(Python3.10)

不能否认,微软Azure在TTS(text-to-speech文字转语音)这个人工智能细分领域的影响力是统治级的,一如ChatGPT在NLP领域的随心所欲,予取予求。君不见几乎所有的抖音营销号口播均采用微软的语音合成技术,其影响力由此可见一斑,仅有的白璧微瑕之处就是价格略高,虽然国内也可以使用科大讯

OpenAI“杀疯了”,GPT–4o模型保姆级使用教程!一遍就会!

5月14日凌晨1点,OpenAI发布了名为GPT-4o 最新的大语言模型,再次引领了人工智能领域的又一创新浪潮,让整个行业都为之震动。 据OpenAI首席技术官穆里-穆拉提(Muri Murati)表示,GPT-4o是在继承GPT-4智能的基础上,对文本、视觉和音频功能进行了进一步改进,而且目前所有

让创意在幻觉中肆虐: 认识Illusion Diffusion AI

人工智能新境界 在不断发展的人工智能领域,一款非凡的新工具应运而生,它能将普通照片转化为绚丽的艺术品。敬请关注Illusion Diffusion,这是一个将现实与想象力完美融合的AI驱动平台,可创造出迷人的视错觉和超现实意境。 AI算法的魔力所在 Illusion Diffusion 的核心是借助

AI Agent技术的最新进展与改变世界的典型项目巡礼

AI Agent技术的最新进展与改变世界的典型项目巡礼 1. AI Agent 技术发展以及典型项目 1.0 前 AI Agent 时代 在学术探索的浩瀚星空中,机器人技术领域的璀璨明珠莫过于Agent技术的深入研究,这一领域历来是创新与突破的温床。回溯至大模型浪潮兴起之前,Agent技术的辉煌篇章

Hugging Face ZeroGPU 计划正式发布—提供价值一千万美元的免费共享 GPU

在人工智能技术领域,GPU 资源一直是推动研究和应用的关键因素。然而,GPU 的成本和可用性对于许多研究人员和开发者来说却是一个显著的障碍。 在 Hugging Face,我们希望人工智能技术可以更加普惠化,更多开发者可以参与其中共同探索,在人工智能技术浪潮中创造出让更多人受益的产品。 为此,我们计

Stable Diffusion 生成个性图片指南

在当今人工智能领域,midjourney无疑是生成图片的王者,但是苦于付费才能使用,今天我就给大家分享一下midjourney平替stable diffusion,实现本地生成不逊色于midjourney的图片