<?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>Pattern Recognition &#8211; PARINYA.NET</title>
	<atom:link href="https://www.parinya.net/node/category/pattern-recognition/feed" rel="self" type="application/rss+xml" />
	<link>https://www.parinya.net</link>
	<description>ทฤษฎีการคำนวณสำหรับคอมพิวเตอร์และทฤษฎีการประมวลผลสารสนเทศ</description>
	<lastBuildDate>Thu, 27 Dec 2018 05:49:00 +0000</lastBuildDate>
	<language>th</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>
	<item>
		<title>ปัญหาการสกัดคุณลักษณะเด่นจากรูปภาพอัญมณี</title>
		<link>https://www.parinya.net/node/2664</link>
					<comments>https://www.parinya.net/node/2664#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Thu, 19 Jul 2018 07:36:14 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Image Processing]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<category><![CDATA[การสกัด]]></category>
		<category><![CDATA[คุณลักษณะเด่น]]></category>
		<category><![CDATA[วัตถุในรูปภาพ]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=2664</guid>

					<description><![CDATA[ช่วงนี้ผมกำลังศึกษาทฤษฎีก]]></description>
										<content:encoded><![CDATA[<p>ช่วงนี้ผมกำลังศึกษาทฤษฎีการสกัดคุณลักษณะเด่นของวัตถุในรูปภาพอยู่ครับ เพราะผมมีจุดประสงค์ในการพัฒนาระบบซอฟต์แวร์เพื่อการจำแนกอัญมณีจากรูปภาพ</p>
<p>พออ่านเปเปอร์ด้านนี้ไปหลาย ๆ ฉบับ ก็สามารถสรุปได้ในระดับหนึ่งว่า สิ่งที่ควรเป็นคุณลักษณะเด่นของวัตถุในรูปภาพก็คือ &#8220;ขอบ&#8221; และ &#8220;มุม&#8221; ของวัตถุในรูปภาพ!!!</p>
<p>คือตรงไหนที่ดูเป็น &#8220;มุม&#8221; หรือเป็น &#8220;ขอบ&#8221; ก็ตรงนั้นแหล่ะครับที่เป็นคุณลักษณะเด่น หลาย ๆ เปเปอร์เค้าว่างั้น ดังนั้น หลาย ๆ เปเปอร์ก็เลยมุ่งเน้นนำเสนอทฤษฎีในการหา &#8220;มุม&#8221; และ &#8220;ขอบ&#8221; ของวัตถุในรูปภาพ ให้แม่น ๆ เก่ง ๆ และเร็ว ๆ</p>
<p>ซึ่งวิธีการหามุมและขอบก็จะคล้าย ๆ กันครับ คือ การแปลงภาพสีให้เป็นภาพเทา การย่อขยายภาพเป็นหลาย ๆ ขนาด การเบลอภาพเพื่อขจัดจุดสีรบกวน การนำภาพที่เบลอแล้วมาหักล้างกัน การแบ่งภาพออกเป็นส่วน ๆ เพื่อหาทิศทางของความเข้มแสง และการตรวจสอบน้ำหนักความเข้มแสงที่คำนวณได้ เพื่อตัดสินใจว่าวัตถุในรูปภาพ มีมุมหรือขอบตรงไหนบ้าง และกินบริเวณขอบเขตแค่ไหน</p>
<p>ด้วยวิธีการของทฤษฎีต่าง ๆ ที่อธิบายเนื้อหาคล้าย ๆ กันตามย่อหน้าข้างบน ทำให้เครื่องจักรสามารถที่จะสกัดคุณลักษณะเด่น (มุมและขอบ) ของวัตถุในรูปภาพได้ ไม่ว่าวัตถุในรูปภาพนั้นจะใหญ่เล็กแค่ไหน จะหมุนเปลี่ยนทิศไปยังไง จะบิดเปลี่ยนทางไปทางใด และจะมืดไปสว่างไปหรือเปล่า</p>
<p>แล้วในเมื่อทฤษฎีที่ถูกคิดค้นขึ้นมาหลาย ๆ เปเปอร์มันดีอย่างนี้ ทำไมผมถึงยังมีปัญหาในการสกัดคุณลักษณะเด่นจากรูปภาพอัญมณีอีกล่ะ ทำไมไม่เอาทฤษฎีมาสร้างซอฟต์แวร์เลย?</p>
<p>คำตอบก็คือ อัญมณีมันมีประกายครับ และประกายก็ถือได้ว่าเป็น &#8220;มุม&#8221; และ &#8220;ขอบ&#8221; แบบนึง ดังนั้น เมื่อประกายเปลี่ยนเพราะทิศทางของแสง คุณลักษณะเด่นก็จะเปลี่ยนแปลงไป ถึงแม้จะเป็นอัญมณีเม็ดเดียวกันก็ตาม!!!</p>
<p>ผมยังคงต้องหาเปเปอร์อ่านต่อไปครับ ลำพังไอคิวตัวเองยังไม่ถึงขั้นคิดค้นทฤษฎีเองได้ และบางครั้งถ้าโชคดีหาทฤษฎีที่ใช่พบ แถมมีคนพัฒนา Opensource พวก Library, Framework, SDK, API หรือ Platform ที่ตรงกับทฤษฎีที่ใช่ อันนี้ก็จะยิ่งเฮงขึ้นไปใหญครับ เพราะบอกตามตรงว่าหลายครั้งที่ต้องเขียนโปรแกรมให้สอดคล้องกับทฤษฎี มันไม่ได้ง่ายเลยที่จะปรับประสิทธิภาพของโปรแกรมได้</p>
<p>โพสต์นี้เลยเหมือนเป็นการบ่นปัญหาให้อ่านครับ ไม่ได้นำเสนอวิธีแก้ปัญหาอะไรเป็นรูปธรรม</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/2664/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>อัลกอริทึมสำหรับจำแนกพลอยสี</title>
		<link>https://www.parinya.net/node/2594</link>
					<comments>https://www.parinya.net/node/2594#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Fri, 26 Jan 2018 06:46:20 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Image Processing]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<category><![CDATA[การทำเหมืองข้อมูล]]></category>
		<category><![CDATA[การประมวลผลภาพ]]></category>
		<category><![CDATA[จำแนก]]></category>
		<category><![CDATA[ปัญญาประดิษฐ์]]></category>
		<category><![CDATA[พลอย]]></category>
		<category><![CDATA[พลอยสี]]></category>
		<category><![CDATA[อัลกอริทึม]]></category>
		<category><![CDATA[เครื่องจักรเรียนรู้]]></category>
		<category><![CDATA[เครื่องประดับ]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[machine learning]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=2594</guid>

					<description><![CDATA[ผมจบวิทย์คอมครับ จบทั้งปอ]]></description>
										<content:encoded><![CDATA[<p>ผมจบวิทย์คอมครับ จบทั้งปอตรีและปอโทเลย แต่ผมกลับเลือกเปิด<a href="http://www.gj.co.th">บริษัทค้าขายเครื่องประดับ</a> ไม่ได้เปิดบริษัทคอมพิวเตอร์หรือบริษัทไอทีอย่างที่ควรจะเป็น!!!</p>
<p>อะไรคือเหตุผล?</p>
<p>อันนี้ความคิดเห็นส่วนตัวเลย ผมไม่ชอบงานรับจ้างทำงาน ตลอดชีวิตก็รับจ้างทำงานเป็นพนักงานอยู่แล้ว ดังนั้น ถ้าออกมาเปิดบริษัท ผมก็หวังว่าผมจะหันมาเอาดีทางด้านค้าขายบ้าง</p>
<p>เราต้องทราบความจริงก่อนว่า ถ้าเราเก่งคอมพิวเตอร์ เก่งมาก ๆ การทำมาหากินที่ดีที่สุด คือรับจ้างทำงานด้านคอมพิวเตอร์ให้แก่บุคคลหรือหน่วยงานที่เขาทำไม่เป็น เพราะต้นทุนในการทำกิจการของเราจะต่ำมาก มันคือการใช้ความรู้ที่มีเพื่อทำงาน ไม่ต้องกักตุนสินค้า ไม่ต้องมีต้นทุนขาย ไม่ต้องมีงบโฆษณา</p>
<p>เมืองไทยเรามีกิจการทางคอมพิวเตอร์หรือไอทีไม่มากนัก ที่สามารถผลักดันตนเองจนไม่ต้องรับจ้างทำงาน แล้วสามารถคิดค้นพัฒนาสินค้าหรือบริการเพื่อขายให้กับลูกค้าได้</p>
<p>อีกอย่างหนึ่ง อันนี้จากประสบการณ์เลยก็คือ การพัฒนาทางไอทีหรือคอมพิวเตอร์เพื่อให้มันมีเทคโนโลยีที่สูงส่งขึ้นเรื่อย ๆ มันมีต้นทุนที่สูง สูงกว่าการเอาไอทีหรือคอมพิวเตอร์ไปพัฒนาด้านอื่น</p>
<p>นี่จึงเป็นที่มาของความคิดของผม ที่คิดว่า ผมน่าจะเอาความรู้ทางคอมพิวเตอร์ มาพัฒนาด้านเครื่องประดับบ้าง เพราะวงการด้านนี้ยังไม่ถูกพัฒนาให้ก้าวหน้าด้านคอมพิวเตอร์เท่าไหร่นัก</p>
<p>ที่ผ่านมา ได้มีการนำเทคโนโลยีทางคอมพิวเตอร์มาใช้ในวงการเครื่องประดับอยู่บ้าง ได้แก่ การคิดค้นพัฒนาโปรแกรมคอมพิวเตอร์เพื่อช่วยออกแบบเครื่องประดับในรูปแบบ 3 มิติ การประยุกต์เครื่องพิมพ์สามมิติเพื่อการพิมพ์แบบขี้ผึ้งของเครื่องประดับ หรือการคิดค้นเครื่องจักรตัดแต่งชิ้นงานด้วยแสงเลเซอร์ซึ่งควบคุมด้วยคอมพิวเตอร์</p>
<p>แต่งานทางด้านปัญญาประดิษฐ์กลับยังไม่ก้าวหน้ามากนักในวงการเครื่องประดับ ซึ่งส่วนตัวผมเห็นว่ายังมีปัญหาหลาย ๆ อย่างในวงการเครื่องประดับที่น่าจะแก้ไขได้ด้วยปัญญาประดิษฐ์</p>
<p>ทีนี้ก็ต้องมาเข้าใจอย่างหนึ่งว่า เครื่องประดับจริง ๆ แล้วประกอบด้วยวัสดุ 2 ส่วนใหญ่ ๆ คือ ตัวเรือน กับ อัญมณี ซึ่งคนส่วนใหญ่มักจะมีปัญหาว่า จะรู้ได้อย่างไรว่าตัวเรือนเป็นโลหะมีค่าที่มีเปอร์เซ็นต์โลหะถูกต้อง ในขณะเดียวกัน เราจะรู้ได้อย่างไรว่าอัญมณีที่ประดับอยู่เป็นชนิดใดและเป็นของแท้หรือเปล่า</p>
<p>ส่วนตัวผม ผมไม่สนใจปัญหาเรื่องตัวเรือน เพราะมันมีวิธีตรวจที่ไม่ยากมากนัก ผมจึงหันมาสนใจในปัญหาของอัญมณีที่ประดับแทน</p>
<p>คนส่วนใหญ่มักไม่รู้จักชนิดของอัญมณี อาจจะรู้คร่าว ๆ ว่าจำแนกได้เป็น 2 ประเภทใหญ่ ๆ คือ เพชร และ พลอย ซึ่งส่วนใหญ่ก็มักจะรู้จักชนิดของพลอยไม่เยอะ คืออาจจะรู้จักแต่ตัวดัง ๆ เช่น ทับทิม ไพลิน บุษราคัม หรือ มรกต เป็นต้น (ความจริงแล้วพลอยมีถึง 16 ตระกูลใหญ่ และมีชื่อเรียกมากมาย) อีกทั้งยังไม่รู้ด้วยว่าเป็นของแท้หรือของปลอม</p>
<p>ว่ากันตามจริงแล้ว ผมเองก็เรียนวิชา &#8220;จำแนกพลอยสี&#8221; มาเหมือนกัน ดังนั้น ถ้าเป็นตัวผม หมายถึงตัวผมเองอ่ะนะ ผมจะสามารถตรวจสอบได้ โดยใช้ความชำนาญที่มี บวกกับเครื่องมือเฉพาะอีกสองสามอย่าง ก็สามารถบอกได้แล้วว่าพลอยชนิดนั้นเป็นชนิดใด และเป็นของแท้หรือของเทียม</p>
<p>แต่ความรู้แบบนี้ หมายถึงความรู้ในการจำแนกพลอยสี มันเป็นเรื่องเฉพาะบุคคล มันเป็นเรื่องของความชำนาญ ซึ่งถ้าไม่อยากให้มันเป็นเพียงเรื่องเฉพาะบุคคล เราก็ต้องเอาระบบคอมพิวเตอร์เข้ามาช่วย เราต้องมอบความรู้ให้คอมพิวเตอร์ เราต้องสร้างโปรแกรมคอมพิวเตอร์มาช่วยจำแนก และเบื้องหลังของโปรแกรมคอมพิวเตอร์ มันก็ต้องมี &#8220;อัลกอริทึม&#8221; เป็นตัวผลักดัน</p>
<p>ปัจจุบัน ความรู้ด้านปัญญาประดิษฐ์ได้ก้าวหน้าไปมาก แขนงวิชาปัญญาประดิษฐ์ที่จะเอามาประยุกต์ใช้ในเรื่องนี้ได้ คือ แขนงวิชาเครื่องจักรเรียนรู้ (Machine Learning) แขนงวิชาการทำเหมืองข้อมูล (Data Mining) และแขนงวิชาการประมวลผลภาพ (Image Processing)</p>
<p>วิธีการก็เข้าใจได้ไม่ยากนัก นั่นคือ การให้คอมพิวเตอร์ &#8220;สกัดคุณลักษณะเด่น&#8221; ของข้อมูลออกมา ข้อมูลในที่นี้ก็คงต้องเป็นรูปภาพ รูปภาพหนึ่งรูปสามารถแทนคำได้เป็นล้านคำ ดังนั้น ข้อมูลนำเข้าที่ดีที่สุดก็ต้องเป็นรูปภาพของพลอยที่ต้องการหาคำตอบ โดยคุณลักษณะเด่นที่สกัดได้จากรูปภาพพลอย ก็นำมาทำความสะอาด เกลี่ยข้อมูลให้เท่ากัน จากนั้นก็เอาไปจำแนก แล้วก็ให้คอมพิวเตอร์บอกคำตอบออกมา ว่าเป็นพลอยชนิดใด เอาแค่นี้ก่อนว่าเป็นพลอยชนิดใด ยังไม่ต้องบอกว่าเป็นพลอยแท้หรือพลอยเทียม เพราะตรงนั้น ณ นาทีนี้ คอมพิวเตอร์ยังทำไม่ได้</p>
<p>ดังนั้น จุดสำคัญของงานนี้คือการคิดค้นอัลกอริทึมในการ &#8220;สกัดคุณลักษณะเด่น&#8221; ส่วนจุดสำคัญรองลงมาคือการสะสมรูปถ่ายพลอยที่มีคุณภาพ เพื่อใช้ในขั้นตอนการ &#8220;สกัดคุณลักษณะ&#8221; เพื่อเรียนรู้ และจุดสำคัญสุดท้ายที่สำคัญไม่แพ้กัน คือ ต้องมีผู้เชี่ยวชาญที่จะชี้วัดได้ในขั้นตอนเรียนรู้ ว่าคำตอบที่จำแนกได้ถูกต้องหรือเปล่า เพื่อจะได้ป้อนกลับให้ระบบได้เรียนรู้ ได้ปรับค่าการจำแนก และทำนายได้อย่างแม่นยำต่อไป</p>
<p>คุณ <a href="http://www.andrewng.org/">Andrew Ng</a> ซึ่งเก่งมากทางด้านปัญญาประดิษฐ์ เขาเคยบอกอยู่อย่างหนึ่งซึ่งผมก็เห็นตรงกัน นั่นก็คือ ตอนนี้เปเปอร์งานวิจัยทฤษฎีทางด้านปัญญาประดิษฐ์มีมากพอแล้ว ให้เพลา ๆ มือกันหน่อย แล้วหันไปสร้างของเจ๋ง ๆ ขึ้นมาด้วยทฤษฎีที่ตอนนี้มีอยู่เยอะแยะแทน</p>
<p>และตอนนี้ ผมก็กำลังทำตาม<a href="http://www.gj.co.th">แนวทาง</a>นี้อยู่เหมือนกัน!!!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/2594/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>สาเหตุที่ไม่ค่อยชอบ Neural Network ซักเท่าไหร่</title>
		<link>https://www.parinya.net/node/2452</link>
					<comments>https://www.parinya.net/node/2452#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Sun, 01 Jan 2017 04:59:43 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<category><![CDATA[neural network]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=2452</guid>

					<description><![CDATA[เห็นทุกวันนี้งานทางด้าน A]]></description>
										<content:encoded><![CDATA[<p>เห็นทุกวันนี้งานทางด้าน AI ใช้ Neural Network มากขึ้นเรื่อย ๆ ซึ่งโดยส่วนตัวแล้วไม่ค่อยชอบโมเดลปัญญาประดิษฐ์แบบ Neural Network ซักเท่าไหร่ เพราะ &#8230;</p>
<figure id="attachment_2453" aria-describedby="caption-attachment-2453" style="width: 474px" class="wp-caption aligncenter"><a href="https://www.parinya.net/wp-content/uploads/2017/01/15723468_10155641312277586_5303280927547259387_o.jpg"><img fetchpriority="high" decoding="async" class="size-large wp-image-2453" src="https://www.parinya.net/wp-content/uploads/2017/01/15723468_10155641312277586_5303280927547259387_o-683x1024.jpg" alt="Model Neural Network แบบต่าง ๆ" width="474" height="711" srcset="https://www.parinya.net/wp-content/uploads/2017/01/15723468_10155641312277586_5303280927547259387_o-683x1024.jpg 683w, https://www.parinya.net/wp-content/uploads/2017/01/15723468_10155641312277586_5303280927547259387_o-200x300.jpg 200w, https://www.parinya.net/wp-content/uploads/2017/01/15723468_10155641312277586_5303280927547259387_o-768x1152.jpg 768w, https://www.parinya.net/wp-content/uploads/2017/01/15723468_10155641312277586_5303280927547259387_o.jpg 1000w" sizes="(max-width: 474px) 100vw, 474px" /></a><figcaption id="caption-attachment-2453" class="wp-caption-text">Model Neural Network แบบต่าง ๆ</figcaption></figure>
<ol>
<li> แปลความยาก คือเวลามันเรียนรู้แล้วสร้างเส้นแบ่ง เส้นแบ่งมันเป็นเส้นโค้ง โค้งไปมาตามข้อมูลที่มันเรียน มันเลยไม่มีความเป็นกลาง ลองนึกถึงว่าเราตีเส้นตรงเพื่อแบ่งเขต เรายังตีความง่าย แต่พอมันโค้ง เราต้องตีความว่าทำไมมันโค้ง มันหลบทำไม มันมีอะไรพิเศษถึงต้องโค้งหลบ (มัน<span class="text_exposed_show">เหมือนทางด่วนที่สร้างหลบบ้านคนรวยมั้ย)</span></li>
<li>ถ้าอยากได้เส้นแบ่งเป็นเส้นตรง ก็ต้องเลือกใช้ Neural Network แบบ Perceptron แต่มุมเอียงของเส้นตรงที่แบ่งข้อมูล ก็จะเอียงแบบไม่มีหลักการ ถ้าเอาไปเทียบกับ Linear Support Vector Machine หรือ Linear Discriminant Analysis พวกนั้นยังตีเส้นตรงแบ่งแบบมีหลักการกว่าเยอะ</li>
<li>มันช้า แต่ล่ะ epoch แปรผันตรงกับ node และ layer ยิ่งเยอะ ยิ่งช้า</li>
<li>โมเดลมันเป็นแบบปลายเปิด คือ ไม่รู้ว่าจะต้องออกแบบ Hidden Layer หรือ Recurrent Layer หรือ Kernel Layer กี่ node หรือกี่ layer ถึงจะเหมาะกับปัญหาที่จะแก้ ต้องลองผิดลองถูกไปเรื่อยๆเอง</li>
<li>การสุ่มค่าน้ำหนักเริ่มต้น เป็นไปตามดวง สุ่มไม่ดีเรียนรู้ช้า สุ่มดีเรียนรู้เร็ว</li>
<li>ต้องใช้ข้อมูลเพื่อเรียนรู้เยอะมาก กว่าจะแบ่งเขตข้อมูลได้อย่างเหมาะสม</li>
</ol>
<div class="text_exposed_show">
<p>ไม่รู้คนอื่นเจอแค่ไหน แต่ที่ส่วนตัวเคยสัมผัสมา ก็ประมาณนี้</p>
<p>แต่ก็ไม่ใช่ว่า Neural Network จะไม่มีอะไรดีเลยในสายตาผมนะ ผมยังมองว่ามันมีจุดดีอยู่บ้าง ซึ่งเป็นจุดที่ผมชอบมาก ๆ เลย</p>
<p>นั่นก็คือ เมื่อสร้าง Model Neural Network ขึ้นมา แล้วสอนมันจนได้ประสิทธิผลที่พอใจแล้ว เราก็ไม่จำเป็นจะต้องสนใจกับข้อมูลที่สอนอีกต่อไป สนใจเฉพาะโมเดลที่ได้ก็พอ</p>
<p>จากนั้นก็เอาโมเดลที่ได้ ไปใช้งานอย่างอื่นต่อไป (ผมเคยเปรย ๆ ไว้ว่ามันเป็นแบบที่สองในหัวข้อ<a href="https://www.parinya.net/node/2168">วิธีทำให้คอมพิวเตอร์คิดเองได้</a>) ซึ่งมันเป็นอะไรที่ประหยัดพื้นที่จัดเก็บมาก ๆ เลยล่ะ</p>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/2452/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>การพิสูจน์ผลการ Predict และ Mining ด้วย Domain Expert</title>
		<link>https://www.parinya.net/node/1933</link>
					<comments>https://www.parinya.net/node/1933#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Fri, 18 Jul 2014 15:48:19 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<category><![CDATA[domain expert]]></category>
		<category><![CDATA[internal indices]]></category>
		<category><![CDATA[mining]]></category>
		<category><![CDATA[predict]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=1933</guid>

					<description><![CDATA[ผมเชื่อมาตลอดว่างานวิจัยท]]></description>
										<content:encoded><![CDATA[<p>ผมเชื่อมาตลอดว่างานวิจัยทางด้าน Predict ง่ายกว่าทางด้าน Mining เพราะงานวิจัยทาง Predict ส่วนใหญ่แล้วพิสูจน์ได้ด้วยการหา ROC curve จะมีส่วนน้อยเท่านั้นที่ต้องใช้ Domain Expert เข้ามาช่วย เช่น งานทางด้าน Facial Recognition เป็นต้น</p>
<p>ในขณะที่งานวิจัยทางด้าน Mining ส่วนใหญ่แล้วต้องพิสูจน์ด้วย Domain Expert เพราะการหาความรู้จากข้อมูล มันไม่สามารถพิสูจน์ได้ถ้าไม่มีผู้เชี่ยวชาญมาตัดสินว่าถูกหรือผิด เช่น ถ้าจะจัดกลุ่มข้อมูลทางด้านโรคภัยไข้เจ็บ พอจัดกลุ่มได้ก็ต้องให้หมอมาตัดสิน หรือถ้าจะจัดกลุ่มข้อมูลการออกฤทธิ์ของยา ก็ต้องให้เภสัชกรมาตัดสิน เป็นต้น</p>
<p>การให้ผู้เชี่ยวชาญหรือ Domain Expert มาตัดสินว่าถูกหรือผิดมีต้นทุนที่สูง เพราะอย่างแรกก็คือเราจะไปรู้จัก Domain Expert เหล่านั้นได้ยังไง อย่างสองก็คือจะเอาอะไรมาพิสูจน์ว่าคนเหล่านั้นเป็น Domain Expert จริง และอย่างสามก็คือจะเอาวิธีการเก็บสถิติหรือเก็บผลสำรวจแบบไหน เพื่อมาใช้ประกอบการตัดสินผลการ Mining โดย Domain Expert</p>
<p>เมื่อเป็นเช่นนี้แล้ว มันจึงทำให้ดูเหมือนกับว่า งานวิจัยทางด้าน Mining ค่อนข้างจะโน้มเอียงไปในทางสังคมศาสตร์อยู่ไม่น้อย!!!</p>
<p>จริง ๆ แล้วผมก็เห็นงานวิจัยหลายชิ้นที่พยายามหนีการพิสูจน์ด้วย Domain Expert โดยการใช้ Internal Indices เข้ามาช่วย เช่นการพิสูจน์ว่าผลการจัดกลุ่มถูกต้องมั้ย โดยการพิสูจน์ย้อนกลับว่าสมาชิกในแต่ล่ะกลุ่ม เกาะกลุ่มกันใกล้ศูนย์กลางจริงหรือเปล่า ซึ่งแล้วไงล่ะ? มันก็แค่พิสูจน์ว่ามันเกาะกลุ่มจริง แต่มันก็ยังคงพิสูจน์ไม่ได้อยู่ดีว่าการเกาะกลุ่มของมัน สมเหตุสมผลกับสภาวะความเป็นจริงหรือเปล่า จนกว่าจะมี Domain Expert มาตัดสินมัน</p>
<p>ผมกำลังคิดว่า มันน่าจะมีวิธีพิสูจน์ผลการ Mining แบบกลาง ๆ ซึ่งอยู่ระหว่างวิธีใช้ Domain Expert กับวิธีใช้ Internal Indices ซึ่งต้องดูกันต่อไป</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1933/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>การปรับปรุงประสิทธิภาพของ Hidden Markov Models</title>
		<link>https://www.parinya.net/node/1873</link>
					<comments>https://www.parinya.net/node/1873#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Thu, 30 Jan 2014 07:04:00 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Assignment]]></category>
		<category><![CDATA[Computation]]></category>
		<category><![CDATA[Literature Review]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<category><![CDATA[สถิติ]]></category>
		<category><![CDATA[แบบจำลอง]]></category>
		<category><![CDATA[Hidden Markov Models]]></category>
		<category><![CDATA[HMM]]></category>
		<category><![CDATA[HMMs]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=1873</guid>

					<description><![CDATA[ผมใกล้ต้องส่งการบ้านอีกแล]]></description>
										<content:encoded><![CDATA[<p>ผมใกล้ต้องส่งการบ้านอีกแล้วและคราวนี้เป็นการทบทวนวรรณกรรมครับ คือแบบว่า การจะทำวิจัยต้องมีการทบทวนวรรณกรรมก่อนครับ เพื่อตรวจสอบว่ามีนักวิจัยท่านอื่นได้วิจัยในหัวข้อที่เราสนใจไปบ้างหรือเปล่า และการวิจัยเหล่านั้นได้ก้าวหน้าไปถึงไหนแล้ว เพื่อให้เราได้วิจัยส่วนที่เป็นช่องโหว่ให้ครบถ้วนสมบูรณ์ต่อไป</p>
<p>ส่วนตัวผมเองก็รู้ทฤษฎีการคำนวณสำหรับคอมพิวเตอร์เพียงไม่กี่เรื่องครับ ดังนั้น ก็เลยต้องเลือกทบทวนวรรณกรรมในหัวข้อที่ตนเองถนัดที่สุด นั่นคือ แบบจำลองทางสถิติที่ชื่อว่า Hidden Markov Models และเพื่อให้ไม่เป็นการเสียเวลา มาลองอ่านงานทบทวนวรรณกรรมฉบับร่างของผมดูกันครับ</p>
<p><strong><b>ทบทวนวรรณกรรม</b></strong></p>
<p>นับตั้งแต่งานวิจัย Hidden Markov Model [1][2][3][4] ซึ่งเป็นโมเดลที่เหมาะกับการอนุมานความน่าจะเป็นของลำดับที่ซ่อนอยู่ โดยการวิเคราะห์จากลำดับที่สังเกตได้ ๆ ถูกตีพิมพ์เผยแพร่ออกสู่สาธารณชน และ มีงานวิจัย [5][6][7] ที่ได้บุกเบิกนำ Hidden Markov Models มาปรับใช้สำหรับงานด้าน Speech Recognition เพื่อเปรียบเทียบระหว่างเสียงพูดกับชุดข้อความอย่างมีประสิทธิภาพ ก็ได้ทำให้ Hidden Markov Models กลายเป็นโมเดลที่ถูกประยุกต์ใช้อย่างกว้างขวาง ในการแก้ปัญหาต่าง ๆ ที่เกี่ยวกับการอนุมานความน่าจะเป็นของลำดับที่ซ่อนอยู่ โดยการวิเคราะห์จากลำดับที่สังเกตได้ เช่น งานวิจัย [8] การจับคู่สายรหัสพันธุกรรม ซึ่งเป็นงานด้าน Bioinformatics, งานวิจัย [9] [10][11] การจับคู่ระหว่างข้อความกับรูปแบบของการวาดมือ ซึ่งเป็นงานด้าน Gesture Recognition, งานวิจัย [12] การหาทิศทางเดินให้กับหุ่นยนต์ในสภาพแวดล้อมปิดในอาคาร ซึ่งเป็นงานด้าน Robotics, งานวิจัย [13] [14] [15] ตรวจสอบการบุกรุกระบบคอมพิวเตอร์ ซึ่งเป็นงานด้าน Computer Security เป็นต้น</p>
<p>โดยพื้นฐานแล้วถ้าเราไม่สนใจประสิทธิภาพในการคำนวณ เราจะพบว่า Hidden Markov Models เป็นโมเดลที่ใช้ประโยชน์ได้ดีและไม่มีปัญหา แต่หากเราสนใจประสิทธิภาพในการคำนวณ เราจะพบว่า Hidden Markov Models มีปัญหาพื้นฐานอยู่ 3 ข้อ อันได้แก่ 1) การหาผลรวมสุทธิของความน่าจะเป็นของโมเดล เมื่อเทียบกับลำดับที่สังเกตได้, 2) การหาลำดับที่ถูกซ่อนในโมเดล ซึ่งให้ค่าความเป็นไปได้สูงสุด เมื่อเทียบกับลำดับที่สังเกตได้ และ 3) การปรับค่าพารามิเตอร์ในโมเดล เพื่อให้โมเดลมีผลรวมสุทธิของความน่าจะเป็นเพิ่มขึ้น</p>
<p><span id="more-1873"></span></p>
<p>สำหรับปัญหาพื้นฐานข้อแรก คือ การหาผลรวมสุทธิของความน่าจะเป็นของโมเดล เมื่อเทียบกับลำดับที่สังเกตได้ ซึ่งโดยพื้นฐานแล้วสามารถใช้วิธีการ Brute Force เพื่อคำนวณหาได้ แต่มันเป็นการคำนวณที่ไม่มีประสิทธิภาพ เพราะใช้เวลาเป็น O(2TN^T) ดังนั้นจึงมีงานวิจัยหลายชิ้นที่นำเสนอวิธีการลดเวลาในการคำนวณ เช่น งานวิจัย [2][3] ที่เสนอให้ใช้เทคนิค Dynamic Programming มาช่วยลดเวลาในการคำนวณ เรียกว่า Forward-Backward Algorithm ซึ่งสามารถลดเวลาในการคำนวณลงเหลือ O(TN^2) และต้องเสียพื้นที่เพิ่มเติมเท่ากับ O(TN), งานวิจัย [16] ที่คิดค้นแปลง Hidden Markov Models ให้เป็น Probabilistic Independent Network เพื่อสะดวกในการคำนวณ ซึ่งสามารถลดเวลาในการคำนวณลงเหลือ O(TN) และต้องเสียพื้นที่เพิ่มเติมเท่ากับ O(TN), งานวิจัย [17] ที่ใช้เทคนิค Divide and Conquer ซึ่งลดเวลาในการคำนวณลงเหลือ O(TN log(N)) และต้องเสียพื้นที่เพิ่มเติมเท่ากับ O(T log (N)) เป็นต้น</p>
<p>สำหรับปัญหาพื้นฐานข้อที่สอง คือ การหาลำดับที่ถูกซ่อนในโมเดล ซึ่งให้ค่าความเป็นไปได้สูงสุด เมื่อเทียบกับลำดับที่สังเกตได้ ซึ่งเป็นปัญหาที่ไม่แตกต่างจากปัญหาแรก นั่นคือ หากคำนวณตรง ๆ ก็จะใช้เวลาเป็น O(2TN^T) เพราะต้องคำนวณให้ครบทุกลำดับที่ซ่อนอยู่ที่เป็นไปได้ จึงจะสามารถเลือกลำดับที่ให้ค่าความน่าจะเป็นสูงสุดมาเป็นผลลัพธ์สำหรับแก้ปัญหาที่สองนี้ และเนื่องจากการแก้ปัญหาแบบนี้ไม่มีประสิทธิภาพ จึงได้มีการประยุกต์ใช้เทคนิคอื่นเพื่อแก้ปัญหา เช่น งานวิจัย [18][19] ซึ่งจัดวางโมเดลให้อยู่ในรูปของ Trellis Diagram และใช้เทคนิค Dynamic Programming ซึ่งเรียกว่า Viterbi Algorithm โดยสามารถลดเวลาคำนวณลงเหลือ O(TN^2) และต้องเสียพื้นที่เพิ่มเติมเท่ากับ O(2TN), งานวิจัย [20][21] ที่นำ Viterbi Algorithm มาต่อยอด โดยการลดรูปของ Trellis Diagram ด้วยวิธีการจัดกลุ่ม State ที่คล้ายกัน ทำให้ลดเวลาการคำนวณลงเหลือ O(TN^2/G^2) และยังเพิ่มประสิทธิภาพเพิ่มเติมด้วยการกำหนด Threshold เพื่อข้ามการคำนวณบาง State ที่ไม่จำเป็น เป็นต้น</p>
<p>สำหรับปัญหาพื้นฐานข้อที่สาม คือ การปรับค่าพารามิเตอร์ในโมเดล เพื่อให้โมเดลมีผลรวมสุทธิของความน่าจะเป็นเพิ่มขึ้น ซึ่งเป็นปัญหาที่ยากที่สุดและไม่มีขั้นตอนวิธีตายตัว โดยนักวิจัยได้แบ่งการค้นคว้ากันไปใน 2 แนวทาง ได้แก่ 1) แบบที่ให้ผลลัพธ์เป็น Local Optimum เช่น งานวิจัย [4] ที่ใช้การประมาณการแบบ Iterative Method ด้วยเทคนิคแบบ Expectation Maximization [22] เรียกว่า Baum-Welch Algorithm, งานวิจัย [23] ที่ใช้เทคนิคการปรับตัวเลข เรียกว่า Gradient Descent Algorithm, งานวิจัย [24] ที่ใช้ Ant Colony Optimization ร่วมกับ Baum-Welch Algorithm และ 2) แบบที่ให้ผลลัพธ์เป็น Global Optimum โดยการใช้ขั้นตอนวิธี Metaheuristic เข้ามาช่วยคำนวณ เช่น งานวิจัย [25][26][27] ที่ใช้ Genetic Algorithm, งานวิจัย [28] ที่ใช้ Particle Swarm Optimization, งานวิจัย [29] ที่ใช้ Modified Gravitational Search Algorithm เป็นต้น</p>
<p>ผู้เขียนวิเคราะห์ว่าแนวโน้มในการแก้ปัญหาพื้นฐานข้อที่สามด้วยวิธี Metaheuristic เพื่อให้ได้ผลลัพธ์เป็น Global Optimum กำลังเป็นที่นิยมแพร่หลายมากขึ้นเรื่อย ๆ เนื่องจากเป็นวิธีการหาคำตอบโดยการสุ่มคำตอบที่ดีที่สุดจากค่าที่เป็นไปได้ทั้งหมดจริง ๆ แทนที่จะใช้วิธีการหาคำตอบที่ดีที่สุดแบบ Local Optimum จากชุดของตัวแทนที่ถูกเลือกมาด้วย Forward-Backward Algorithm ซึ่งคำตอบที่ได้จากตัวแทนอาจจะไม่ใช่คำตอบที่ดีที่สุด เมื่อเทียบกับการหาคำตอบจากค่าที่เป็นได้ทั้งหมด</p>
<p>นอกจากปัญหาในแง่การคำนวณเพื่อให้มีประสิทธิภาพสูงสุดแล้ว ยังมีปัญหาท้าทายอีกอย่างหนึ่งนั่นคือ ปัญหาการออกแบบ Topology ให้มีความเหมาะสม ดังนั้น จึงมีงานวิจัยหลายตัวที่ถูกคิดค้นขึ้น เพื่อการทำให้ Topology ของ Hidden Markov Model มีความหลากหลาย เช่น งานวิจัย [30][31] ที่คิดค้น Hierarchical Hidden Markov Model (HHMM) เพื่อสร้าง Topology ของ Hidden Markov Model ใหม่ โดยการจัดกลุ่มของลำดับที่ซ่อนอยู่ซึ่งมีรูปแบบวนซ้ำ ให้อยู่ในรูปโครงสร้างแบบต้นไม้ จุดประสงค์เพื่อนำไปใช้สำหรับแก้ปัญหาซับซ้อนเชิงโครงสร้างหลายระดับ ที่ Topology แบบเรียงลำดับไม่สามารถแก้ปัญหาได้อย่างมีประสิทธิภาพ หรืองานวิจัย [32] ที่คิดค้น variable-length Hidden Markov Model (VLHMM) ซึ่งเป็น Topology ที่เพิ่ม Context Set เข้ามาช่วยในการคำนวณการเชื่อมโยงของลำดับที่ซ่อนอยู่ จากเดิมที่เคยเชื่อมลำดับที่ซ่อนอยู่ปัจจุบันกับลำดับที่ซ่อนอยู่ก่อนหน้าแบบ First Order ก็ให้เปลี่ยนเป็นลำดับที่สูงกว่า First Order แทน โดยขึ้นกับการคำนวณเพื่อเปลี่ยนแปลงค่าความน่าจะเป็นในโมเดล เพื่อให้โมเดลมีผลรวมของความน่าจะเป็นเพิ่มขึ้น โดยอิงกับลำดับที่สังเกตได้</p>
<p>ผู้เขียนวิเคราะห์ว่าการออกแบบ Topology ให้เหมาะสม จะส่งผลทางอ้อม ทำให้ไม่ต้องแก้ปัญหาพื้นฐานของ Hidden Markov Models ให้ครบทั้ง 3 ข้อ หากแต่เลือกเพียงบางข้อเพื่อแก้ปัญหาก็ได้ เช่น ในงานแก้ปัญหา Speech Recognition ซึ่งมักจะใช้ Topology แบบ Left To Right นั้น ใช้เพียงวิธีแก้ปัญหาพื้นฐานของข้อที่หนึ่งกับข้อที่สามก็เพียงพอแล้ว เนื่องจากรูปแบบของ Topology แบบ Left To Right นั้น ได้บังคับทิศทางของลำดับที่ถูกซ่อนในโมเดลเอาไว้อยู่แล้ว จึงไม่จำเป็นต้องใช้วิธีแก้ปัญหาพื้นฐานของข้อที่สองเพื่อแก้ปัญหาเพิ่มเติมอีก</p>
<p><b>เอกสารอ้างอิง</b></p>
<ol>
<li>L.  E.  Baum, T.  Pretrie.  “<b>Statistical Inference For Probabilistic Functions Of Finite State Markov Chains.</b>”  The Annals of Mathematical Statistics.  (April 1966) : 1554-1563.</li>
<li>L.  E.  Baum, J.  A.  Eagon.  “<b>An inequality with applications to statistical estimation for probabilistic functions Markov processes and to a model for ecology.</b>”  Bull. Amer. Math. Soc.  (1967) : 360-363.</li>
<li>L.  E.  Baum, G.  R.  Sell.  “<b>Growth Transformations For Functions on Manifolds.</b>”  Pacific Journal of Mathematics, vol.  27, No.  2.  (1968) : 211-227.</li>
<li>L.  E.  Baum, et al.  “<b>A maximization technique occurring in the statistical analysis of probabilistic functions of Markov chain.</b>”  The Annals of Mathematical Statistics, vol. 41. No. 1.  (1970) : 164-171.</li>
<li>L.  R.  Rabiner, B.  H.  Juang.  “<b>An Introduction to Hidden Markov Models.</b>”  IEEE ASSP Magazine.  (January 1986) : 4-16.</li>
<li>L.  R.  Rabiner.  “<b>A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition.</b>”  Proceeding of the IEEE, vol. 77, No. 2.  (February 1989) : 257-286.</li>
<li>L.  R.  Rabiner,  B.  H.  Juang.  <b>Fundamentals of speech recognition</b>.  New Jersey : Prentice-Hall Inc, 1993.</li>
<li>Richard Durbin, et al.  <b>Biological sequence analysis: Probabilistic models of proteins and nucleic acids.</b>  New York : Cambridge University Press, 1998.</li>
<li>T.  Starner, A.  Pentland.  “<b>Real-time American Sign Language recognition from video using hidden Markov models.</b>”  Proceeding of the International Symposium on Computer Vision.  (November 1995) : 265-270.</li>
<li>Hyeon-Kyu Lee, Jin H. Kim.  “<b>An</b> <b>HMM-Based Threshold Model Approach for Gesture Recognition.</b>”  IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 21, issue 10.  (October 1999) : 961-973.</li>
<li>Martin J.  “<b>Automatic handwriting gestures recognition using hidden Markov models.</b>”  Proceeding of IEEE International Conference.  (March 2000) : 403-409.</li>
<li>Aycard O.  “<b>Place Learning and recognition using hidden Markov models.</b>”  Proceeding of IEEE/RSJ International Conference, vol. 3.  (September 1997) : 1741-1747.</li>
<li>S.  B.  Cho, S.  J.  Han.  “<b>Two Sophisticated Technique to Improve HMM-Based Intrusion Detection Systems.</b>”  RAID2003, (2003) : 207-219.</li>
<li>T.  Lane, C.  E.  Brodley.  “<b>An Empirical Study of Two Approaches to Sequence Learning for Anomaly Detection.</b>”  Machine Learning, 51 (2003) : 73-107.</li>
<li>C.  Warrender, et al.  “<b>Detecting Intrusions Using System Calls: Alternative Data Models.</b>”  Proceedings of the IEEE Computer Society Symposium on Research in Security and Privacy, (1999) : 133–145.</li>
<li>P.  Smyth, D.  Heckerman, M.  Jordan.  “<b>Probabilistic Independence Networks for Hidden Markov Probability Models.</b>”  Technical Report MSR-TR-96-03, Microsoft Research, Redmond, Washington, (1996).</li>
<li>J.  Binder, K.  Murphy, S.  Russell.  “<b>Space-efficient inference in dynamic probabilistic networks.</b>”  Proceedings of 5<sup>th</sup> IJCAI97, vol.  2, (1997) : 1292-1296.</li>
<li>J.  Viterbi.  “<b>Error bounds for convolutional codes and anasymptotically optimal decoding algorithm.</b>”  IEEE Trans.  Informat.  Theory, vol.  IT-13,  (April 1967) : 260-269.</li>
<li>G.  D.  Forney.  “<b>The Viterbi algorithm.</b>”  Proc.  IEEE, vol. 62.  (March 1973) : 268-278.</li>
<li>Y.  Fujiwara, Y.  Sakurai, M.  Yamamuro.  “<b>SPIRAL: Efficient and Exact Model Identification for Hidden Markov Models.</b>”  KDD’08, (August 2008) : 247-255.</li>
<li>Y.  Fujiwara, Y.  Sakurai, M.  Kitsuregawa.  “<b>Fast Likelihood Search for Hidden Markov Models.</b>”  ACM Transaction Knowledge Discovery from Data, vol.  3, no.  4, Article 18, (November 2009) : 1-37.</li>
<li>P.  Dempster, N.  M.  Laird and D.  B.  Rubin.  “<b>Maximum Likelihood from incomplete data via the EM algorithm.</b>”  J.  Roy.  Stat.  Soc., vol.  39, no.  1.  (1977) : 1-38.</li>
<li>S.  E.  Levinson, L.  R.  Rabiner, M.  M.  Sondhi.  “<b>An introduction to the application of the theory of probabilistic functions of a Markov process to automatic speech recognition.</b>”  Bell System Technical Journal.  62 (1983) : 1035-1074.</li>
<li>Q.  Wang, S.  Ju.  “<b>ACO-based BW algorithm for parameter estimation of hidden Markov models.</b>”  International Journal of Computer Applications in Technology, vol.  41, issue 3/4, (September 2011) : 281-286.</li>
<li>Fang Sun, Guangrui Hu.  “<b>Speech recognition based on genetic algorithm for training HMM.</b>”  Electronics Letters, vol.  34, 16 (August 1998) : 1563-1564.</li>
<li>C.  W.  Chau, et al.  “<b>Optimization of HMM by a Genetic Algorithm.</b>”  IEEE ICASSP-97, vol.  3, (1997) : 1727-1730.</li>
<li>Chan, S.  Kwong.  “<b>Analysis of Parallel Genetic Algorithm on HMM based speech recognition system.</b>”  IEEE Conf., (1997) : 1229-1233.</li>
<li>L.  Xue, et al.  “<b>A Particle Swarm Optimization for Hidden Markov Model Training.</b>”  Proceeding of 8th International Conference on Signal Processing, 1 (2006).</li>
<li>A.  R.  Hosseinabadi, M.  R.  Ghaleh, S.  E.  Hashemi.  “<b>Application of Modified Gravitational Search Algorithm to Solve the Problem of Teaching Hidden Markov Model.</b>”  IJCSI, vol.  10, issue 3, no.  2, (May 2013) : 1-8.</li>
<li>S.  Find, Y.  Singer, N.  Tishby.  “<b>The Hierarchical Hidden Markov Model: Analysis and Applications.</b>”  Machine Learning, 32 (1998) : 41-62.</li>
<li>Lin-Yi Chou.  “<b>Techniques to incorporate the benefits of a Hierarchy in a modified hidden Markov model.</b>”  Proceeding of the COLING/ACL06, (July 2006) : 120-127.</li>
<li>Y.  Wang, et al.  “<b>Mining Complex Time-Series Data by Learning Markovian Models.</b>”  Proceeding of the Sixth ICDM06, (2006) : 1136-1140.</li>
</ol>
<p>ก็จบคร่าว ๆ ประมาณนี้ครับ ซึ่งถ้าใครสนใจแบบจำลองทางสถิติที่ชื่อว่า Hidden Markov Models ก็สามารถหาอ่านเพิ่มเติมได้ทางเว็บไซต์ต่าง ๆ ครับ แต่ก็เป็นอะไรที่น่าสับสนนิดนึงนะครับ ทางที่ดีถ้าอยากเรียนรู้เร็ว ก็คงต้องให้คนที่แตกฉานในแบบจำลองมาอธิบายนั่นแหล่ะครับถึงจะเข้าใจได้</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1873/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>สื่อถึง Markov Model</title>
		<link>https://www.parinya.net/node/1752</link>
					<comments>https://www.parinya.net/node/1752#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Wed, 16 Jan 2013 06:38:34 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<category><![CDATA[Markov Model]]></category>
		<category><![CDATA[mm]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=1752</guid>

					<description><![CDATA[การจะเข้าใจ Hidden Markov]]></description>
										<content:encoded><![CDATA[<p>การจะเข้าใจ Hidden Markov Model ได้ จำเป็นที่จะต้องศึกษา Markov Model ก่อน ซึ่งการศึกษา Markov Model มันก็เหมือนกับการดูละคร คือมันมีตัวละครหลายตัว แต่ล่ะฉากก็จำเป็นที่จะต้องเดินเรื่องเพื่ออธิบายตัวละครแต่ล่ะตัว ทีนี้ผู้จัดทำละครเขาก็ไม่มีปัญญาจะปูพื้นตัวละครแต่ล่ะตัวพร้อม ๆ กันให้เราดูได้ เพราะพวกเราไม่ได้ดูทีวีที่มีหลายหน้าจอพร้อม ๆ กันแบบ CCTV ที่จะมีภาพของตัวละครแต่ล่ะตัวออกมาโลดแล่นให้เห็นพร้อม ๆ กัน ดังนั้น สิ่งที่ผู้จัดทำละครจะทำก็คือ การทยอยอธิบายตัวละครทีล่ะตัว ทีล่ะฉาก แบบเป็นลำดับ จากนั้น จึงตัดฉากไปมาระหว่างแต่ล่ะเหตุการณ์ของตัวละคร ทำให้คนดูไม่รู้สึกสะดุดไหลลื่น และมีความเข้าใจในตัวละครแต่ล่ะตัวได้</p>
<p>การเข้าใจ Markov Model เองก็เช่นเดียวกัน เพราะผู้อธิบายมักจะใช้วิธีการเล่าเรื่องตัดฉากไปมา ระหว่างตัวโมเดล, ไดอะแกรม, ตัวอย่าง และ สมการคณิตศาสตร์ จึงทำให้บางครั้งถ้าเราตามไม่ทัน เราอาจจะงงได้</p>
<p>มายกตัวอย่าง Markov Model อย่างง่ายกันดีกว่า นั่นคือ Model ของความน่าจะเป็นในการโยนเหรียญหนึ่งเหรียญ โดยมีสถานะที่เป็นไปได้สองสถานะคือ หัว และ ก้อย</p>
<figure id="attachment_1753" aria-describedby="caption-attachment-1753" style="width: 450px" class="wp-caption aligncenter"><a href="https://www.parinya.net/node/1752/c360_2013-01-16-10-44-57" rel="attachment wp-att-1753"><img decoding="async" class="size-full wp-image-1753" title="ภาพที่ 1" alt="C360_2013-01-16-10-44-57" src="https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-44-57.png" width="450" height="180" srcset="https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-44-57.png 450w, https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-44-57-300x120.png 300w" sizes="(max-width: 450px) 100vw, 450px" /></a><figcaption id="caption-attachment-1753" class="wp-caption-text">ภาพที่ 1</figcaption></figure>
<p>Markov Model มีสมมติฐานที่ว่า ความน่าจะเป็นของสถานะปัจจุบัน จะขึ้นกับความน่าจะเป็นของสถานะก่อนหน้า ดังนั้น ก็เลยมีการวาดความหมายออกมาแบบภาพที่ 1 ซึ่งถ้าเป็นคนมีพื้นฐานก็จะเข้าใจได้อย่างลาง ๆ ว่ามันมีการเคลื่อนผ่านอย่างสัมพันธ์กัน, มีการให้ค่าน้ำหนักกับการเคลื่อนผ่าน และ มีการแทนโน่นนี่นั่นด้วยตัวแปรสองมิติ เป็นต้น</p>
<figure id="attachment_1754" aria-describedby="caption-attachment-1754" style="width: 250px" class="wp-caption aligncenter"><a href="https://www.parinya.net/node/1752/c360_2013-01-16-10-45-28" rel="attachment wp-att-1754"><img decoding="async" class="size-full wp-image-1754" title="ภาพที่ 2" alt="C360_2013-01-16-10-45-28" src="https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-45-28.png" width="250" height="168" /></a><figcaption id="caption-attachment-1754" class="wp-caption-text">ภาพที่ 2</figcaption></figure>
<p>ถ้าเราเอาภาพที่ 1 มาทำเป็น Matrix เราก็จะได้เป็นภาพที่ 2 เป็นการย่อภาพแบบ Model ให้กลายเป็นแบบ Matrix ซึ่งจะดูง่ายต่อความเข้าใจมาก ๆ</p>
<figure id="attachment_1755" aria-describedby="caption-attachment-1755" style="width: 250px" class="wp-caption aligncenter"><a href="https://www.parinya.net/node/1752/eq" rel="attachment wp-att-1755"><img loading="lazy" decoding="async" class="size-full wp-image-1755" alt="ภาพที่ 3" src="https://www.parinya.net/wp-content/uploads/2013/01/eq.png" width="250" height="130" /></a><figcaption id="caption-attachment-1755" class="wp-caption-text">ภาพที่ 3</figcaption></figure>
<p>แต่ถึงกระนั้น ก็ยังจำเป็นที่จะต้องอธิบายให้เป็นสมการตามภาพที่ 3 เพื่ออธิบายให้เข้าใจว่า แต่ล่ะแถวของแนวนอนใน Matrix เมื่อบวกรวมกันแล้วต้องได้ค่าเท่ากับ 1 หรือก็คือ ความน่าจะเป็นของการเคลื่อนออกจากสถานะปัจจุบันไปยังสถานะหลาย ๆ อันที่เป็นไปได้ทั้งหมด รวมกันยังไงก็ต้องเท่ากับ 1</p>
<figure id="attachment_1756" aria-describedby="caption-attachment-1756" style="width: 450px" class="wp-caption aligncenter"><a href="https://www.parinya.net/node/1752/c360_2013-01-16-10-46-56" rel="attachment wp-att-1756"><img loading="lazy" decoding="async" class="size-full wp-image-1756" alt="ภาพที่ 4" src="https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-46-56.png" width="450" height="104" srcset="https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-46-56.png 450w, https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-46-56-300x69.png 300w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a><figcaption id="caption-attachment-1756" class="wp-caption-text">ภาพที่ 4</figcaption></figure>
<p>และยังต้องใช้สมการเพื่ออธิบายในภาพที่ 4 เพื่อให้เข้าใจว่าความน่าจะเป็นของแต่ล่ะเส้นทางมันมาได้ยังไง ซึ่งอ่านแล้วก็ดูเข้าใจยากมาก แต่แปลได้ง่าย ๆ ว่า ความน่าจะเป็นจะเกิดขึ้นได้ ต่อเมื่อมีการเคลื่อนจากสถานะหนึ่งไปยังอีกสถานะหนึ่งนั่นแหล่ะ</p>
<figure id="attachment_1757" aria-describedby="caption-attachment-1757" style="width: 150px" class="wp-caption aligncenter"><a href="https://www.parinya.net/node/1752/c360_2013-01-16-10-47-15" rel="attachment wp-att-1757"><img loading="lazy" decoding="async" class="size-full wp-image-1757" alt="ภาพที่ 5" src="https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-47-15.png" width="150" height="149" /></a><figcaption id="caption-attachment-1757" class="wp-caption-text">ภาพที่ 5</figcaption></figure>
<p>แต่กระนั้นก็ตาม สมมติฐานของ Markov Model ที่ว่า ความน่าจะเป็นของสถานะปัจจุบัน จะขึ้นกับความน่าจะเป็นของสถานะก่อนหน้านั้น มันยังไม่ถูกทั้งหมด เพราะต้องไม่ลืมว่าทุกอย่างมันต้องมีการเริ่มต้น ดังนั้น เราจำเป็นจะต้องคำนึงความน่าจะเป็นของสถานะแรกที่เป็นสถานะตั้งต้นก่อน ซึ่งเป็นสถานะหยุดนิ่ง และไม่ได้เคลื่อนไปยังสถานะอื่นใดเลย โดยการทำความเข้าใจด้วย Matrix แบบภาพที่ 5</p>
<p>ทีนี้เมื่อเราได้ Model เอย สมการเอย และ Matrix เอยมาเรียบร้อยแล้ว จากนั้นเราก็จำเป็นที่จะต้องมาเข้าใจถึง &#8220;ความเป็นไปได้&#8221; ในการเกิด &#8220;ความน่าจะเป็น&#8221; อีกทีนึง</p>
<figure id="attachment_1758" aria-describedby="caption-attachment-1758" style="width: 450px" class="wp-caption aligncenter"><a href="https://www.parinya.net/node/1752/c360_2013-01-16-10-47-31" rel="attachment wp-att-1758"><img loading="lazy" decoding="async" class="size-full wp-image-1758" alt="ภาพที่ 6" src="https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-47-31.png" width="450" height="227" srcset="https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-47-31.png 450w, https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-47-31-300x151.png 300w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a><figcaption id="caption-attachment-1758" class="wp-caption-text">ภาพที่ 6</figcaption></figure>
<p>จากภาพที่ 6 ซึ่งถูกเรียกด้วยศัพท์เทคนิคว่า Trellis Diagram เผยให้เราเห็นว่า ในแต่ล่ะครั้งที่เราโยนเหรียญ มันมี &#8220;ความเป็นไปได้&#8221; ทั้งหมดในเส้นทางที่จะเกิด &#8220;ความน่าจะเป็น&#8221; ยังไงบ้าง ซึ่งภาพที่ 6 นี้สอดคล้องกับภาพที่ 1 คือ ภาพที่ 1 อธิบายในแง่ของการไหลเวียนแบบหยินหยาง ในขณะที่ภาพที่ 2 อธิบายในแง่ของการไหลเวียนตามแกนเวลา</p>
<p>สุดท้าย เมื่อเราเข้าใจในการไหลเวียนแบบหยินหยาง และ เข้าใจในการไหลเวียนตามแกนเวลาแล้ว เราก็จะมาจบที่สมการคณิตศาสตร์ง่าย ๆ ตามภาพที่ 7</p>
<figure id="attachment_1759" aria-describedby="caption-attachment-1759" style="width: 450px" class="wp-caption aligncenter"><a href="https://www.parinya.net/node/1752/c360_2013-01-16-10-47-49" rel="attachment wp-att-1759"><img loading="lazy" decoding="async" class="size-full wp-image-1759" alt="ภาพที่ 7" src="https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-47-49.png" width="450" height="136" srcset="https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-47-49.png 450w, https://www.parinya.net/wp-content/uploads/2013/01/C360_2013-01-16-10-47-49-300x90.png 300w" sizes="auto, (max-width: 450px) 100vw, 450px" /></a><figcaption id="caption-attachment-1759" class="wp-caption-text">ภาพที่ 7</figcaption></figure>
<p>สมการในภาพที่ 7 ได้อธิบายถึง &#8220;ความเป็นไปได้&#8221; ที่จะเกิด &#8220;ความน่าจะเป็น&#8221; ตาม Trellis Diagram ในภาพที่ 6 ซึ่งสมการนี้ดูแล้วปวดกบาลมาก แต่สามารถแปลได้ใจความง่าย ๆ ว่า ถ้าอยากรู้ความน่าจะเป็นของสถานะปัจจุบัน ก็เอาความน่าจะเป็นของสถานะก่อนหน้าซึ่งเป็นไปได้ทั้งหมดมาคูณกันซะ (หรืออาจะมีบวกด้วยถ้าจำเป็น) แล้วพอคำนวณกันเสร็จแล้วก็ไปคูณกับสถานะตั้งต้นนู่น แค่นี้ก็จะรู้ความน่าจะเป็นของสถานะปัจจุบันแล้ว</p>
<p>สรุปที่อยากจะบอกก็คือ อ่านพวกนี้ต้องมองให้เหมือนดูละคร มันมีตัดฉากไปมาหลายที ต้องอ่านแล้วเข้าใจตามมันทัน</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1752/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>เรื่องจริงเกี่ยวกับ Neural Network ที่ไม่ค่อยมีใครบอก</title>
		<link>https://www.parinya.net/node/1690</link>
					<comments>https://www.parinya.net/node/1690#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Fri, 27 Apr 2012 15:05:37 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<category><![CDATA[artificial neural network]]></category>
		<category><![CDATA[เรื่องจริง]]></category>
		<category><![CDATA[ไม่มีใครบอก]]></category>
		<category><![CDATA[neural network]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=1690</guid>

					<description><![CDATA[ช่วงนี้ผมกำลังอ่านหนังสือ]]></description>
										<content:encoded><![CDATA[<p>ช่วงนี้ผมกำลังอ่านหนังสือชื่อ Neural Network Design แต่งโดย Hagan, Demuth และ Beale เป็นการอ่านแบบจริงจังไม่จิงโจ้ อ่านเพื่อหวังจะเอาไปต่อยอดทำวิจัย ไม่ได้อ่านแบบไก่กา ผิวเผิน ลวก ๆ เพื่อเอาไปสอบแล้วก็ลืม ๆ ไปอะไรแบบนั้น</p>
<p>คนนอกที่ไม่เคยเรียนรู้ Neural Network แต่มีความสนใจก็จะเข้าใจไปแบบนึง ส่วนคนในที่ได้เรียนรู้แล้วก็เข้าใจอีกแบบนึง ดังนั้น มาเรียบเรียงความเข้าใจที่เป็นความจริงเกี่ยวกับ Neural Network กันดีกว่า</p>
<ul>
<li>Neural Network เป็นชื่อเรียกสั้น ๆ ถ้าเป็นเต็ม ๆ เขาเรียกกันว่า Artificial Neural Network หรือว่า ANN</li>
<li>จริง ๆ แล้ว Neural Network เป็นโมเดลทางคณิตศาสตร์ แต่คนคิดค้นเขาอยากจะให้เข้าใจง่าย ๆ เขาเลยวาดออกมาเป็นรูปภาพ</li>
<li>คณิตศาสตร์ที่ใช้เกี่ยวกับ Neural Network จะเป็นพีชคณิตเชิงเส้น, เมตริกซ์ และ เวกเตอร์</li>
<li>Neural Network มาเกี่ยวกับสาขาวิชา Computer Science เพราะมันเป็นโมเดลที่ช่วยแก้ปัญหาทางด้าน Machine Learning ซึ่งเป็นแขนงวิชาย่อยของแขนงวิชา Artificial Intelligence ได้</li>
<li>เราสามารถทำความเข้าใจ Neural Network ได้หลายวิธี ไม่ว่าจะเป็นการทำความเข้าใจผ่านรูปภาพโมเดล, ผ่านสมการ Summation, ผ่าน Matrix หรือแม้แต่ผ่านรูปภาพปริภูมิ 2 มิติหรือ 3 มิติ สรุปคือแล้วแต่จริตของใครว่าจะถนัดแบบไหน เพราะเข้าใจแบบไหนก็ได้ผลลัพธ์เหมือนกัน เช่นบางคนไม่เคยเรียน Matrix มาก่อน แต่อาจจะเข้าใจด้วยสมการ Summation ก็ได้ เป็นต้น</li>
<li>มีนักวิจัยเยอะแยะในโลกใบนี้ ที่พยายามคิดค้น Neural Network ในรูปแบบต่าง ๆ บางรูปแบบก็ไม่เป็นที่นิยม บางรูปแบบเคยเป็นที่นิยมแต่ล้าสมัยแล้ว บางรูปแบบก็แก้ปัญหาได้บางเรื่องแต่บางเรื่องก็แก้ไม่ได้ บางรูปแบบยังต้องต่อยอดไปอีกหลายขุมถึงจะใช้ได้</li>
<li>การวิจัย Neural Network รูปแบบใหม่ ๆ เป็นเรื่องยาก นักวิจัยส่วนใหญ่เลยเลือกจะเอา Neural Network รูปแบบที่มีคนคิดขึ้นแล้ว มาประยุกต์เพื่อแก้ปัญหาต่าง ๆ แทน</li>
<li>Neural Network เป็นโมเดลทางคณิตศาสตร์ ดังนั้น นักวิจัยส่วนใหญ่จึงมักจะใช้ MATLAB เพื่อทำวิจัย เพราะ MATLAB มันเก่งเรื่อง Matrix และการแสดงผลภาพในปริภูมิ 2 มิติและ 3 มิติมาก ๆ แถมยังมีเครื่องมือเกี่ยวกับ Neural Network ในรูปแบบที่เป็นที่นิยมบรรจุอยู่อีกต่างหาก</li>
<li>การทำให้ Neural Network ฉลาดก็คือการสอนมัน แต่เรื่องจริงไม่ได้หมายความว่าเราใช้ปากไปสั่งสอนมัน หรือใช้การเขียนโปรแกรมไปสั่งมันแบบนั้น แต่มันหมายถึงการที่เราป้อนตัวอย่างข้อมูลให้มัน แล้วให้มันถามเรากลับมาว่า &#8220;ใช่&#8221; หรือ &#8220;ไม่ใช่&#8221; หรือ &#8220;เกือบใช่&#8221; หรือ &#8220;เกือบไม่ใช่&#8221; หรือ &#8220;คล้ายจะใช่&#8221; หรือ &#8220;คล้ายจะไม่ใช่&#8221; แล้วให้เราตอบมันกลับไปว่าเออมันต้องอย่างนั้นนะอย่างนี้นะ ให้มันจำของมัน แล้วก็ปรับค่าน้ำหนักไปเรื่อย ๆ</li>
<li>ถ้าจะให้มันฉลาด เราก็ต้องป้อนตัวอย่างข้อมูลให้มันเยอะ ๆ แต่พอเป็นแบบนั้น เราเองก็ขี้เกียจมาตอบมันเหมือนกัน ดังนั้น เราก็ต้องตอบมันไประดับนึง แล้วจากนั้นก็ให้มันตอบคำถามของตัวเอง ให้มันปรับตัวของมันเอง</li>
<li>เคยอ่านเจอที่ไหนไม่รู้เขาบอกว่า ถ้าจะให้ Neural Network ปรับตัวและปรับค่าน้ำหนักจนกระทั่งนึกรู้ได้แม่นยำ เราต้องป้อนตัวอย่างข้อมูลเพื่อสอนมันเป็นล้าน ๆ ชิ้นเลยทีเดียว</li>
<li>นักวิจัยส่วนใหญ่ที่เอา Neural Network ไปทำ Pattern Recognition มักไม่เคยได้ค่่าความแม่นยำเกิน 85% เลย ไม่รู้ทำไมเหมือนกัน?</li>
<li>สุดท้ายนักวิจัยส่วนใหญ่ก็เลยหันเหไปวิจัยแบบผนวก โดยการแก้ปัญหา Pattern Recognition ด้วยการใช้ Neural Network รวมกับ Genetic Programming แทน</li>
</ul>
<p>สรุปแล้ว งานวิจัยทางด้าน Pattern Recognition ล้วนใช้คณิตศาสตร์อย่างเยอะเลยอ่ะ แล้วผมก็อ่อนคณิตศาสตร์ซะด้วยสิ แย่จริง ๆ</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1690/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>การวิจัย Speech Recognition</title>
		<link>https://www.parinya.net/node/1183</link>
					<comments>https://www.parinya.net/node/1183#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Tue, 17 Nov 2009 03:50:13 +0000</pubDate>
				<category><![CDATA[Feature]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<category><![CDATA[WorkFlow]]></category>
		<guid isPermaLink="false">http://www.peetai.com/archives/1183</guid>

					<description><![CDATA[อ่ะ เอาภาพไปดูก่อน งานวิจ]]></description>
										<content:encoded><![CDATA[<p>อ่ะ เอาภาพไปดูก่อน</p>
<div align="center"><img decoding="async" id="image1182" src="https://www.parinya.net/wp-content/uploads/2009/11/speech_recognition.jpg" alt="การวิจัย Speech Recognition" /></div>
<p><span id="more-1183"></span></p>
<p>งานวิจัย Speech Recognition ส่วนใหญ่ จะเน้นในกล่องสีแดงเป็นหลัก บางคนเขาก็เน้นวิจัยในกล่อง &#8220;การสังเคราะห์เสียง&#8221; ส่วนบางคนก็หันไปวิจัยในกล่อง &#8220;การเปรียบเทียบเสียง&#8221; แทน อันนี้แล้วแต่ความชอบส่วนบุคคล</p>
<p>ปัจจุบันเป็นที่ยอมรับกันทั่วไป (ในวงการ) ว่า Best Practice ใน &#8220;การสังเคราะห์เสียงพูด&#8221; ในระบบดิจิทัล ให้กลายเป็นชุดข้อมูลเสียงเพื่อใช้งาน คือการใช้เทคนิค <strong>Linear Predictive Coding Model</strong></p>
<p>ในขณะที่ Best Practice ใน &#8220;การเปรียบเทียบเสียงพูด&#8221; คือการใช้เทคนิค <strong>Hidden Markov Model</strong></p>
<p>ดังนั้นตอนนี้ นักวิจัยส่วนใหญ่เขาก็เลยไม่มานั่งค้นหา Best Practice กันอีกต่อไปแล้ว (เพราะหากันได้แล้ว) แต่เปลี่ยนเป็นค้นหา &#8220;โมเดล&#8221; ที่ดีที่สุด (ของ Best Practice ที่มี) เพื่อใช้ในกล่องสีแดงในภาพข้างบนแทน</p>
<p>โดยส่วนตัวแล้วมองว่า หนทางในการทำ Speech Recognition ภาษาไทยเชิงพาณิชย์ ยังทอดยาวอีกไกลนักกว่าจะถึงจุดหมาย เพราะเคยอ่านผ่านตามาว่า Microsoft เองก็ยังเคยโดนบ่นเรื่อง Speech API ของเขา (ซึ่งอยู่บน Vista) และ Google เองก็ยังเพิ่งจะกวาดต้อนผู้เชี่ยวชาญด้าน Speech Recognition มาเข้าสังกัด เพื่อสร้างระบบค้นหาด้วยเสียงเมื่อไม่นานมานี้</p>
<p>ขนาดยักษ์ใหญ่ทางไอทีของโลก เขายังแทบจะหืดจับกว่าจะเข็น Speech Recognition เชิงพาณิชย์ออกมาได้ งั้นของพี่ไทยเราก็สู้ ๆ ต่อไปแล้วกันครับ <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>[tags]speech recognition, linear predictive coding, best practice, hidden markov model[/tags]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1183/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Universal Image Recognition</title>
		<link>https://www.parinya.net/node/1132</link>
					<comments>https://www.parinya.net/node/1132#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Sun, 21 Jun 2009 15:40:01 +0000</pubDate>
				<category><![CDATA[Pattern Recognition]]></category>
		<guid isPermaLink="false">http://www.peetai.com/archives/1132</guid>

					<description><![CDATA[ปัจจุบัน Search Engine ชื]]></description>
										<content:encoded><![CDATA[<p>ปัจจุบัน Search Engine ชื่อดังล้วนเปิดให้เราค้นหารูปภาพได้ โดยการใส่คำค้นที่เราต้องการลงไป แล้วมันก็จะจัดแจงแสดงภาพที่เกี่ยวข้องกับคำค้นออกมา!!!</p>
<p>แต่ถ้ารูปภาพที่เราต้องการค้นนั้น มันไม่มีคำให้ค้นล่ะ อือม หมายถึง &#8230; ยกตัวอย่างเช่น มีใครซักคนนึงวาดรูปโลโก้ของผลิตภัณฑ์ชนิดหนึ่งมาให้เรา แถมวาดออกมาก็ไม่เหมือนของจริงซะทีเดียว แค่คล้าย ๆ อ่ะ แล้วก็มาถามเราว่าจะค้นจากคอมพิวเตอร์ได้มั้ย? ว่ารูปโลโก้ดังกล่าวมันเป็นของสินค้ายี่ห้ออะไร?</p>
<p>เอ่อ &#8230; งั้นก็คงต้องตอบว่า ไม่ได้อ่ะ ไอ้เจ้า Google กับ Yahoo มันทำไม่ได้ T-T</p>
<p>สาเหตุที่ต้องตอบว่าไม่ได้ก็เพราะว่า การค้นของ Search Engine มันไม่ได้ใช้เทคนิค Pattern Recognition อ่ะดิ แต่ถ้าจะให้มนุษย์ค้นให้ล่ะก็ซำบายมาก เพราะสมองของมนุษย์เรานั้นได้บรรจุกลไกของ Pattern Recognition เอาไว้อย่างเต็มเปี่ยม ต่อให้รูปภาพต้นแบบมันจะบิดเบี้ยว บู้บี้ โย้เย้ ผิดรูป หรือ ผิดสี เพียงไร มนุษย์ก็จะสามารถเดาได้ลาง ๆ อยู่ดีว่ามันน่าจะเป็นรูปภาพอะไร!!!</p>
<p><span id="more-1132"></span></p>
<p>อือม แต่จากประสบการณ์ที่เคยทำ Pattern Recognition มาต้องขอบอกว่า ไอ้การทำ Pattern Recognition นั้น มันค่อนข้างจะกินทรัพยากรของคอมพิวเตอร์น่าดู เพราะมันไม่เหมือนกับการค้นหาคำ ที่เราสามารถใช้รหัส UTF-8 (สามไบต์) หรือ UTF-16 (สองไบต์) ในการเป็นสิ่งบ่งจำเพาะสำหรับค้นหาได้โดยตรง เนื่องจากการทำ Pattern Recognition นั้น เราจำเป็นที่จะต้องหา &#8220;ชุดตัวเลข&#8221; ของสิ่งบ่งจำเพาะ เพื่อใช้สำหรับเป็นเอกลักษณ์ของ Pattern นั้น ๆ และหนำซ้ำ &#8220;ชุดตัวเลข&#8221; ที่คำนวณออกมาได้ ยังอาจจะเป็นชุดตัวเลขสองมิติอีกต่างหาก ซึ่งถึงแม้มันจะช่วยให้ Pattern มีเอกลักษณ์โดดเด่นขึ้น แต่นั่นก็หมายถึงความสาหัสของการประมวลผลที่มากขึ้นเป็นทวีคูณ!</p>
<p>ประเด็นถัดมาก็คือเทคโนโลยีที่จะต้องใช้ เนื่องจากรูปภาพที่จะใช้ในการค้นนั้น มันเป็นได้หลายอย่าง ไม่ว่าจะเป็นรูปภาพของโลโก้, วิวทิวทัศน์, ลายมือ, ลายเซ็น หรือ หน้าคน เป็นต้น ซึ่ง Pattern เหล่านี้ล้วนใช้เทคโนโลยีที่แตกต่างกัน ยกตัวอย่างเช่น ถ้าจะค้นรูปภาพธรรมดา เราก็สามารถจะใช้เทคโนโลยี Pattern Recognition ได้ แต่ถ้าหากเราจะตรวจรู้ลายเซ็น เราก็จำเป็นต้องใช้เทคโนโลยี Optical Character Recognition หรือหากเราต้องค้นรูปหน้าของคน เราก็ต้องเปลี่ยนไปใช้เทคโนโลยี Facial Recognition เป็นต้น</p>
<p>จากตัวอย่างข้างต้นจะเห็นว่า การจะทำ Universal Image Search Engine นั้นเป็นเรื่องหินชาติพอสมควร เพราะเราต้องใช้เทคโนโลยีหลาย ๆ อย่างเข้ามาช่วย ไม่ว่าจะเป็น &#8230;</p>
<p>1.  แขนงทาง Pattern Recognition เช่น Optical Character Recognition, Digital Image Processing หรือ Optical Mark Recognition เป็นต้น</p>
<p>2.  แขนงทาง Biometrics เช่น Facial Recognition, Iris Recognition หรือ Fingerprint Recognition เป็นต้น</p>
<p>โดยส่วนตัวแล้วมองว่า ถ้าทุกครั้งที่เราต้องการหาคำตอบว่ารูปภาพที่เราอยากค้น มันคือรูปภาพของอะไร? แล้วเราต้องให้คอมพิวเตอร์ใช้ทุกเทคโนโลยีข้างต้น เข้ามารุมตรวจสอบรูปภาพดังกล่าว มันคงจะสาหัสน่าดู ดังนั้นก็เลยคิดว่า มันน่าจะเป็นไปได้ ที่จะสามารถนำเอาเทคโนโลยีทั้งหมดมารวมกัน ให้กลายเป็น Universal Pattern Recognition ได้!!!</p>
<p>ขนาดในทางฟิสิกส์อนุภาค นักวิทยาศาสตร์ยังคิดกันหัวหกก้นขวิด ว่าจะรวมแรงทั้ง 4 อันได้แก่ แรงนิวเคลียร์อย่างอ่อน, แรงนิวเคลียร์อย่างเข้ม, แรงแม่เหล็กไฟฟ้า และ แรงโน้มถ่วง เข้าไว้ด้วยกันได้ยังไง งั้น &#8230; ในทางวิทยาศาสตร์คอมพิวเตอร์ ก็น่าจะสามารถคิดค้นวิธีการรวมเทคโนโลยีการประมวลผลภาพทั้งหลาย เพื่อให้กลายเป็น Universal Image Recognition ได้เหมือนกันอ่ะดิ อิ อิ เอาแบบว่าสมการชุดเดียว ใช้กับรูปภาพได้ทุกรูปแบบไปเลย <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> (สงสัยงานนี้ต้องรอกันอีกนาน)</p>
<p>[tags]Universal, Image, Recognition, Pattern Recognition, Biometrics[/tags]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/1132/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>การประยุกต์เครื่องในมนุษย์ ให้กลายเป็นโมเดลทางคอมพิวเตอร์</title>
		<link>https://www.parinya.net/node/914</link>
					<comments>https://www.parinya.net/node/914#comments</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Thu, 31 Jul 2008 10:15:30 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Pattern Recognition]]></category>
		<guid isPermaLink="false">http://www.peetai.com/archives/914</guid>

					<description><![CDATA[มันมีการประยุกต์และแก้ปัญ]]></description>
										<content:encoded><![CDATA[<p>มันมีการประยุกต์และแก้ปัญหาหลาย ๆ อย่างครับ ที่เราพยายามจะให้คอมพิวเตอร์ช่วย แต่เราก็จนใจเนื่องจากมีตัวแปรเข้ามาเกี่ยวข้องเยอะ อีกทั้งต้องใช้โมเดลทางคณิตศาสตร์และโมเดลทางคอมพิวเตอร์ ซึ่งให้ผลลัพท์ที่แน่นอนในการประมวลผล</p>
<p>หลายครั้งเราจึงพบว่านักวิทยาศาสตร์คอมพิวเตอร์ ก็เลยใช้วิธีเลียนแบบอวัยวะภายในร่างกายมนุษย์ เอามาสร้างเป็นโมเดลทางคณิตศาสตร์และโมเดลทางคอมพิวเตอร์เพื่อแก้ปัญหาซะเลย</p>
<p>ปัจจุบันผมเห็นมีเพียง 3 โมเดลเท่านั้น ที่นักวิทยาศาสตร์สร้างโมเดล โดยการเลียนแบบจากอวัยวะภายในของมนุษย์ ซึ่งได้แก่</p>
<p>1.  <strong>Artificial Neural Network</strong> แขนงวิชาที่พยายามจะทำให้คอมพิวเตอร์ฉลาด คิดเองได้ แล้วก็บังเอิญว่ามนุษย์ใช้สมองในการคิด ดังนั้นน่าจะเป็นการดี หากเราจำลองรูปแบบของเซลสมองให้กลายเป็นโมเดลทางคอมพิวเตอร์ แล้วให้คอมพิวเตอร์คิดได้อย่างที่มนุษย์คิด</p>
<div style="text-align: center"><img decoding="async" id="image916" alt="Neural Network" src="https://www.parinya.net/wp-content/uploads/2008/07/neural_network.jpg" /></div>
<p><span id="more-914"></span></p>
<p>2.  <strong>Speech Recognition</strong> แขนงวิชาที่ศึกษาปัญหาคลาสสิคที่แก้กันมาเกือบ 40 ปี นั่นก็คือจะทำยังไงดีหนอ ให้คอมพิวเตอร์ฟังเราแล้วรู้ว่าเราพูดคำว่าอะไรบ้าง งั้นจะเป็นการดีกว่ามั๊ย ถ้าเราจะจำลองโมเดลทางคอมพิวเตอร์ โดยการเลียนแบบวิธีการเปล่งเสียงจากกระบังลม, ปอด, ช่องคอ, กล่องเสียง, ลิ้นไก่, โพรงปาก, ลิ้น, เพดานปาก, ฟัน และโพรงจมูกซะเลย</p>
<div style="text-align: center"><img decoding="async" alt="ระบบเปล่งเสียง" id="image917" src="https://www.parinya.net/wp-content/uploads/2008/07/vocal_tract.jpg" /></div>
<p>3.  <strong>Genetic Programming</strong> แขนงวิชาซึ่งศึกษาวิธีการที่จะทำให้คอมพิวเตอร์เป็นผู้เขียนโปรแกรม เพื่อค้นหาวิธีการแก้ปัญหาด้วยตัวเอง โดยใช้การจำลองโมเดลจากโครงสร้าง DNA ในมนุษย์ เพราะเห็นว่า DNA คือสารเคมีตั้งต้นที่ทำให้สิ่งมีชีวิตทุกชนิดเกิดการวิวัฒนาการ เพื่อการเจริญพันธุ์ที่เหมาะสมที่สุด สำหรับการดำรงชีวิตของเผ่าพันธุ์ของตน</p>
<div style="text-align: center"><a href="https://www.parinya.net/wp-content/uploads/2008/07/genetic_programming.jpg"><img decoding="async" width="450" id="image918" alt="Genetic Programming" src="https://www.parinya.net/wp-content/uploads/2008/07/genetic_programming.jpg" /></a><br />
(คลิ๊กเพื่อดูภาพขยาย)</div>
<p>จะเห็นว่าแรงบันดาลใจในการสร้างโมเดลทางคอมพิวเตอร์ ส่วนหนึ่งก็มาจากสิ่งไม่ใกล้ไม่ไกลตัวเรา นั่นก็คือจำลองมาจากอวัยวะภายในของมนุษย์เรานั่นเอง</p>
<p>ตอนนี้ยังมีระบบอวัยวะภายในอีกหลายระบบนะที่ยังว่างอยู่ ไม่ว่าจะเป็นระบบทางเดินอาหาร, ระบบหมุนเวียนโลหิต, ระบบขับถ่าย ฯลฯ ถ้าพวกเรามีแรงบันดาลใจกันมากพอ ก็ลองสร้างโมเดลทางคอมพิวเตอร์โดยจำลองจากระบบอวัยวะภายในของเรา ก็ไม่เลวเหมือนกันนะ อิ อิ <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>[tags]ระบบ,อวัยวะภายใน,ระบบคอมพิวเตอร์,โมเดลคอมพิวเตอร์,สมมติฐาน[/tags]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/914/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
