Dentro , o aprendizado de conceitos pode ser denominado como “ um problema de buscar através de um espaço pré-definido de hipótese potencial a hipótese que melhor se ajusta aos exemplos de treinamento ”- Tom Mitchell. Neste artigo, examinaremos um algoritmo de aprendizado de conceito conhecido como algoritmo Find-S. Os tópicos a seguir são discutidos neste artigo.
- O que é o algoritmo Find-S no aprendizado de máquina?
- Como funciona?
- Limitações do algoritmo Find-S
- Implementação do Algoritmo Find-S
- Caso de uso
O que é o algoritmo Find-S no aprendizado de máquina?
Para entender o algoritmo Find-S, você também precisa ter uma ideia básica dos seguintes conceitos:
- Aprendizagem de conceitos
- Hipótese Geral
- Hipótese Específica
1. Aprendizagem de conceito
Vamos tentar entender o aprendizado de conceitos com um exemplo da vida real. A maior parte da aprendizagem humana é baseada em experiências ou instâncias passadas. Por exemplo, somos capazes de identificar qualquer tipo de veículo com base em um determinado conjunto de recursos, como marca, modelo, etc., que são definidos em um grande conjunto de recursos.
Essas características especiais diferenciam o conjunto de carros, caminhões, etc. do conjunto maior de veículos. Esses recursos que definem o conjunto de carros, caminhões, etc, são conhecidos como conceitos.
Semelhante a isso, as máquinas também podem aprender com os conceitos para identificar se um objeto pertence a uma categoria específica ou não. Qualquer que apoia a aprendizagem de conceitos requer o seguinte:
- Dados de treinamento
- Conceito de Alvo
- Objetos de dados reais
2. Hipótese Geral
para que serve a programação de socket
A hipótese, em geral, é uma explicação para algo. A hipótese geral basicamente afirma a relação geral entre as variáveis principais. Por exemplo, uma hipótese geral para pedir comida seria Eu quero um hambúrguer.
G = {‘?’, ‘?’, ‘?’,… .. ’?’}
3. Hipótese Específica
A hipótese específica preenche todos os detalhes importantes sobre as variáveis dadas na hipótese geral. Os detalhes mais específicos no exemplo dado acima seriam Quero um cheeseburguer com recheio de calabresa de frango com bastante alface.
S = {‘& Phi’, ’& Phi ',' & Phi ', ……,' & Phi '}
Agora, vamos falar sobre o algoritmo Find-S no aprendizado de máquina.
O algoritmo Find-S segue as etapas escritas abaixo:
- Inicialize 'h' para a hipótese mais específica.
- O algoritmo Find-S considera apenas os exemplos positivos e elimina os exemplos negativos. Para cada exemplo positivo, o algoritmo verifica cada atributo no exemplo. Se o valor do atributo for igual ao valor da hipótese, o algoritmo continua sem nenhuma alteração. Mas se o valor do atributo for diferente do valor da hipótese, o algoritmo muda para ‘?’.
Agora que concluímos a explicação básica do algoritmo Find-S, vamos dar uma olhada em como ele funciona.
Como funciona?
- O processo começa com a inicialização de 'h' com a hipótese mais específica, geralmente, é o primeiro exemplo positivo no conjunto de dados.
- Nós verificamos cada exemplo positivo. Se o exemplo for negativo, passaremos para o próximo exemplo, mas se for um exemplo positivo, vamos considerá-lo para a próxima etapa.
- Verificaremos se cada atributo do exemplo é igual ao valor da hipótese.
- Se o valor corresponder, nenhuma alteração será feita.
- Se o valor não corresponder, o valor será alterado para ‘?’.
- Fazemos isso até chegarmos ao último exemplo positivo no conjunto de dados.
Limitações do algoritmo Find-S
Existem algumas limitações do algoritmo Find-S listadas abaixo:
- Não há como determinar se a hipótese é consistente em todos os dados.
- Conjuntos de treinamento inconsistentes podem realmente enganar o algoritmo Find-S, uma vez que ele ignora os exemplos negativos.
- O algoritmo Find-S não fornece uma técnica de retrocesso para determinar as melhores mudanças possíveis que podem ser feitas para melhorar a hipótese resultante.
Agora que estamos cientes das limitações do algoritmo Find-S, vamos dar uma olhada em uma implementação prática do Algoritmo Find-S.
Implementação do Algoritmo Find-S
Para entender a implementação, vamos tentar implementá-la em um conjunto de dados menor com um monte de exemplos para decidir se uma pessoa quer dar um passeio.
como converter duplo para int
O conceito desse problema específico será em quais dias uma pessoa gosta de caminhar.
Tempo | Clima | Temperatura | Companhia | Umidade | Vento | Vai |
Manhã | Ensolarado | Caloroso | sim | Suave | Forte | sim |
Tarde | Chuvoso | Frio | Não | Suave | Normal | Não |
Manhã | Ensolarado | Moderado | sim | Normal | Normal | sim |
Tarde | Ensolarado | Frio | sim | Alto | Forte | sim |
Olhando para o conjunto de dados, temos seis atributos e um atributo final que define o exemplo positivo ou negativo. Nesse caso, sim é um exemplo positivo, o que significa que a pessoa vai dar um passeio.
Portanto, agora, a hipótese geral é:
h0= {‘Manhã’, ‘Ensolarado’, ‘Quente’, ‘Sim’, ‘Suave’, ‘Forte’}
Esta é a nossa hipótese geral, e agora consideraremos cada exemplo um por um, mas apenas os exemplos positivos.
h1= {‘Manhã’, ‘Ensolarado’, ‘?’, ‘Sim’, ‘?’, ‘?’}
h2= {‘?’, ‘Ensolarado’, ‘?’, ‘Sim’, ‘?’, ‘?’}
Substituímos todos os diferentes valores na hipótese geral para obter uma hipótese resultante. Agora que sabemos como o algoritmo Find-S funciona, vamos dar uma olhada em uma implementação usando Pitão .
Caso de uso
Vamos tentar implementar o exemplo acima usando . O código para implementar o algoritmo Find-S usando os dados acima é fornecido abaixo.
import pandas as pd import numpy as np #para ler os dados no arquivo csv data = pd.read_csv ('data.csv') print (data, 'n') #making um array de todos os atributos d = np.array (dados) [:,: - 1] print ('n Os atributos são:', d) #segragando o alvo que tem exemplos positivos e negativos target = np.array (data) [:, - 1] print ('n O alvo é: ', alvo) # função de treinamento para implementar o algoritmo find-s def train (c, t): para i, val in enumerate (t): if val ==' Sim ': specific_hypothesis = c [i]. copy () break for i, val in enumerate (c): if t [i] == 'Yes': for x in range (len (specific_hypothesis)): if val [x]! = specific_hypothesis [x]: specific_hypothesis [ x] = '?' else: pass return specific_hypothesis #obtaining a hipótese final print ('n A hipótese final é:', train (d, target))
Resultado:
Isso nos leva ao final deste artigo, onde aprendemos o algoritmo Find-S em Machine Learning com sua implementação e caso de uso. Espero que você tenha esclarecido tudo o que foi compartilhado com você neste tutorial.
Se você achou este artigo sobre 'Find-S Algorithm In Machine Learning' relevante, verifique o uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo.
Estamos aqui para ajudá-lo em cada etapa de sua jornada e criar um currículo projetado para estudantes e profissionais que desejam ser um . O curso foi desenvolvido para dar a você uma vantagem inicial na programação Python e treiná-lo para os conceitos básicos e avançados do Python, juntamente com vários gostar , etc.
Se você encontrar alguma dúvida, fique à vontade para fazer todas as suas perguntas na seção de comentários de “Find-S Algorithm In Machine Learning” e nossa equipe terá prazer em responder.