<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bilgisayar Kavramları &#187; Yapay Sinir Ağları (Artificial Neural Networks)</title>
	<atom:link href="http://www.bilgisayarkavramlari.com/category/yapay-zeka-artificial-intelligence/yapay-sinir-aglari-artificial-neural-networks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bilgisayarkavramlari.com</link>
	<description>www.bilgisayarkavramlari.com</description>
	<lastBuildDate>Sun, 29 Jan 2012 21:38:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Elektronik kod defteri şekli (Electronic Code Book Mode)</title>
		<link>http://www.bilgisayarkavramlari.com/2009/03/06/elektronik-kod-defteri-sekli-electronic-code-book-mode/</link>
		<comments>http://www.bilgisayarkavramlari.com/2009/03/06/elektronik-kod-defteri-sekli-electronic-code-book-mode/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 16:57:02 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[Yapay Sinir Ağları (Artificial Neural Networks)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2009/03/06/elektronik-kod-defteri-sekli-electronic-codebook-mode/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Blok şifreleme yöntemlerinin (block cipher) en basitidir. Verilen bir açık mesaj, bloklara bölünür. Bölünmüş mesaj ayrı ayrı parçalar olarak şifrelenir ve şifreli mesaj elde edilir. ECB modundaki bir şifrelemede, şifrelenen bloklar arasında bir ilişki söz konusu değildir. Her blok tek başına şifrelenir ve şifreli mesaj bu blokların birleşmiş halidir. Bu [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p><a href="http://www.bilgisayarkavramlari.com/2008/06/07/blok-sifreleme-block-cipher/">Blok şifreleme yöntemlerinin (block cipher)</a> en basitidir. Verilen bir açık mesaj, bloklara bölünür. Bölünmüş mesaj ayrı ayrı parçalar olarak şifrelenir ve şifreli mesaj elde edilir.</p>
<p>ECB modundaki bir şifrelemede, şifrelenen bloklar arasında bir ilişki söz konusu değildir. Her blok tek başına şifrelenir ve şifreli mesaj bu blokların birleşmiş halidir.</p>
<p>Bu yöntemle yapılan şifreleme aşağıdaki şekilde gösterilebilir:</p>
<p><img class="alignnone size-full wp-image-1729" title="ecb_elektronik_kod" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/03/ecb_elektronik_kod.jpg" alt="" width="474" height="217" /></p>
<p>Aynı şifreleme yönteminin açılması sırasında da bloklar birbirinden ayrı şekilde (münferiden) işlenir. Bu durumda aşağıda gösterilmiştir:</p>
<p><img class="alignnone size-full wp-image-1730" title="ecb_elektronik_kod_acma" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/03/ecb_elektronik_kod_acma.jpg" alt="" width="453" height="209" /></p>
<p>Örneğin <a href="http://bilgisayarkavramlari.com/2008/02/23/vigenere-sifreleme-vigenere-cipher/">viegnere şifrelemesi (vigenere cipher)</a> kullanarak aşağıdaki mesajı &#8220;ali&#8221; anahtarı ile şifreleyelim:</p>
<p>mesaj -&gt; 13 5 19 1 10<br />
ali -&gt; 1 12 9</p>
<p>şifreleme işlemi için şifre ile harfler sırasıyla toplanır:<br />
13 05 19 01 10<br />
01 12 09 01 12<br />
—————<br />
14 17 28 02 22<br />
14 17 02 02 22<br />
n q b b w</p>
<p>Yukarıdaki şifreli mesaj, her bloğun ayrı ayrı şifrelenmesi ve sonucunda yan yana getirilmesi ile elde edilmiştir.</p>

<p class="sayac_bilgi">173 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2009/03/06/elektronik-kod-defteri-sekli-electronic-code-book-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Principal Component Analysis</title>
		<link>http://www.bilgisayarkavramlari.com/2008/12/29/principal-component-analysis/</link>
		<comments>http://www.bilgisayarkavramlari.com/2008/12/29/principal-component-analysis/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 12:52:01 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Matematiği]]></category>
		<category><![CDATA[Yapay Sinir Ağları (Artificial Neural Networks)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/12/29/principal-component-analysis/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde boyut indirmeye yarayan bir yöntemdir. Kısaca iki bilgi arasında bir bağlantı varsa bu bağlantı sayesinde iki veriden birisini tutmak ve bağlantıyı tutmak iki bilginin de geri bulunabilmesini sağlar. Kısaca PCA olarak da ifade edilen bu terime göre bir veri kümesinin (veri matrisinin , data matrix) kovaryans matrisinin (covariance [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilgisayar bilimlerinde boyut indirmeye yarayan bir yöntemdir. Kısaca iki bilgi arasında bir bağlantı varsa bu bağlantı sayesinde iki veriden birisini tutmak ve bağlantıyı tutmak iki bilginin de geri bulunabilmesini sağlar. Kısaca PCA olarak da ifade edilen bu terime göre bir veri kümesinin (veri matrisinin , data matrix) <a href="http://www.bilgisayarkavramlari.com/2008/12/29/kovaryans-matrisi-covariance-matrix/">kovaryans matrisinin (covariance matrix</a>) veya <a href="http://www.bilgisayarkavramlari.com/2008/12/29/tekil-deger-ayrisimi-singular-value-decomposition/">tekil değer çıkarımının (singular value decomposition)</a> yöntemi ile elde edilen basitleştirilmiş halidir.</p>

<p class="sayac_bilgi">167 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2008/12/29/principal-component-analysis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tekil Değer Ayrışımı (Singular Value Decomposition)</title>
		<link>http://www.bilgisayarkavramlari.com/2008/12/29/tekil-deger-ayrisimi-singular-value-decomposition/</link>
		<comments>http://www.bilgisayarkavramlari.com/2008/12/29/tekil-deger-ayrisimi-singular-value-decomposition/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 04:11:12 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[Bilgisayar Matematiği]]></category>
		<category><![CDATA[Yapay Sinir Ağları (Artificial Neural Networks)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/12/29/tekil-deger-ayrisimi-singular-value-decomposition/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Lineer Cebir (Linear Algebra) konusunda kullanılan ve reel veya kompleks matrisler üzerinde ayrıştırmaya yarayan önemli bir konudur. Basitçe bir matrisi 3 parçaya ayırarak tutar ve bu üç parçayı kullanarak aynı matrisin yeniden elde edilmesini sağlar. M = UΣV U, vahid masfuf (üniter matris, unitary matrix) olmaktadır V matrisi, M matrisinin [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Lineer Cebir (Linear Algebra) konusunda kullanılan ve reel veya kompleks matrisler üzerinde ayrıştırmaya yarayan önemli bir konudur.</p>
<p>Basitçe bir matrisi 3 parçaya ayırarak tutar ve bu üç parçayı kullanarak aynı matrisin yeniden elde edilmesini sağlar.</p>
<p>M = UΣV</p>
<p>U, <a href="http://www.bilgisayarkavramlari.com/2008/12/29/uniter-matris-vahid-masfuf-unitary-matrix/">vahid masfuf (üniter matris, unitary matrix)</a> olmaktadır</p>
<p>V matrisi, M matrisinin <a href="http://www.bilgisayarkavramlari.com/2008/12/29/birimdik-yoneyler-orthonormal-vectors/">birimdik (orthonormal)</a> özelliklerini tutan matristir.</p>
<p>Σ matrisi ise bir köşegen matrisi olup (diagonal matrix) tekil değerleri (singular values) tutmaktadır.</p>
<p><strong>Örnek (Selmirsel&#8217;in talebi üzerine ekliyorum)</strong></p>
<p><span style="font-family:Times New Roman; font-size:12pt">Örneğin M matrisi olarak aşağıdaki matris verilmiş olsun.<br />
</span></p>
<p><span style="font-family:Times New Roman; font-size:12pt">M =<br />
</span></p>
<div>
<table style="border-collapse:collapse; background: white" border="0">
<colgroup>
<col style="width: 57px;"></col>
<col style="width: 56px;"></col>
<col style="width: 57px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">1.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">2.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">3.0000</span></td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">4.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">5.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">6.0000</span></td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">7.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">8.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">9.0000</span></td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family:Times New Roman; font-size:12pt">Yukarıdaki bu matrisi, </span>M = UΣV şeklinde çarpanlarına ayıracak ve buradan SVD değeri olan Σ matrisini bulacağız.</p>
<p>U =</p>
<div>
<table style="border-collapse:collapse; background: white" border="0">
<colgroup>
<col style="width: 62px;"></col>
<col style="width: 61px;"></col>
<col style="width: 62px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.2148</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.8872</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.4082</span></td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.5206</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.2496</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.8165</span></td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.8263</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.3879</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.4082</span></td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family:Times New Roman; font-size:12pt"><br />
Σ =<br />
</span></p>
<div>
<table style="border-collapse:collapse; background: white" border="0">
<colgroup>
<col style="width: 65px;"></col>
<col style="width: 56px;"></col>
<col style="width: 57px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">16.8481</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.0000</span></td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">1.0684</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.0000</span></td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.0000</span></td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family:Times New Roman; font-size:12pt"><br />
V =<br />
</span></p>
<div>
<table style="border-collapse:collapse; background: white" border="0">
<colgroup>
<col style="width: 62px;"></col>
<col style="width: 61px;"></col>
<col style="width: 62px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.4797</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.7767</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.4082</span></td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.5724</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.0757</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.8165</span></td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.6651</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">0.6253</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">-0.4082</span></td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family:Times New Roman; font-size:12pt">Yukarıda bulduğumuz bu 3 matrisi çarparsak M matrisi aşağıdaki şekilde , ilk beklediğimiz matris olarak geri bulunur:<br />
</span></p>
<p><span style="font-family:Times New Roman; font-size:12pt">U* Σ *V<sup>T</sup> =<br />
</span></p>
<table style="border-collapse:collapse; background: white" border="0">
<colgroup>
<col style="width: 57px;"></col>
<col style="width: 56px;"></col>
<col style="width: 57px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">1.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">2.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">3.0000</span></td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">4.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">5.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">6.0000</span></td>
</tr>
<tr>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">7.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">8.0000</span></td>
<td style="padding-top: 5px; padding-left: 5px; padding-bottom: 5px; padding-right: 5px" valign="middle"><span style="color:black; font-family:Times New Roman; font-size:12pt">9.0000</span></td>
</tr>
</tbody>
</table>
<p><strong>Kodlama</strong></p>
<p>Yukarıda verilen bu matrislerin bulunmasını algoritmik olarak ele alacak olursak, program yazılacak kadar basit bir halde düşünebilmemiz gerekir. SVD hesaplanırken aslında bulunan değer basitçe</p>
<p>M = UΣV değeridir . Bu değeri aşağıdaki şekilde parçalara ayırabiliriz:</p>
<p>M[i][j] şeklindeki iki boyutlu matri için :</p>
<p>= <big><big>Σ</big></big><sub>i &lt; k</sub> U[i][k] * S[k][k] * V[j][k] // M = UΣV ayrımındaki 3 ayrı matris</p>
<p>Yukarıdaki bu eşitlikte S matrisini karekökünün karesi şeklinde yazabiliriz:</p>
<p>S[k][k] = sqrt(S[k][k]) * sqrt(S[k][k]) // bir matrisin karekökünün karesi kendisi olduğuna göre</p>
<p>= <big><big>Σ</big></big><sub>i &lt; k</sub> U[i][k] * sqrt(S[k][k]) * sqrt(S[k][k]) * V[j][k]</p>
<p>Çarpma işlemlerinin öncelikleri eşit olduğu için sondaki ve baştaki çarpmalara öncelik verebiliriz:</p>
<p>= <big><big>Σ</big></big><sub>i &lt; k</sub> (U[i][k] * sqrt(S[k][k])) * (sqrt(S[k][k]) * V[j][k])</p>
<p>S matrisimizin köşegensel (diagonal) bir matris olduğunu yani sadece köşegenindeki değerlerin bulunduğunu bunun dışındaki değerlerin 0 olduğunu hatırlarsak, çarpım işlemini aşağıdaki şekilde basitleştirebiliriz.</p>
<p>= (U[i] * sqrt(S<sub>diag</sub>)<sup><sup>T</sup></sup>) * (V[j] * sqrt(S<sub>diag</sub>)<sup><sup>T</sup></sup>)<sup><sup>T</sup></sup></p>
<p>Yukarıdaki denklemden faydalanarak tekil değer ayrışımını veren elemanlar aşağıdaki şekilde hesaplanabilir:</p>
<p>U[i] * sqrt(S<sub>diag</sub>)<sup><sup>T</sup></sup><br />
= { U[i][0] * sqrt(S[0][0]),<br />
U[i][1] * sqrt(S[1][1]),<br />
&#8230;,<br />
U[i][k] * sqrt(S[k][k]) }</p>
<p>Görüldüğü üzere S matrisindeki köşegen değerleri (S[n][n] gibi) U matrisindeki i. satırdaki değerler ile çarpılmıştır.</p>
<p>Burada sqrt fonksiyonu karekök belirtir ve bir matrisin karakökü ile kastedilen aslında matrisin elemanlarının teker teker karekökünün alınmış halidir. S matrisi diyagonal bir matris olduğu için bu elemanların kareköklerinin alınması yeterlidir.</p>
<p>Yukarıdaki son denklemi bulduktan sonra koda geçirmek için yapılması gereken yukarıdaki matrisi hesaplayan bir döngü yazmaktır.</p>

<p class="sayac_bilgi">264 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2008/12/29/tekil-deger-ayrisimi-singular-value-decomposition/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bayes Ağları (Bayesian Network)</title>
		<link>http://www.bilgisayarkavramlari.com/2008/12/21/bayes-aglari-bayesian-network/</link>
		<comments>http://www.bilgisayarkavramlari.com/2008/12/21/bayes-aglari-bayesian-network/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 19:01:53 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Kavramları]]></category>
		<category><![CDATA[veri yapıları]]></category>
		<category><![CDATA[Yapay Sinir Ağları (Artificial Neural Networks)]]></category>
		<category><![CDATA[yapay zeka (artificial intelligence)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/12/21/bayes-aglari-bayesian-network/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde veri modelleme ve durum geçişi ifade etmek için kullanılan yöntemlerden birisidir. Literatürde bayes network veya blief network (inanç ağı) olarak da geçen ağların özelliğ istatistiksel ağlar olmaları ve düğümler (nodes) arası geçiş yapan kolların (edges) istatistiksel kararlara göre seçilmesidir. Bayes ağları yönlü dönüşsüz ağlardır (directed acyclic network) ve [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilgisayar bilimlerinde veri modelleme ve durum geçişi ifade etmek için kullanılan yöntemlerden birisidir. Literatürde bayes network veya blief network (inanç ağı) olarak da geçen ağların özelliğ istatistiksel ağlar olmaları ve <a href="http://bilgisayarkavramlari.com/2008/08/01/dugum-node/">düğümler (nodes)</a> arası geçiş yapan <a href="http://bilgisayarkavramlari.com/2008/08/01/kenar-edge/">kolların (edges) </a>istatistiksel kararlara göre seçilmesidir.</p>
<p>Bayes ağları yönlü dönüşsüz ağlardır (directed acyclic network) ve her düğüm ayrı bir değişkeni ifade eder. Ayrıca bu değişkenler (rastgele değişkenler, random variables) arasındaki sıralama da bayes ağları ile gösterilebilir (basitçe bir düğümden diğer düğüme geçiş sırası).</p>
<p>Bayes ağlarının daha geniş hali de belirsiz karar ağaçlarıdır ( uncertain decision trees).</p>
<p>Bayes ağlarını anlayabilmek için Bayes teoremini hatırlamakta yarar vardır.<br />
<strong>Bayes Teoremi </strong>:</p>
<p><img class="alignnone size-full wp-image-1500" title="bayes" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/bayes.jpg" alt="" width="416" height="94" /></p>
<p>bu<br />
eşitlik bayes theorem&#8217;idir.</p>
<p style="margin-bottom: 0in;"><strong>Örnek</strong> Yay üreten 3 Makine için aşağıdaki hata ve üretim oranları veriliyor:</p>
<p style="margin-bottom: 0in;">
<table border="1" cellspacing="3">
<tbody>
<tr valign="top">
<td width="119"></td>
<td width="118">Bozuk Yay oranı</td>
<td width="102">İmalattaki oranı</td>
</tr>
<tr valign="top">
<td width="119">I. Makine</td>
<td width="118">%2</td>
<td width="102">%35</td>
</tr>
<tr valign="top">
<td width="119">II. Makine</td>
<td width="118">%1</td>
<td width="102">%25</td>
</tr>
<tr valign="top">
<td width="119">III. Makine</td>
<td width="118">%3</td>
<td width="102">%40</td>
</tr>
</tbody>
</table>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">Üretilen yaylardan rasgele birisi<br />
seçildiğinde bozuk olma olasılığı:<br />
P(B)=P(I)P(B|I)+P(II)P(B|II)+P(III)P(B|III),</p>
<p style="margin-bottom: 0in;"><img src="http://www.shedai.net/prob/dersnotlari_html_51cea37c.gif" border="0" alt="" hspace="8" width="327" height="38" align="absmiddle" />olarak<br />
hesaplanır.</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">Eğer yay bozuk çıktıysa bunun 3.<br />
makineden çıkma olasılığı aşağıdaki şekilde hesaplanır:</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;"><img src="http://www.shedai.net/prob/dersnotlari_html_m3cf82435.gif" border="0" alt="" hspace="8" width="306" height="78" align="absmiddle" /></p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;"><strong>Örnek: </strong></p>
<p style="margin-bottom: 0in;">Bütün nufusta yapılan bir<br />
hastalık testinde (+) pozitif sonucun doğru bilinme olasılığı 0.99 ve<br />
(-) negatif sonucun doğru bilinme olasılığı 0.95 olarak veriliyor.<br />
Hastalığın bütün nufusta görülme olasılığı ise<br />
0.0001 ise test sonucu pozitif çıkan bir kişinin hasta olma<br />
olasılığı nedir?</p>
<p style="margin-bottom: 0in;">
<p style="margin-bottom: 0in;">D olayı kişinin hasta olma olasılığı<br />
olsun</p>
<p style="margin-bottom: 0in;">D&#8217; olayı kişinin hasta olmama<br />
olasılığını göstermiş olur.</p>
<p style="margin-bottom: 0in;">Buna göre P(D) = 0.0001 olur</p>
<p style="margin-bottom: 0in;">S olayı ise testin (+) çıkma<br />
olasılığı olsun.</p>
<p style="margin-bottom: 0in;">S&#8217; olayı testin (-) çıkma<br />
olasılığını göstermiş olur.</p>
<p style="margin-bottom: 0in;">Buna göre P(S&#8217;|D&#8217;) = 0.95 olduğuna<br />
göre P(S|D&#8217;) = 0.05 olur.</p>
<p style="margin-bottom: 0in;">Soruda istenen durum P(D|S) ile<br />
gösterilebilir ve şartlı ihtimal hesabından</p>
<p style="margin-bottom: 0in;"><img src="http://www.shedai.net/prob/dersnotlari_html_m78ade1f1.gif" border="0" alt="" hspace="8" width="258" height="39" align="absmiddle" />ancak<br />
burada<br />
<img src="http://www.shedai.net/prob/dersnotlari_html_2ed05598.gif" border="0" alt="" hspace="8" width="217" height="18" align="absmiddle" />Dolayısıyla<br />
bayes teoremini uygulamayı deneyebiliriz. Buna göre</p>
<p style="margin-bottom: 0in;"><img src="http://www.shedai.net/prob/dersnotlari_html_m14179d32.gif" border="0" alt="" hspace="8" width="322" height="41" align="absmiddle" />olarak<br />
bulunur. S olayı için iki ihtimal bulunduğundan ( test sonucu<br />
ya (+) ya da (-) çıkabilir) olasılık modeli aşağıdaki şekilde<br />
olur:</p>
<p style="margin-bottom: 0in;"><img src="http://www.shedai.net/prob/dersnotlari_html_4389d07f.gif" border="0" alt="" hspace="8" width="295" height="39" align="absmiddle" />olur.<br />
Sonuç ise<br />
<img src="http://www.shedai.net/prob/dersnotlari_html_720818ba.gif" border="0" alt="" hspace="8" width="260" height="38" align="absmiddle" /><br />
olarak bulunur.</p>

<p class="sayac_bilgi">511 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2008/12/21/bayes-aglari-bayesian-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Self Organizing Maps (Özdüzenleyici Haritalar)</title>
		<link>http://www.bilgisayarkavramlari.com/2008/12/15/self-organizing-maps-ozduzenleyici-haritalar/</link>
		<comments>http://www.bilgisayarkavramlari.com/2008/12/15/self-organizing-maps-ozduzenleyici-haritalar/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 03:56:14 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[algoritma analizi (teory of algorithms)]]></category>
		<category><![CDATA[Bilgisayar Kavramları]]></category>
		<category><![CDATA[Bilgisayar Matematiği]]></category>
		<category><![CDATA[Yapay Sinir Ağları (Artificial Neural Networks)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/12/15/self-organizing-maps-ozduzenleyici-haritalar/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Özdüzenleyici haritalar, yapay sinir ağlarının özel bir biçimidir ve eğitimleri sırasında gözetimsiz eğtim kullanılmaktadır. İlk kez Kohonen ismindeki finlandiyalı bilim adamı tarafından geliştirildiği için kohonen haritası (kohonen map) ismi de verilen bu ağlar diğer bütün yapay sinir ağları gibi iki farklı şekilde çalışmaktadır. İlk çalışma şeklinde sistem kendini eğitmektedir. Bu [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Özdüzenleyici haritalar, yapay sinir ağlarının özel bir biçimidir ve eğitimleri sırasında <a href="http://www.bilgisayarkavramlari.com/2008/10/27/gozetimsiz-ogrenme-unsupervised-learning/">gözetimsiz eğtim </a>kullanılmaktadır.</p>
<p>İlk kez Kohonen ismindeki finlandiyalı bilim adamı tarafından geliştirildiği için kohonen haritası (kohonen map) ismi de verilen bu ağlar diğer bütün yapay sinir ağları gibi iki farklı şekilde çalışmaktadır.</p>
<p>İlk çalışma şeklinde sistem kendini eğitmektedir. Bu çalışma şeklindeyken rekabetçi öğrenme (competitive learning) kullanılır.</p>
<p>İkinci çalışma şekli olan haritalama merhalesinde ise ağ, gelen yeni girdiyi doğru hartialamak için çalışır.</p>
<p>Temel olarak çok boyutlu girdilerin (multi dimensional inputs) daha az boyuttaki çıktılara indirgenmesine dayanan çalışma mantığı problemin basitleştirilmesini amaçlayan bir boyut azaltma (dimension reduction) işlemidir.</p>
<p>Yapısal olarak<a href="http://www.bilgisayarkavramlari.com/2008/11/02/ileri-beslemeli-aglar-feedforward-neural-networks/"> ileri beslemeli ağlara (feed forward networks) </a>örnek olabilecek olan SOM, çok küçük miktardaki nöronlar için<a href="http://www.bilgisayarkavramlari.com/2008/12/15/k-ortalama-algoritmasi-k-means-algorithm/"> k-ortalama (k-means)</a> algoritmasına benzer davranmaktadır. Sayının artması ile SOM&#8217;un da farkı ortaya çıkmaktadır.</p>
<p>Algoritmanın çalışması aşağıda anlatılmıştır:</p>
<ol>
<li>Ağımızdaki nöronların ağırlık değerlerini rasgele olarak başlatıyoruz</li>
<li>Giriş vektörlerini alıyoruz. (Sistemdeki hedef vektörlerimiz)</li>
<li>Haritadaki bütün değerler dolaşılıyor ve :
<ol>
<li>Giriş vektörü ile dolaşılmakta olan harita değeri arasındaki mesafe öklit mesafesi (euclid distance) olarak hesaplanır.</li>
<li>En kısa mesafeye sahip olan düğüm alınır (bu yönteme en uygun (best matching unit , BMU) ismi verilir)</li>
</ol>
</li>
<li>Bu seçtiğimiz en uygun düğüme komşu olan bütün düğümler güncellenerek girş vektörüne yaklaştırılır. (Aşağıdaki formül kullanılır):
<ol>
<li><strong>Wv</strong>(t + 1) = <strong>Wv</strong>(t) + Θ(t)α(t)(<strong>D</strong>(t) &#8211; <strong>Wv</strong>(t))</li>
</ol>
</li>
<li> t &lt; λ olduğu sürece 2. adıma dönülerek işlemler tekrar edilir.</li>
</ol>
<p>Yukarıdaki formüldeki değerler kısaca aşağıda açıklanmıştır:</p>
<pre>t = şimdiki adım
λ = adım üzerindeki zaman limiti
<strong>Wv</strong> = şimdiki ağırlık vektörü (weight vector)
<strong>D</strong> = hedeflenen giriş değeri
Θ(t) = komşuluk fonksiyonu
(en uygun komşudan ne kadar uzağa gidileceği)
α(t) = zamana bağlı öğrenme limiti</pre>
<p>Yukarıda verilen algoritmanın pekçok dilde uygulanması mümkündür. Algoritmadan da anlaşılacağı üzere yaşanan sorunlardan birisi zamandır. Algoritma n girdili bir sistem için vektörlerin oluşturulması ve bütün elemanların üzerinden her döngüde geçilmesi zaman problemi çıkarmaktadır. Ancak SOM&#8217;un boyut küçültücü özelliği göz ardı edilmemelidir. Bu özelliğin doğru kullanılması ile çok uzun süreler alacak işlemler kısa zamanda çözülebilir.</p>
<p>Ayrıca bu algoritmanın, müteharrik özdüzenleyici haritalar (dinamik özdüenleyici haritalar, dynamic SOM) ismi verilen bir yaklaşımla giriş değerlerinin sabit olmayıp sürekli değişim içinde olduğu örnekler üzerinde çalışan bir uygulaması da vardır.</p>

<p class="sayac_bilgi">261 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2008/12/15/self-organizing-maps-ozduzenleyici-haritalar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>K-Ortalama Algoritması (K-Means Algorithm)</title>
		<link>http://www.bilgisayarkavramlari.com/2008/12/15/k-ortalama-algoritmasi-k-means-algorithm/</link>
		<comments>http://www.bilgisayarkavramlari.com/2008/12/15/k-ortalama-algoritmasi-k-means-algorithm/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 00:07:32 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[Bilgisayar Kavramları]]></category>
		<category><![CDATA[Bilgisayar Matematiği]]></category>
		<category><![CDATA[Yapay Sinir Ağları (Artificial Neural Networks)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/12/15/k-ortalama-algoritmasi-k-means-algorithm/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Sınıflandırmada (clustering) kullanılan algoritmalardan birisidir. Amaç özellik çıkarımı (Feature extraction) yapılmış bir grup verinin birden fazla sınıfa göre doğru sınıflandırılmasıdır. Kullanılan matematiksel yöntem her sınıf için merkez belirlenen noktaya uzaklığa (aynı zamanda bu hata miktarıdır) göre yeni sınıfların yerleştirilmesidir. Algoritma temel olarak 4 aşamadan oluşur: Sınıf merkezlerinin belirlenmesi Merkez dışındaki [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Sınıflandırmada (clustering) kullanılan algoritmalardan birisidir. Amaç <a href="http://www.bilgisayarkavramlari.com/2008/12/01/ozellik-cikarimi-feature-extraction/">özellik çıkarımı (Feature extraction)</a> yapılmış bir grup verinin birden fazla sınıfa göre doğru sınıflandırılmasıdır.</p>
<p>Kullanılan matematiksel yöntem her sınıf için merkez belirlenen noktaya uzaklığa (aynı zamanda bu hata miktarıdır) göre yeni sınıfların yerleştirilmesidir.</p>
<p>Algoritma temel olarak 4 aşamadan oluşur:</p>
<ol>
<li>Sınıf merkezlerinin belirlenmesi</li>
<li>Merkez dışındaki örneklerin mesafelerine göre sınıflandırılması</li>
<li>Yapılan sınıflandırmaya göre yeni merkezlerin belirlenmesi (veya eski merkezlerin yeni merkeze kaydırılması)</li>
<li>Kararlı hale (stable state) gelinene kadar 2. ve 3. adımların tekrarlanması</li>
</ol>
<p>Çalışmayı daha net anlamak için aşağıdaki örnek uzaya dağılmış olan örnekleri inceleyelim:</p>
<p><img class="alignnone size-full wp-image-1438" title="kmeans1" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/kmeans1.jpg" alt="" width="187" height="178" /></p>
<p>Yukarıda verilen ve uzayda koordinatları kodlanmış olan örnekler için iki adet hedef küme tanımlıyoruz. (iki sınıf ve bu sınıfların karakterlerini tanımlıyoruz)</p>
<p><img class="alignnone size-full wp-image-1439" title="kmeans2" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/kmeans2.jpg" alt="" width="187" height="178" /></p>
<p>Bu sınıf tanımlarına uzaklıklarına göre (örneğin <a href="http://www.bilgisayarkavramlari.com/2007/11/24/oklit-mesafesi-euclidean-distance-euclidean-metric/">öklit mesafesi (euclid distance) </a>) bütün örneklerimizi sınıflandırıyoruz. (hangi renge daha yakınsa)</p>
<p><img class="alignnone size-full wp-image-1440" title="kmeans3" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/kmeans3.jpg" alt="" width="187" height="178" /></p>
<p>Oluşan sınıfları ayıran bir hat aşağıdaki şekilde çizilebilir:</p>
<p><img class="alignnone size-full wp-image-1444" title="kmeans42" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/kmeans42.jpg" alt="" width="187" height="178" /></p>
<p>Daha önceden sınıflandırdığımız örneklerin merkezlerini buluyoruz. (yuvarlak ile gösterilen ve sınıf karakteristiğini temsil eden ilk örneklerin yerini değiştirmek olarak da düşünülebilir)</p>
<p><img class="alignnone size-full wp-image-1442" title="kmeans5" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/kmeans5.jpg" alt="" width="187" height="178" /></p>
<p>Merkezleri hareket ettirdikten sonra örneklerden bazıları yeni merkezlere daha yakın olabilir. Buna göre örnek kümelerimizin sınıflandırılmasını güncelliyoruz.</p>
<p>Yukarıda son hali gösterilen k-means algoritmasında yeni merkezler ve her örneğin hangi sınıfa girdiği bulunmuştur.</p>

<p class="sayac_bilgi">659 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2008/12/15/k-ortalama-algoritmasi-k-means-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doğrusal olmayan DVM ( Non-linear SVM)</title>
		<link>http://www.bilgisayarkavramlari.com/2008/12/01/dogrusal-olmayan-dvm-non-linear-svm/</link>
		<comments>http://www.bilgisayarkavramlari.com/2008/12/01/dogrusal-olmayan-dvm-non-linear-svm/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 12:47:46 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Yapay Sinir Ağları (Artificial Neural Networks)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/12/01/dogrusal-olmayan-dvm-non-linear-svm/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Destekçi vektör makinelerinde (Support vector machines) ayrım bir aşırıdüzlem (hyperplane) üzerinde iki grubu ayırdan bir doğru ve bu doğruya bağlı bir tolerans (offset) ile yapılmaktadır. Ancak bu durum her zaman beklendiği kadar iyi sonuç vermeyebilir. Örneğin aşağıdaki şekilde doğrusal bir ayrım yapılması durumunda yanlış sınıflandırma yapılan örnekler (misclassification) biraz daha [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Destekçi vektör makinelerinde (Support vector machines) ayrım bir aşırıdüzlem (hyperplane) üzerinde iki grubu ayırdan bir doğru ve bu doğruya bağlı bir tolerans (offset) ile yapılmaktadır. Ancak bu durum her zaman beklendiği kadar iyi sonuç vermeyebilir. Örneğin aşağıdaki şekilde doğrusal bir ayrım yapılması durumunda yanlış sınıflandırma yapılan örnekler (misclassification) biraz daha dikkatli ve doğrusal olmayan ikinci şekildeki gibi ayırılırlarsa tam olarak sınıflnadırılabileceklerdir.</p>
<p><img class="alignnone size-full wp-image-1337" title="siniflandirma" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/siniflandirma.jpg" alt="" width="423" height="290" /></p>
<p>Yukarıdaki şekilde verilen örnekler aşağıdaki şekilde doğrusal olmayan bir yolla sınıflandırılabilirler:</p>
<p><img class="alignnone size-full wp-image-1338" title="dogursal_siniflandirma" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/dogursal_siniflandirma.jpg" alt="" width="399" height="290" /></p>
<p>Bu sınıflandırmanın yapılabilmesi için çekirdek hilesi (kernel trick) adı verilen bir yöntem kullanılabilir.</p>

<p class="sayac_bilgi">142 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2008/12/01/dogrusal-olmayan-dvm-non-linear-svm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Çok sınıflı DVM ( Multiclass SVM)</title>
		<link>http://www.bilgisayarkavramlari.com/2008/12/01/cok-sinifli-dvm-multiclass-svm/</link>
		<comments>http://www.bilgisayarkavramlari.com/2008/12/01/cok-sinifli-dvm-multiclass-svm/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 11:48:29 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Yapay Sinir Ağları (Artificial Neural Networks)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/12/01/cok-sinifli-dvm-multiclass-svm/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilindiği üzere destekçi vektör makinaları ( Support Vector Machine ) iki sınıfın ayrılmasında kullanılmaktadır. Yani bir DVM marifetiyle iki sınıf belirli bir tolerans (offset) değerinde birbirinden ayrılmakta ve bu ayrım sonunda çıkarılmış olan öznitelik vektörlerine (feature vectors) göre aşırıdüzlem (hyperplane) üzerinde iki düzlem elde edilmektedir. Çok sınıflı DVM ile kast [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilindiği üzere <a href="http://www.bilgisayarkavramlari.com/2008/12/01/svm-support-vector-machine-destekci-vektor-makinesi/">destekçi vektör makinaları ( Support Vector Machine )</a> iki sınıfın ayrılmasında kullanılmaktadır. Yani bir DVM marifetiyle iki sınıf belirli bir tolerans (offset) değerinde birbirinden ayrılmakta ve bu ayrım sonunda çıkarılmış olan <a href="http://www.bilgisayarkavramlari.com/2008/12/01/ozellik-cikarimi-feature-extraction/">öznitelik vektörlerine (feature vectors)</a> göre aşırıdüzlem (hyperplane) üzerinde iki düzlem elde edilmektedir.</p>
<p>Çok sınıflı DVM ile kast edilen ise ayrımı yapılacak (sınıflandırılacak) grupların ikiden fazla olması durumudur. Bu durumda aşağıdaki üç yaklaşımdan birisi tercih edilebilir:</p>
<ul>
<li>Problemin ikili gruplara indirgenmesi (bire bir yaklaşımı, one-to-one)</li>
<li>Problemin tek gruptan bütün gruplara modellenmesi ( bire çok yaklaşım , one-to-many)</li>
<li>çok sınıf sıralama DVM&#8217;leri (multiclass ranking SVM)</li>
</ul>
<p>Bu yaklaşımlardan en çok kullanılan ilk yaklaşıma (bire bir yaklaşıma) göre örneğin bir girdinin 4 sınıftan hangisine gireceğini bulmak isteyelim. Sınıflarımız A, B, ve C olsun. Bu sınıflar öncelikle ikili gruplar halinde SVM yöntemi ile eğitilerek sınıfların birbirine göre SVM çarpanları çıkarılır. Bu ikilileri aşağıdaki şekilde gösterilmiştir:</p>
<p><img class="alignnone size-full wp-image-1335" title="oao" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/oao.jpg" alt="" width="380" height="228" /></p>
<p>yukarıdaki şekilde her iki sınıf için ayrı bir SVM eğitilmiştir. Yeni bir örneğin sınıflandırılması sırasında ikili olarak önce sorgulama yapılır yani AB, BC ve AC ikilileri sorgulanır ve bu sorgulardan hangisine daha çok cevap alınırsa bu sınıfa konulur. Örneğin aşağıdaki sorgular için çıkan sonuçları ele alalım:</p>
<p>AB -&gt; A</p>
<p>BC -&gt;B</p>
<p>AC -&gt; A</p>
<p>Yukarıdaki 3 sorgudan ikisinde A sonucuna ulaşılmıştır dolayısıyla yeni gelen örnek, A sınıfına daha yakın kabul edilmiştir.</p>
<p>Çoklu sınıflandırmada kullanılan bire çok yaklaşımına (one to many) göre de problem bir <a href="http://www.bilgisayarkavramlari.com/2008/12/01/kazanan-hepsini-alir-winner-takes-all/">&#8220;kazanan hepsini alır&#8221; (winner takes all) </a>haline dönüşmektedir. Bu yaklaşımda yeni gelen bir girdinin sınıflandırılacağı alternatiflerden birisi diğerlerine göre baskın olmakta ve sonuçta bu sınıf seçilmektedir. Ancak bu yaklaşım bir önceki yaklaşıma göre daha az tercih edilmektedir.  Aşağıda bu yöntem kullanılarak üç sınıf arasında çıkarılan DVM gösterilmiştir:</p>
<p><img class="alignnone size-full wp-image-1334" title="oaa" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/oaa.jpg" alt="" width="379" height="235" /></p>
<p>Yukarıdaki şekilde de görüldüğü üzere önce 3 adet doğru denklemi bulunmuş (şekildeki ince çizgiler) sonra bu doğru denklemlerinin birleştirilmesi ile 3 sınıfı birbirinden ayırmaya yarayan genel bir DVM elde edilmiştir (şekilde kalın çizgiler)</p>
<p>Son olarak çoklu sınıf sıralama (multi class ranking) yaklaşımına göre sınıflar üzerinde bir DVM çalışarak bu sınıfların bütün üyelerini içeren bir sınıflandırma yapmaya çalışır. Ancak bu yaklaşım diğer iki yaklaşımdan çok daha az tercih edilir olmasında bu yaklaşımda eğitim süresinin diğerlerine göre inanılmaz oranda yüksek olması ve sonucun bulunamama ihtimali önemli rol oynar.</p>

<p class="sayac_bilgi">169 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2008/12/01/cok-sinifli-dvm-multiclass-svm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kazanan Hepsini Alır (Winner Takes All)</title>
		<link>http://www.bilgisayarkavramlari.com/2008/12/01/kazanan-hepsini-alir-winner-takes-all/</link>
		<comments>http://www.bilgisayarkavramlari.com/2008/12/01/kazanan-hepsini-alir-winner-takes-all/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 11:25:51 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Yapay Sinir Ağları (Artificial Neural Networks)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/12/01/kazanan-hepsini-alir-winner-takes-all/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Güncel hayattan bir deyim olan kazanan hepsini alır yaklaşımına göre bir yarış içindeki iki veya daha fazla şeyden birisi diğerlerine üstünlük sağlar ve diğerlerini yok eder. Bilgisayar bilimlerinde yapay sinir ağlarında kullanılan bir terimdir. Yapay sinir ağlarında ( Artificial neural networks) kullanılan bu terime göre, eğitim sırasında bir nöronun diğer [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Güncel hayattan bir deyim olan kazanan hepsini alır yaklaşımına göre bir yarış içindeki iki veya daha fazla şeyden birisi diğerlerine üstünlük sağlar ve diğerlerini yok eder. Bilgisayar bilimlerinde yapay sinir ağlarında kullanılan bir terimdir.</p>
<p><a href="http://www.bilgisayarkavramlari.com/2008/10/02/yapay-sinir-aglari-artificial-neural-networks/">Yapay sinir ağlarında ( Artificial neural networks)</a> kullanılan bu terime göre, eğitim sırasında bir <a href="http://www.bilgisayarkavramlari.com/2008/10/02/sinir-hucresi-noron-neuron/">nöronun</a> diğer nöronları engellemesi durumudur. Buna göre belirli bir zamandan sonra tek bir nöron aktif olacak ve diğer nöronlar bu baskın nörondan dolayı görevini yitirecektir.</p>

<p class="sayac_bilgi">47 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2008/12/01/kazanan-hepsini-alir-winner-takes-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SVM (Support Vector Machine, Destekçi Vektör Makinesi)</title>
		<link>http://www.bilgisayarkavramlari.com/2008/12/01/svm-support-vector-machine-destekci-vektor-makinesi/</link>
		<comments>http://www.bilgisayarkavramlari.com/2008/12/01/svm-support-vector-machine-destekci-vektor-makinesi/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 02:21:43 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[Bilgisayar Matematiği]]></category>
		<category><![CDATA[Yapay Sinir Ağları (Artificial Neural Networks)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/12/01/svm-support-vector-machine-destekci-vektor-makinesi/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Sınıflandırma (Classification) konusunda kullanılan oldukça etkili ve basit yöntemlerden birisidir. Sınıflandırma için bir düzlemde bulunan iki grup arasında bir sınır çizilerek iki grubu ayırmak mümkündür. Bu sınırın çizileceği yer ise iki grubun da üyelerine en uzak olan yer olmalıdır. İşte SVM bu sınırın nasıl çizileceğini belirler. Bu işlemin yapılması için [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Sınıflandırma (Classification) konusunda kullanılan oldukça etkili ve basit yöntemlerden birisidir. Sınıflandırma için bir düzlemde bulunan iki grup arasında bir sınır çizilerek iki grubu ayırmak mümkündür. Bu sınırın çizileceği yer ise iki grubun da üyelerine en uzak olan yer olmalıdır. İşte SVM bu sınırın nasıl çizileceğini belirler.</p>
<p>Bu işlemin yapılması için iki gruba da yakın ve birbirine paralel iki sınır çizgisi çizilir ve bu sınır çizgileri birbirine yaklaştırılarak ortak sınır çizgisi üretilir. Örneğin aşağıdaki şekildeki iki grubu ele alalım:</p>
<p><img class="alignnone size-medium wp-image-1324" title="svm" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/svm.jpg" alt="" width="221" height="268" /></p>
<p>Bu şekilde iki grup iki boyutlu bir düzlem üzerinde gösterilmiştir. Bu düzlemi ve boyutları birer özellik olarak düşünmek mümkündür. Yani basit anlamda sisteme giren her girdinin (input) bir özellik çıkarımı (feature extraction) yapılmış ve sonuçta bu iki boyutlu düzlemde her girdiyi gösteren farklı bir nokta elde edilmiştir. Bu noktaların sınıflandırılması demek, çıkarılmış olan özelliklere göre girdilerin sınıflanması demektir.</p>
<p>Yukarıda her iki sınıf arasında oluşan aralığa tolerans (offset) demek mümkündür. Bu düzlemdeki her bir noktanın tanımı aşağıdaki gösterim ile yapılabilir:</p>
<p><img class="alignnone size-full wp-image-1325" title="svm_denklem" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/svm_denklem.jpg" alt="" width="338" height="36" /></p>
<p>Yukarıdaki gösterimi şu şekilde okumak mümkündür. Her x,c ikilisi için X vektör uzayımızdaki bir nokta ve c ise bu noktanın -1 veya +1 olduğunu gösteren değeridir. Bu noktalar kümesi i= 1 &#8216;den n&#8217;e kadar gitmektedir.</p>
<p>Yani bu gösterim bir önceki şekilde olan noktaları ifade etmektedir.</p>
<p>Bu gösterimin bir <a href="http://www.bilgisayarkavramlari.com/2008/12/01/asiriduzlem-hyperplane/">aşırı düzlem (hyperplane)</a> üzerinde olduğunu düşünürsek. Bu gösterimdeki her noktanın :</p>
<p>wx &#8211; b = 0</p>
<p>denklemi ile ifade edilmesi mümkündür. Buradaki w aşırıdüzleme dik olan normal vektörü ve x noktanın değişen parametresi ve b ise kayma oranıdır. Bu denklemi kalsik ax+b doğru denklemine benzetmek mümkündür.</p>
<p>Yine yukarıdaki denkleme göre b/||w|| değeri bize iki grup arasındaki mesafe farkını verir. Bu mesafe farkına daha önce tolerans (offset) ismini de vermiştik. Bu mesafe farkı denklemine göre mesafeyi en yüksek değere çıkarmak için yukarıdaki ilk şekilde gösterilen 0, -1 ve +1 değerlerine sahip 3 doğruyu veren denklemde 2/||w|| formülü kullanılmıştır. Yani doğrular arası mesafe 2 birim olarak belirlenmiştir.</p>
<p>Bu denkleme göre elde edilen iki doğru denklemi:</p>
<p>wx &#8211; b = -1</p>
<p>wx + b = 1</p>
<p>olarak bulunmuştur. Aslında bu denklemler doğruların kaydırılması sonucunda elde edilen en yüksek değerlerin bulunması işleminin bir sonucudur. Aynı zamanda bu denklemlerle problemin <a href="http://www.bilgisayarkavramlari.com/2008/10/02/dogrusal-ayrilabilirlik-linear-seperability/">doğrusal ayrılabilir (linearly seperable)</a> olduğu da kabul edilmiş olur.</p>
<p>Tahmin edileceği üzere iki grup arasındaki aşırıdüzlemin (hyperplane) tek yönlü olması mümkün değildir. Aşağıda bu duruma bir örnek gösterilmiştir:</p>
<p><img class="alignnone size-full wp-image-1327" title="svm2" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2008/12/svm2.jpg" alt="" width="338" height="332" /></p>
<p>Yukarıdaki şekilde iki farklı hiperdüzlem (aşırı düzlem) olasılığı bulunmasına karşılık SVM yönteminde bu olasılıklardan en büyük toleransa (offset) sahip olanı alınır.</p>

<p class="sayac_bilgi">576 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2008/12/01/svm-support-vector-machine-destekci-vektor-makinesi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

