я говорю этот удивительный курс от Эндрю Нга из Coursera о машинном обучении, и я хочу реализовать некоторые вещи, которые мы изучаем на моем «родном языке», чтобы убедиться, что я понимаю все материалы курса. я нашел этот класс Matrix написанный Shankar Manamalkav (2011), и с некоторыми изменениями мне удалось получить почти все необходимые мне матричные функции, кроме одной: эквивалент pinv () из Octave. Хотя я не уверен, что pinv () делает (аналитически), это по сути означает псевдообратную матрицу.
Я не уверен, поможет ли это (я не знаю Октаву), но посмотрите на это:
Lapack :: pseudoInverse — вычисляет обратную матрицу
Удачи
pinv()
вычисляет псевдообратную матрицу. Для PHP матрица — это массив. В PHP есть необязательный класс Lapack, который предоставляет вам эту функциональность. Вы должны установить его. Вы можете узнать больше Вот, в том числе как его установить.
Вот пример кода:
<?php
$a = array(
array( 8, 1, 6 ),
array( 3, 5, 7 ),
array( 4, 9, 2 ),
);
$result = Lapack::pseudoInverse($a);
echo $result;
?>