escrito na frente: Para aprendizado de máquina e aprendizado profundo, é muito importante entender o princípio. Se você souber como usá-lo, poderá se tornar apenas um sintonizador e será questionado sobre o princípio durante a entrevista. Além disso, para modelar, você deve conhecer o princípio. Em suma, escolher aprendizado de máquina e aprendizado profundo é basicamente fazer pesquisa. Como você pode não conhecer o princípio ao fazer pesquisa?
O que Machine Learning e Deep Learning podem fazer
传统预测、图像识别、自然语言处理
o que é aprendizado de máquina
数据→模型→预测
从历史数据中获得规律,这些历史数据是怎样的格式呢?
数据格式:数据集
数据集构成:特征值+目标值
Classificação de algoritmos de aprendizado de máquina
目标值是类别——分类问题
目标值是连续性数据——回归问题
没有目标值——无监督学习
Processo de Desenvolvimento de Machine Learning
1、数据处理
2、特征工程(将数据处理成更能被机器学习算法使用的数据)
3、算法训练——得到模型
4、模型评估
Estruturas e materiais de aprendizagem
1、算法是核心,数据和计算是基础
2、找准定位
3、怎么做?
1、书籍:
机器学习—周志华“西瓜书”
统计学习算法—李航
深度学习“花书”
2、库和框架
机器学习框架:scikit-learn
深度学习框架:pytorch tensorflow theano caffe2 chainer
conjunto de dados
Conjuntos de dados disponíveis durante a fase de aprendizagem
1、scikit-learn
2、kaggle
3、UCI
Introdução à biblioteca scikit-learn:
Python语言的机器学习工具
包括许多知名的机器学习算法的实现
文档完善、容易上手、丰富的API
目前稳定版本0.24.1
安装:pip3 install Scikit-learn==0.24.1
查看是否安装成功:import sklearn
注:安装需要numpy、scipy等库
sklearn包含的内容:分类、回归、聚类、降维、模型选择、特征工程
uso do conjunto de dados sklearn
sklearn.datasets
load_* 获取小规模数据集
fetch_* 获取大规模数据集
O código para visualizar o conjunto de dados é o seguinte:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
def datasets_demo():
"""
sklearn数据集使用
"""
#获取数据集
iris=load_iris()
print("鸢尾花数据集:\n",iris)
print("查看数据集描述:\n",iris["DESCR"])
print("查看特征值的名字:\n",iris.feature_names)
print("查看特征值:\n",iris.data,iris.data.shape)
#数据集划分
x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=0.2,random_state=22)
#查看测试集的特征值
print("测试集的特征值:\n",x_test,x_test.shape)
return None
if __name__=="__main__":
datasets_demo()
engenharia de recursos
É amplamente divulgado na indústria que dados e recursos determinam o limite superior do aprendizado de máquina, e modelos e algoritmos apenas se aproximam desse limite superior.
A engenharia de recursos é o processo de usar conhecimentos e habilidades profissionais anteriores para processar dados para que os recursos possam desempenhar um papel melhor nos algoritmos de aprendizado de máquina. Isso afetará diretamente o efeito do aprendizado de máquina.
Como fazer engenharia de atributos
sklearn——
pandas de engenharia de recursos——limpeza de dados, processamento de dados
A engenharia de recursos inclui:
1、特征抽取/提取
机器学习算法——统计方法——数学公式
(数学公式无法识别字符串)
文本类型转换为→数值
类型转换为→数值
图像特征提取(深度学习)
API de extração de recursos:
sklearn.feature_extraction
2、特征预处理
归一化、标准化
归一化缺点:计算公式主要依靠最大值和最小值,一旦出现异常值,将对整个数据有很大影响
标准化:通过对原始数据进行变换,将数据变换到均值为0,标准差为1范围内:
公式:
3、数据降维
ndarray
维数:嵌套的层数
0维:标量
1维:向量
2维:矩阵
3维:多个2维数组嵌套而成
n维......
降维:降低的对象是2维数组,此处的降维是降低特征的个数(列数)。得到一组不相关主变量的过程。
特征与特征之间不想关。
降维方法两种:
1、特征选择
2、主成分分析
API:sklearn.decomposition.PCA(n_components=None)
n_components 是小数:表示保留百分之多少的信息。整数:表示减少到多少特征
Estrutura da árvore de decisão
: ideia da estrutura if-else
: como tomar decisões com eficiência. A ênfase está na sequência de recursos.
(Comparado com o algoritmo KNN, a árvore de decisão é mais adequada para situações com grande quantidade de dados)
Vantagens: Visualização, forte interpretabilidade
Desvantagens: Fácil de sobreajustar
Random Forest
O que é um método de aprendizado conjunto : Resolva um único problema de previsão construindo uma combinação de vários modelos. Gere vários classificadores, aprenda e faça previsões de forma independente e, finalmente, combine-os em uma previsão combinada, por isso é melhor do que qualquer previsão feita por uma única classificação.
Random Forest: Um classificador que consiste em várias árvores de decisão. O resultado final é determinado pelo modo de múltiplas árvores de decisão.
Aleatório: conjunto de treinamento aleatório e aleatório de recursos
Conjunto de treinamento aleatório: bootstrap (aleatório com amostragem de substituição)
Regressão linear
Fenômeno: Underfitting e overfitting
Relações lineares e modelos lineares devem ser distinguidos.
Objetivo: encontrar parâmetros de modelo para fazer previsões precisas.
Função
de perda Perda de otimização: Método de otimização:
Equação normal: Genius, solução direta (adequada para pequeno volume de dados)
Descida de gradiente: Diligente, tentativa e erro, melhoria (maior versatilidade)
Caso: Previsão de preços de casas em Boston:
1) Adquirir conjunto de dados
2) Dividir conjunto de dados
3) Engenharia de atributos: adimensional (padronização)
4) Engenharia de estimadores: fit()–model
coef_intercept_
5) Avaliação do modelo
Underfitting e Overfitting
**Underfitting: **Os recursos aprendidos são muito poucos, resultando em critérios de distinção muito grosseiros para serem identificados corretamente. (Tanto o conjunto de treinamento quanto o conjunto de teste não podem ajustar bem os dados e a quantidade de dados é muito pequena)
**Sobreajuste: **Existem muitos recursos aprendidos, o que leva à exclusão de alguns recursos, tornando os resultados imprecisos. (Funciona bem no conjunto de treinamento, mas não no conjunto de teste)
Solução:
o da esquerda é muito simples e fácil de subajustar, o efeito de ajuste da direita é muito preciso, masfraca capacidade de generalização, fácil de sobreajustar, então o efeito do meio é o melhor.
Solução de sobreajuste:Regularização: Minimiza a influência de recursos de termo de alta ordem.
Regularização L1: função de perda +λ prazo de penalidade(Valor absoluto do parâmetro) ——— Regularização LASSO
L2: Torna alguns parâmetros próximos de 0, enfraquecendo a influência de certos recursos. função de perda +λ prazo de penalidade(o quadrado do parâmetro) ————— Regressão Ridge-ridge
Regressão Ridge - regressão linear com regularização L2
Regressão logística - para classificação (é um algoritmo de classificação,Duas categorias)
A saída da regressão linear é a entrada da regressão logística.
Esquema:
Método de Avaliação para Classificação: Precisão e Recall