Introdução aos conceitos básicos de aprendizado de máquina e algoritmos comuns [aprendizado de máquina, modelos comuns]

Conceitos básicos e algoritmos de aprendizado de máquina

O aprendizado de máquina é um ramo da ciência da computação que se concentra em dar aos sistemas de computador a capacidade de aprender e melhorar a partir de dados sem precisar ser explicitamente programado. O aprendizado de máquina é fundamentalmente diferente da programação tradicional.

A diferença entre aprendizado de máquina e programação tradicional

Programação tradicional:
Na programação tradicional, os desenvolvedores escrevem regras e instruções detalhadas que informam ao computador como executar as tarefas. As regras são codificadas e o comportamento do programa é definido antecipadamente.

def add_numbers(a, b):
    return a + b

No exemplo acima, 明确指定demonstramos o comportamento de uma função que realiza uma operação de adição de dois números .

Aprendizado de máquina:
em contraste, o aprendizado de máquina usa dados para treinar um modelo, que aprende tarefas automaticamente com base nos dados . O comportamento do modelo é derivado dos dados, e não codificado. Isso torna o aprendizado de máquina muito útil ao lidar com tarefas complexas, ambíguas ou que exigem grandes quantidades de dados.

# 一个简单的线性回归模型
from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(X, y)

Neste exemplo, o modelo aprende um relacionamento linear a partir dos dados sem escrever explicitamente as regras de adição.

Aprendizagem supervisionada, aprendizagem não supervisionada e aprendizagem por reforço

O aprendizado de máquina pode ser dividido em três categorias principais:

  • aprendizagem supervisionada
  • aprendizagem não supervisionada
  • aprendizagem por reforço

A diferença entre eles é 数据e 任务类型.

aprendizagem supervisionada

O aprendizado supervisionado é um dos tipos mais comuns de aprendizado de máquina. Nesse caso, o modelo aprende a partir dos dados de entrada e dos rótulos (ou saídas) correspondentes. A tarefa do modelo é prever rótulos para dados desconhecidos .

Cenário de aplicação:
Classificação de imagens - O modelo prevê os objetos ou cenas contidas na imagem com base em seus valores de pixel.

# 一个图像分类示例
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

# 加载手写数字数据集
data = load_digits()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2)

# 创建一个逻辑回归分类器
classifier = LogisticRegression()
classifier.fit(X_train, y_train)

# 预测测试数据
predictions = classifier.predict(X_test)

aprendizagem não supervisionada

A aprendizagem não supervisionada não envolve rótulos; o modelo tem a tarefa de descobrir padrões e estruturas nos dados . Esse tipo de aprendizado é normalmente usado para 聚类e 降维.

Casos de uso:
Clustering – Agrupamento de pontos de dados semelhantes, como segmentação de mercado ou análise de redes sociais.

# 一个K均值聚类示例
from sklearn.cluster import KMeans

# 创建一个K均值聚类器
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)

# 获取每个样本的簇分配
cluster_assignments = kmeans.labels_

aprendizagem por reforço

A aprendizagem por reforço envolve um agente aprendendo estratégias comportamentais ideais por meio da interação com o ambiente. O agente age, observa o feedback do ambiente e 反馈melhora seu comportamento de acordo.

Cenário de aplicação:
Condução autônoma - Veículos inteligentes aprendem estratégias de direção ideais por meio da interação com o ambiente rodoviário.

# 一个强化学习示例
import gym

# 创建CartPole环境
env = gym.make('CartPole-v1')

# 初始化Q学习表
q_table = np.zeros([env.observation_space.shape[0], env.action_space.n])

# Q学习训练

Algoritmos comuns de aprendizado de máquina

Algoritmos de aprendizado de máquina são os blocos de construção dos modelos de aprendizado de máquina e são escolhidos com base em diferentes tarefas e tipos de dados. Aqui estão alguns algoritmos comuns de aprendizado de máquina:

regressão linear

A regressão linear é usada para modelar a relação linear entre variáveis ​​de entrada e variáveis ​​de saída. É adequado para problemas de regressão onde as saídas são valores contínuos .

Cenário de aplicação:
Previsão de preços de casas - previsão de preços de casas com base nas características das casas.

# 一个线性回归示例
from sklearn.linear_model import LinearRegression

# 创建一个线性回归模型
model = LinearRegression()

# 拟合模型
model.fit(X, y)

# 进行预测
predictions = model.predict(new_data)

árvore de decisão

Uma árvore de decisão é um modelo semelhante a uma árvore usado para classificação e regressão . Ele divide os dados em vários subconjuntos, cada subconjunto correspondendo a um caminho de decisão.

Cenário de aplicação:
Previsão de rotatividade de clientes - Preveja se um cliente irá abandonar com base em seu comportamento histórico.

# 一个决策树分类示例
from sklearn.tree import DecisionTreeClassifier

# 创建一个决策树分类器
classifier =

 DecisionTreeClassifier()

# 拟合模型
classifier.fit(X, y)

# 进行预测
predictions = classifier.predict(new_data)

Máquinas de vetores de suporte

A máquina de vetores de suporte é um algoritmo poderoso usado para classificação e regressão. Ele divide os dados encontrando o hiperplano ideal.

Cenário de aplicação:
Classificação de texto - Classifique dados de texto em diferentes categorias, como detecção de spam.

# 一个支持向量机分类示例
from sklearn.svm import SVC

# 创建一个支持向量机分类器
classifier = SVC()

# 拟合模型
classifier.fit(X, y)

# 进行预测
predictions = classifier.predict(new_data)

Redes neurais

Uma rede neural é um 人脑结构modelo inspirado em camadas de neurônios, cada uma contendo vários nós.

Cenário de aplicação:
Reconhecimento de imagens – identificação de objetos ou cenas em imagens.

# 一个简单的神经网络示例
import tensorflow as tf

# 创建一个神经网络模型
model = tf.keras.Sequential([
    tf.keras.layers.Dense(128, activation='relu', input_shape=(input_dim,)),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(output_dim, activation='softmax')
])

# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

# 训练模型
model.fit(X_train, y_train, epochs=10, batch_size=32)

# 进行预测
predictions = model.predict(new_data)

A diferença entre aprendizado profundo e aprendizado de máquina tradicional

O aprendizado profundo é um ramo do aprendizado de máquina que usa redes neurais profundas para aprender e representar dados. Comparado com o aprendizado de máquina tradicional, o aprendizado profundo tem as seguintes diferenças:

  1. Aprendizado de recursos: o aprendizado de máquina tradicional geralmente requer seleção e extração manual de recursos, enquanto o aprendizado profundo pode aprender automaticamente representações de recursos a partir dos dados, reduzindo a necessidade de engenharia de recursos.

  2. Relacionamentos não lineares complexos: O aprendizado profundo pode modelar relacionamentos não lineares complexos, tornando-o um grande sucesso em áreas como reconhecimento de imagem e processamento de linguagem natural.

  3. Dados em grande escala: o aprendizado profundo funciona bem em conjuntos de dados em grande escala, exigindo mais dados para treinar grandes redes neurais.

  4. Recursos de computação: O treinamento de modelos de aprendizado profundo geralmente requer uma grande quantidade de recursos de computação (como GPU ou TPU) e tempo, que é mais intensivo em termos computacionais do que os algoritmos tradicionais de aprendizado de máquina.

  5. Natureza de caixa preta: os modelos de aprendizagem profunda são frequentemente considerados modelos de caixa preta, tornando difícil explicar seus processos de tomada de decisão, enquanto os modelos tradicionais de aprendizagem de máquina são mais fáceis de explicar e compreender.

Acho que você gosta

Origin blog.csdn.net/qq_22841387/article/details/133432580
Recomendado
Clasificación