Aprendizado de máquina --- Regressão linear, regressão linear múltipla, função de custo

1. Regressão linear

A regressão é um método de aprendizagem supervisionada. A ideia central deste método é obter um modelo matemático a partir de dados estatísticos contínuos e, em seguida,

Use este modelo matemático para previsão ou classificação. Os dados processados ​​por este método podem ser multidimensionais.

A regressão foi inventada por Francis Galton, primo de Darwin. Galton completou a primeira previsão de regressão em 1877 com o objetivo de

Preveja o tamanho (altura) da próxima geração de sementes de ervilha (filhos) com base no tamanho da geração anterior de sementes de ervilha (pais). Galton é

A análise de regressão foi aplicada a um grande número de objetos, até mesmo à altura humana. Ele concluiu que se a altura dos pais for superior à altura média

altos, seus filhos também tendem a ter estatura média, mas não tão altos quanto seus pais.Isso pode ser expresso como: a altura da criança tende a retornar à altura média.

Retornar. Galton percebeu isso em muitos estudos e chamou esse método de pesquisa de regressão.

Por exemplo: Existem dados de vendas de casas como segue

E se entrar uma nova área que não esteja no registro de preço de venda?

Solução: Use uma curva para ajustar os dados com a maior precisão possível e, se houver uma nova entrada, podemos adicioná-la à curva

O valor correspondente a este ponto é retornado. Se você usar uma linha reta para ajustá-lo, poderá ficar assim:

Conceitos e símbolos comuns:

Tabela de registro de vendas internas: conjunto de treinamento ou dados de treinamento, que são os dados de entrada em nosso processo

De acordo com, geralmente chamado de x;

Preço de venda da casa: dados de produção, geralmente chamados de y;

Função ajustada (ou hipótese ou modelo): geralmente escrita como y=h(x)

Número de entradas de dados de treinamento (#training set): um dado de treinamento são dados de entrada que consistem em um par de dados de entrada e dados de saída

Dimensão n (número de recursos, #features);

Os recursos neste exemplo são bidimensionais e o resultado é unidimensional. No entanto, o método de regressão pode resolver o problema de recursos multidimensionais e o resultado são valores multidimensionais unidimensionais.

Ou resultados de identificação de problemas para valores contínuos unidimensionais.

Perceber:

(1) Por se tratar de regressão linear, a função aprendida é uma função linear, ou seja, uma função linear

(2) Por ser uma variável única, existe apenas um x;

Modelo de regressão linear univariada:

Relação linear positiva:

Relação linear negativa:

 Não importa:

y^=b0+b1x

Esta equação é chamada de linha de regressão estimada.

Entre eles, b0 é o intercepto longitudinal da equação linear estimada, b1 é a inclinação da equação linear estimada, y^ é quando a variável independente x é igual a um determinado valor

, o valor estimado de y.

Exemplo de regressão linear:

Número de anúncios de TV feitos por vendedores de carros versus número de carros vendidos:

 

Supondo que o número de anúncios em uma semana seja 6, o número estimado de carros vendidos é 5*6+10=40. 

Derivação algébrica:

Derivação de matriz:

 

2. Regressão linear múltipla

A diferença entre regressão linear simples e regressão linear múltipla:

1. Diferença da regressão linear simples: múltiplas variáveis ​​independentes x

2. Modelo de regressão múltipla

y=β0+β1x1+β2x2+…+βpxp+e

Entre eles: β1, β2… βp são valores de parâmetros, e é o valor do erro

3. Equação de regressão múltipla

E(y)=β0+β1x1+β2x2+…+βpxp

4. Estimando múltiplas equações de regressão

y_hat=b0+b1x1+b2x2+…+bpxp

Uma amostra é usada para calcular as estimativas pontuais b0, b1, b2....bp de β0, β1, β2....βp

Por exemplo: uma empresa de courier entrega mercadorias

x1: Quilometragem de transporte x2: Número de transportes y: Tempo total de transporte

3. Função de custo

A função de custo (também chamada de função de perda em alguns lugares) é muito importante em todos os algoritmos de aprendizado de máquina porque

O processo de treinamento do modelo é o processo de otimização da função de custo.A derivada parcial da função de custo para cada parâmetro é o gradiente mencionado na descida do gradiente.

grau, o termo de regularização adicionado ao evitar overfitting também é adicionado após a função de custo. Uma boa função de custo precisa satisfazer os dois requisitos mais básicos

Este requisito: ser capaz de avaliar a precisão do modelo e ser diferenciável em relação aos parâmetros.

Na regressão linear, a função de custo mais comumente usada é o erro quadrático médio (erro quadrático médio), cuja forma específica é:

Como encontrar parâmetros:

Método dos mínimos quadrados: É uma fórmula de solução matemática direta, mas requer que X seja de classificação completa.

Gradiente descendente:

Princípio da descida gradiente: compare uma função com uma montanha. Estamos em uma determinada encosta, olhamos ao redor e descemos um pequeno passo em determinada direção.

O mais rápido que pode cair;

método:

(1) Primeiro determine o tamanho do passo para o próximo passo, que chamamos de taxa de aprendizagem;

(2) Forneça um valor inicial arbitrariamente;

(3) Determine uma direção descendente, desça em um ritmo predeterminado e atualize o valor inicial;

(4) Quando a altura de descida for inferior a um determinado valor definido, pare de descer;

Características do método de descida gradiente:

(1) Diferentes pontos iniciais levam a diferentes valores mínimos, portanto a descida gradiente obtém apenas valores mínimos locais ;

(2) Quanto mais próximo do valor mínimo, mais lenta será a velocidade de declínio;

Se o valor inicial do parâmetro estiver na posição de mínimo local, a derivada deverá ser 0, portanto o valor do parâmetro não será alterado;

Se um valor correto de α for obtido, a função de custo deverá tornar-se cada vez menor;

Observe o valor Q a qualquer momento. Se a função de custo ficar menor, ok, caso contrário, escolha um valor menor.

Como pode ser visto na figura acima, o valor mínimo obtido também é diferente se o valor inicial for diferente, portanto a descida do gradiente obtém apenas o valor mínimo local.

O tamanho do passo descendente é muito importante. Se for muito pequeno, a velocidade para encontrar o valor mínimo da função será muito lenta. Se for muito grande, pode ocorrer um erro.

O fenômeno de ultrapassar o mínimo está agora presente.

 Se você descobrir que a função de custo aumentou após calcular o valor da taxa de aprendizagem, será necessário reduzir a taxa de aprendizagem.

def gradientDescent(x,y,theta,alpha,m,numIterations):
    xTrans =x.transpose()
    for i in range(0,numIterations):
        hypothesis=np.dot(x,theta)
        loss=hypothesis-y
        #cost np.sum(loss *2)/(2 m)
        #print("Iteration %d Cost:%f"%(i,cost))
        gradient=np.dot(xTrans,loss)/m
        theta=theta-alpha*gradient
    return theta

 

 

 

 

 

 

 

 

 

 

 

 

 

Acho que você gosta

Origin blog.csdn.net/weixin_43961909/article/details/132012008
Recomendado
Clasificación