Eu sou novo na conversão de fórmulas para matriz. Mas isso é necessário para um código eficiente de aprendizado de máquina. Então, eu quero entender o caminho "certo", não as coisas de cowboy que eu faço.
Tudo bem, aqui vamos nós, estou tentando converter a soma ponderada dos quadrados do formulário abaixo em forma de matriz. Costumo ver a forma da matriz como sendo equivalente à abaixo, e nenhuma explicação é dada sobre como é derivada.
onde é o peso para cada erro de amostra . Além disso, x_i \ in \ mathbb {R ^ n} , w \ in \ mathbb {R ^ n} , y \ in \ mathbb {R} , u_i \ in \ mathbb {R} , i = 1, ..., m . w ^ T x_i é o valor previsto, o resultado da multiplicação de um vetor de peso por um vetor de característica.i x i ∈ R n w ∈ R n y ∈ R u i ∈ R i = 1 , . . . , m w T x i
Aqui está o que penso e sou criativo. Portanto, fique à vontade para pular para o final, se eu for pela tangente.
Seja um vetor de coluna de funções que represente o erro não-quadrado. Podemos representar sobre como
Os resultados do vetor multiplicado pelo vetor são uma matriz (escalar).
Deixe ser um vector de pesos que pesa cada amostra de erro. Como precisamos ponderar os erros ao quadrado, precisamos incorporar na Fórmula antes de obter o escalar. Como queremos que o primeiro permaneça como um vetor de , definimos como uma matriz diagonal com os termos diagonais vindos de . Agora temos:u 1 r 1 × m U u
Podemos simplificar isso para
Agora nós expandimos . Nós tínhamosx i ∈ R n w ∈ R n X w m × n w n × 1 m x 1 y = 1 , . . . , m r = ( X w - y ) 3 J ( w ) = ( X w - y ) T U ( X w - y ) multiplicado por , fornecendo-nos onde X agora é uma matriz e é um vetor de coluna . Seja y o vetor da coluna representando os rótulos . Agora . Substituímos isso na fórmula , fornecendo-nos a soma final ponderada dos quadrados na forma de matriz:
Primeiro, isso faz sentido? Segundo, e mais importante, é assim que você deve fazer isso?
obrigado