{"id":98,"date":"2018-02-08T12:47:16","date_gmt":"2018-02-08T18:47:16","guid":{"rendered":"https:\/\/www.candaana.com\/news\/?p=98"},"modified":"2020-12-10T11:04:50","modified_gmt":"2020-12-10T17:04:50","slug":"regresion-logistica-algoritmo-k-nn","status":"publish","type":"post","link":"https:\/\/www.candaana.com\/blog\/regresion-logistica-algoritmo-k-nn\/","title":{"rendered":"Regresi\u00f3n log\u00edstica y algoritmo K-nn"},"content":{"rendered":"<p>En el af\u00e1n del ser humano por reducir el esfuerzo para concretar una tarea se han desarrollado t\u00e9cnicas y conocimientos que suplen a la intuici\u00f3n. Una de estas tareas es la clasificaci\u00f3n de objetos para tomar mejores decisiones. Con tal fin en la matem\u00e1tica, por medio de la estad\u00edstica, se tienen m\u00e9todos que permiten aproximar un modelo de clasificaci\u00f3n de datos basados en una muestra. En este proyecto estudiamos dos de ellos: el modelo de regresi\u00f3n log\u00edstica y el modelo de los $n$ vecinos m\u00e1s cercanos.<br \/>\n\\section{Introducci\u00f3n}<br \/>\nLa elecci\u00f3n de la notaci\u00f3n para los escritos cient\u00edficos siempre es una tarea dif\u00edcil, as\u00ed que adoptaremos el mismo que los convencionalismos de la ESL. Usaremos $N$ para representar el n\u00famero de datos distintos u observaciones en nuestras muestras y $p$ denotar\u00e1 el n\u00famero de variables que est\u00e1n disponibles para hacer predicciones<br \/>\nPara poder clasificar los datos por medio de un algoritmo es necesario hacer <strong>suposiciones<\/strong>. Una de las suposiciones necesarias es pensar que existe alg\u00fan modelo $f$ (aunque no lo conozcamos) que nos proporciona la clasificaci\u00f3n de los datos<br \/>\n$$<br \/>\nY = f(X) + \\varepsilon,<br \/>\n$$<br \/>\ndonde $X$ es el dato a clasificar, $Y$ la clase a la que pertenece y $\\epsilon$ una variable aleatoria independiente de $X$ con media cero que se relaciona con el error introducido por el medio.<br \/>\nCon esta informaci\u00f3n tratamos de construir una estimaci\u00f3n del modelo $f$ que llamamos $\\hat{f}$ con la cual tratamos de aproximar $Y$. A esta aproximaci\u00f3n la denotamos por $\\hat{Y}$.<br \/>\n$$<br \/>\n\\hat{Y} = \\hat{f}(X)<br \/>\n$$<br \/>\n\\subsection{Tipos de modelos}<br \/>\nTrabajaremos con dos tipos de modelos seg\u00fan la forma en que estos se construyen a partir de los supuestos.<br \/>\n\\begin{itemize}<br \/>\n\\item <strong>Modelos param\u00e9tricos<\/strong> Son aquellos que dependen de par\u00e1metros y estos par\u00e1metros se estiman bajo alg\u00fan criterio del \\textit{mejor ajuste} a partir de los datos muestra. Se espera que estos datos sean suficientemente buenos (y los par\u00e1metros bien escogidos) para que el modelo clasifique bien.<br \/>\n\\item <strong>Modelos no param\u00e9tricos<\/strong> No dependen de par\u00e1metros sin embargo se ajusta el clasificador a partir de una muestra representativa de los datos a clasificar.<br \/>\n\\end{itemize}<br \/>\n\\section{Regresi\u00f3n Log\u00edstica}<br \/>\nSupongamos que tenemos $N$ observaciones (con clases $Y=1$ o $Y=2$). En cierto momento nos encontramos un nuevo dato $X$ del cual no se conoce la clase que pertenece. Ahora nuestro trabajo es encontrar la funci\u00f3n $p$ de probabilidad que nos indique la clase de $X$ en funci\u00f3n de las $N$ observaciones previas. \u00bfC\u00f3mo podr\u00edamos modelar la relaci\u00f3n ente $p(X) = P(Y=1|X)$ y $X$? Pues bien, sabemos que podemos utilizar un modelo de regresi\u00f3n lineal para representar dichas probabilidades:<br \/>\n\\begin{equation*}<br \/>\np(X) = \\beta_0 + \\beta_1X.<br \/>\n\\end{equation*}<br \/>\nSin embargo nos gustar\u00eda una funci\u00f3n $P$ tal que modele la probabilidad (i.e. $\\forall X$, $P(X)\\in[0,\\; 1]$). En la regresi\u00f3n log\u00edstica, se usa la funci\u00f3n <strong>log\u00edstica<\/strong>,<br \/>\n\\begin{equation}<br \/>\n\\label{eqn:func_logistica}<br \/>\nP(X) = \\frac{e^{\\beta_0 + \\beta_1^{T} X}}{1+e^{\\beta_0 + \\beta_1^{T}X}},<br \/>\n\\end{equation}<br \/>\ndonde:<br \/>\n\\begin{itemize}<br \/>\n\\item $\\beta_0 \\in \\mathbb{R}$<br \/>\n\\item $\\beta_1^T$ es un vector con $p$ entradas.<br \/>\n\\end{itemize}<br \/>\nPara ajustar el modelo (\\ref{eqn:func_logistica}), usamos el m\u00e9todo de la m\u00e1xima verosimilitud. Esta t\u00e9cnica propone una funci\u00f3n param\u00e9trica para la clasificaci\u00f3n binaria:<br \/>\n\\begin{equation}<br \/>\n\\label{eqn:func_L}<br \/>\n\\mathcal{L}(\\beta_{0}, \\beta_{1}) = \\prod_{i=1}^{N}p(X_i)^{Y_i}[1-p(X_{i})]^{1-Y_i}<br \/>\n\\end{equation}<br \/>\nLos estimadores $\\hat{\\beta_0}$ y $\\hat{\\beta_1}$ se eligen de tal que manera que maximicen la funci\u00f3n $\\mathcal{L}$ (conocida como funci\u00f3n de verosimilitud). Las m\u00e1xima verosimilitud es una aproximaci\u00f3n general que se usa para ajustar modelos lineales y no lineales<br \/>\nSi sustituimos la ecuaci\u00f3n (\\ref{eqn:func_logistica}) en (\\ref{eqn:func_L}) y desarrollando obtenemos,<br \/>\n$$<br \/>\n\\mathcal{L}(\\beta_{0}, \\beta_{1}) = \\prod_{i=1}^{N} \\left[ \\frac{e^{\\beta_0 + \\beta_1^{T} X}}{1+e^{\\beta_0 + \\beta_1^{T}X}} \\right]^{Y_i} \\left[\\frac{1}{1+e^{\\beta_0 + \\beta_1^{T}X}} \\right]^{1-Y_i}.<br \/>\n$$<br \/>\nLa funci\u00f3n anterior es dif\u00edcil de trabajar, puesto que est\u00e1 dado por un producto y es m\u00e1s dif\u00edcil tratarla que si se tratara de una suma. As\u00ed, apliquemos el logaritmo para obtener:<br \/>\n$$<br \/>\n\\ell(\\beta_{0}, \\beta_{1}) = \\log\\mathcal{L}(\\beta_{0}, \\beta_{1}) = \\sum_{i=1}^{N}\\left[ Y_i\\left[ \\frac{e^{\\beta_0 + \\beta_1^{T} X}}{1+e^{\\beta_0 + \\beta_1^{T}X}} \\right] + (1-Y_i)\\left[\\frac{1}{1+e^{\\beta_0 + \\beta_1^{T}X}} \\right] \\right].<br \/>\n$$<br \/>\nAhora, solo resta maximizar dicha funci\u00f3n, a trav\u00e9s m\u00e9todos num\u00e9ricos apropiados.<br \/>\n\\section{Los $k$ Vecinos m\u00e1s Cercanos}<br \/>\nLa idea b\u00e1sica sobre la que se fundamenta este clasificador es que una nueva muestra ser\u00e1 clasificada a la clase m\u00e1s frecuente a la que pertenecen sus vecinos m\u00e1s cercanos ($k$-nn por sus siglas en ingl\u00e9s)<br \/>\n$k$-nn es un algoritmo perezoso, esto es, que durante el entrenamiento, solo guarda instancias y no construye ning\u00fan modelo, tampoco hace supuestos sobre la distribuci\u00f3n que siguen los datos, por lo tanto es no param\u00e9trico<br \/>\nDado un conjunto de datos $ X= \\left\\lbrace X_1,\\;X_2, \\ldots ,\\; X_p \\right\\rbrace $ y un conjunto de clases $ C= \\left\\lbrace C_1,\\;C_2, \\ldots ,\\; C_m \\right\\rbrace $, el problema de clasificaci\u00f3n es encontrar una funci\u00f3n $ f:X \\longrightarrow C $ tal que cada $ X_i $ es asignada a una clase $ C_j $<br \/>\nLa fase de entrenamiento del algoritmo consiste en almacenar los vectores caracter\u00edsticos y las etiquetas de las clases de los ejemplos de entrenamiento. En la fase de clasificaci\u00f3n, la evaluaci\u00f3n del ejemplo (del que no se conoce su clase) es representada por un vector en el espacio caracter\u00edstico.<br \/>\n$ x = \\left\\lbrace x_1,x_2, &#8230; , x_m \\right\\rbrace $<br \/>\nSe calcula la distancia entre los vectores almacenados y el nuevo vector, generalmente se usa la distancia euclidiana<br \/>\n$$<br \/>\nd(x_i,x_j)=\\sqrt{\\sum_{r=1}^{p} (x_{ri}-x_{rj})^2}<br \/>\n$$<br \/>\ny se seleccionan los $ k $ ejemplos m\u00e1s cercanos.<br \/>\nEl nuevo ejemplo es clasificado con la clase que m\u00e1s se repite en los vectores seleccionados. Este m\u00e9todo supone que los vecinos m\u00e1s cercanos nos dan la mejor clasificaci\u00f3n y esto se hace utilizando todos los atributos. Los valores de los atributos del i-esimo ejemplo con $ i \\in \\left\\lbrace 1, \\ldots , n \\right\\rbrace $ se representan por el vector p-dimensional<br \/>\nEl problema de dicha suposici\u00f3n es que es posible que se tengan muchos atributos irrelevantes que dominen sobre la clasificaci\u00f3n: dos atributos relevantes perder\u00edan peso entre otros veinte irrelevantes<br \/>\nPara corregir el posible sesgo se puede asignar un peso a las distancias de cada atributo, d\u00e1ndole as\u00ed mayor importancia a los atributos m\u00e1s relevantes. Otra posibilidad consiste en tratar de determinar o ajustar los pesos con ejemplos conocidos de entrenamiento. Finalmente, antes de asignar pesos es recomendable identificar y eliminar los atributos que se consideran irrelevantes<br \/>\nLa mejor elecci\u00f3n de $ k $ depende fundamentalmente de los datos; generalmente, valores grandes de $ k $ reducen el efecto de ruido en la clasificaci\u00f3n, pero crean l\u00edmites entre clases parecidas. Un buen $ k $ puede ser seleccionado mediante una optimizaci\u00f3n de uso<br \/>\nLa exactitud de este algoritmo puede ser severamente degradada por la presencia de ruido o caracter\u00edsticas irrelevantes, o si las escalas de caracter\u00edsticas no son consistentes con lo que uno considera importante.<br \/>\n&nbsp;<br \/>\n\\section{Conclusiones}<br \/>\nPese a la formalidad con que se construye la teor\u00eda alrededor del clasificador de la regresi\u00f3n log\u00edstica (o quiz\u00e1 debido a ella) este supone mayores dificultades al momento de la implementaci\u00f3n para obtener mejores resultados. Por su parte el clasificador $k$-nn ofrece un principio sencillo y funcional para clasificar los datos<br \/>\nSin duda la idea de optimizar para un conjunto de par\u00e1metros puede mejorarse por ejemplo encontrando cotas para estos mismos, quiz\u00e1 esto y algunas otras t\u00e9cnicas proporcionen un mejor acercamiento al resultado esperado<br \/>\nEn esta secci\u00f3n se desarrollar\u00e1n algunos experimentos en lo que pondremos a prueba los modelos poniendo a prueba la efectividad de \u00e9stos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el af\u00e1n del ser humano por reducir el esfuerzo para concretar una tarea se han desarrollado t\u00e9cnicas y conocimientos que suplen a la intuici\u00f3n.<\/p>\n","protected":false},"author":2,"featured_media":106,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,6],"tags":[12],"class_list":["post-98","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ia","category-matematicas","tag-matematicas"],"_links":{"self":[{"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/posts\/98","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":1,"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/posts\/98\/revisions"}],"predecessor-version":[{"id":197,"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/posts\/98\/revisions\/197"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/media\/106"}],"wp:attachment":[{"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/media?parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/categories?post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.candaana.com\/blog\/wp-json\/wp\/v2\/tags?post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}