۱۳۸۹ اردیبهشت ۲۴, جمعه

داده کاوی Data mining

مقدمه
در دنیای بشدت رقابتی امروز، اطلاعات بعنوان یکی از فاکتورهای تولیدی مهم
پدیدار شده است. در نتیجه تلاش برای استخراج اطلاعات از داده ها توجه
بسیاری از افراد دخیل در صنعت اطلاعات و حوزه های وابسته را به خود جلب
نموده است.
حجم بالای داده های دائما در حال رشد در همه حوزه ها و نیز تنوع آنها به
شکل داده متنی، اعداد، گرافیکها، نقشه ها، عکسها، تصاویر ماهواره ای و
عکسهای گرفته شده با اشعه ایکس نمایانگر پیچیدگی کار تبدیل داده ها به
اطلاعات است. علاوه بر این، تفاوت وسیع در فرآیندهای تولید داده مثل روش
آنالوگ مبتنی بر کاغذ و روش دیجیتالی مبتنی بر کامپیوتر، مزید بر علت شده
است. استراتژیها و فنون متعددی برای گردآوری، ذخیره، سازماندهی و مدیریت
کارآمد داده های موجود و رسیدن به نتایج معنی دار بکار گرفته شده اند.
بعلاوه، عملکرد مناسب ابرداده که داده ای درباره داده است در عمل عالی
بنظر میرسد.

پیشرفتهای حاصله در علم اطلاع رسانی و تکنولوژی اطلاعات، فنون و ابزارهای
جدیدی برای غلبه بر رشد مستمر و تنوع بانکهای اطلاعاتی تامین می کنند.
این پیشرفتها هم در بعد سخت افزاری و هم نرم افزاری حاصل شده اند.
ریزپردازنده های سریع، ابزارهای ذخیره داده های انبوه پیوسته و غیر
پیوسته، اسکنرها، چاپگرها و دیگر ابزارهای جانبی نمایانگر پیشرفتهای حوزه
سخت افزار هستند. پیشرفتهای حاصل در نظامهای مدیریت بانک اطلاعات در طی
چهار دهه گذشته نمایانگر تلاشهای بخش نرم افزاری است. این تلاشها در بخش
نرم افزار را میتوان بعنوان یک حرکت پیشرونده از ایجاد یک بانک اطلاعات
ساده تا شبکه ها و بانکهای اطلاعاتی رابطه ای و سلسله مراتبی برای
پاسخگویی به نیاز روزافزون سازماندهی و بازیابی اطلاعات ملاحظه نمود.
بدین منظور در هر دوره، نظامهای مدیریت بانک اطلاعاتی مناسب سازگار با
نرم افزار سیستم عامل و سخت افزار رایج گسترش یافته اند. در این رابطه
میتوان از محصولاتی مانند، Dbase-IV, Unify, Sybase, Oracle و غیره نام
برد.

داده کاوی یکی از پیشرفتهای اخیر در راستای فن آوریهای مدیریت داده هاست.
داده کاوی مجموعه ای از فنون است که به شخص امکان میدهد تا ورای داده
پردازی معمولی حرکت کند و به استخراج اطلاعاتی که در انبوه داده ها مخفی
و یا پنهان است کمک می کند. انگیزه برای گسترش داده کاوی بطور عمده از
دنیای تجارت در دهه 1990 پدید آمد. مثلا داده کاوی در حوزه بازاریابی،
بدلیل پیوستگی غیرقابل انتظاری که بین پروفایل یک مشتری و الگوی خرید او
ایجاد میکند اهمیتی خاص دارد.

تحلیل رکوردهای حجیم نگهداری سخت افزارهای صنعتی، داده های هواشناسی و
دیدن کانالهای تلوزیونی از دیگر کاربردهای آن است. در حوزه مدیریت
کتابخانه کاربرد داده کاوی بعنوان فرایند ماخذ کاوی نامگذاری شده است.
این مقاله به کاربردهای داده کاوی در مدیریت کتابخانه ها و موسسات آموزشی
می پردازد. در ابتدا به چند سیستم سازماندهی داده ها که ارتباط نزدیکی به
داده کاوی دارند می پردازد؛ سپس عناصر داده ای توصیف میشوند و درپایان
چگونگی بکارگیری داده کاوی در کتابخانه ها و موسسات آموزشی مورد بحث قرار
گرفته و مسائل عملی مرتبط در نظر گرفته می شوند.
مديريت ذخيره سازی و دستيابی اطلاعات

داده های اطلاعاتی(Data) به عنوان يکی از منابع حياتی سازمان شناخته می
شود و بسياری از سازمان ها با اطلاعات و دانش سازمانی خود مانند ساير
دارايی های ارزشمندشان برخورد می کنند .
نکته: داده اطلاعاتی (Data) به اطلاعات خام سازمان اتلاق می‌شود و
اطلاعات (Information) به داده‌های پردازش شده. همچنين داده های پردازش
شده پس از طبقه بندی و آناليز به دانش سازمان (Knowledge) تبديل می
گردند.

حال تصور نماييد، دسترسی به اطلاعات (Information) در شرايطی که داده‌ها
به روش نامناسبی نگهداری شوند و يا روش ضابطه مندی جهت دستيابی به آنها
وجود نداشته باشد تا چه حد مشکل است . برای رسيدن به يک سيستم اطلاعاتی
مناسب، داده‌ها می بايست به صورتی منطقی طبقه بندی و ذخيره شوند تا
استفاده از آن ها ساده‌تر بوده، با کارايی بيشتری تحليل شوند و سريعتر
مورد استفاده قرار گيرند و در نتيجه مديريت بهتری بر آن ها اعمال شود. در
اين راستا مجموعه خدمات زير در زمينه مديريت بانک های اطلاعاتی توسط اين
شرکت ارايه می‌شود :

ساختار بانک اطلاعاتی سازمان:
داده های سازمان ها در انواع بانک های اطلاعاتی و با ساختارهای متنوعی
ذخيره می‌گردند . طراحی و سازماندهی اين ساختارها، بکارگيری و انتقال به
بانک‌های اطلاعاتی پيشرفته و بهينه سازی آن ها يکی خدماتی است که توسط
درسا رسانه هوشمند ارايه می شود .


داده کاوی (Data Mining):
کاوش‌های ماشینی در داده‌ها یا داده‌کاوی (Data mining) را باید یکی از
سامانه‌های هوشمند (Intelligent systems) دانست. سامانه‌های هوشمند زیر
شاخه‌ایست بزرگ و پر‌کاربرد از یادگیری ماشینی که خود زمینه‌ای‌ست در هوش
مصنوعی. زمینه علمی جدید و پهناور یادگیری ماشینی (که "کاوش‌های ماشینی
در داده‌ها" بخشی ست بزرگ از زیر شاخه سامانه‌های هوشمند آن ست)، به واقع
همان امتداد و استمرار دانش کهن و همه جا گیر آمار است در جهت ماشینی
کردن یادگیری، تعلّم، و سرانجام، دانش.
داده کاوی به عنوان مهمترين کاربرد Data Warehouse یاانباره های داده
شناخته می شود . به وسيله داده کاوی داده های موجود مورد تحليل قرار می
گيرند تا روندهای احتمالی، ارتباط‌هاي غير محسوس و الگو های مخفی داده ها
از بين انبوه داده ها، شناسايی شوند .
در اين فرايند از الگوريتم های پيچيده رياضی و آماری استفاده می شود تا
داده ها تبديل به دانش سازمان شوند.

امروزه با حجم عظيمي از داده ها روبرو هستيم. براي استفاده از آنها به
ابزارهاي كشف دانش نياز داريم. داده كاوي به عنوان يك توانايي پيشرفته در
تحليل داده و كشف دانش مورد استفاده قرار مي گيرد. داده كاوي در علوم
(ستاره شناسي،...)‌در تجارت (تبليغات، مديريت ارتباط با مشتري،...) در وب
(موتورهاي جستجو،...) در مسايل دولتي (فعاليتهاي ضد تروريستي،...) كاربرد
دارد. عبارت داده كاوي شباهت به استخراج زغال سنگ و طلا دارد. داده كاوي
نيز اطلاعات را كه در انبارهاي داده مدفون شده است، استخراج مي كند.
در واقع هـــــدف از داده كاوي ايجاد مدل هايي براي تصميم گيري است. اين
مدلها رفتارهاي آينده را براساس تحليلهاي گذشته پيش بيني مي كنند. به
كاربردن داده كاوي به عنوان اهرمي براي آماده سازي داده ها و تكميل
قابليتهاي انباره داده (DATA WAREHOUSE) ، بهترين موقعيت را براي به دست
آوردن برتريهاي رقابتي ايجاد مي كند.
سيستم هاي بانك داده (DATA BASE) ، نقشي كليدي در سيستم هاي مديريت و
انبار داده، بازي مي كنند. يك سيستم بانك داده، شامل فايل هاي بانك داده
و سيستم هاي مديريت بانك داده است.
اغلب تجارت ها به تصميم گيريهاي استراتژيك و يا اتخاذ خط مشي هاي جديد
براي خدمت رساني بهتر به مشتريان نياز دارند. به عنوان مثال فروشگاهها
آرايش مغازه خود را براي ايجاد ميل بيشتر به خريد مجدداً طراحي مي كنند و
يا خطوط هواپيمايي تسهيلات خاصي را براي مشتريان جهت پروازهاي مكرر آنها
در نظر مي گيرند. اين دو مثال به داده هايي در مورد رفتار مصرفي گذشته
مشتريان براي تعيين الگوهايي به وسيله داده كاوي، نياز دارد. براساس اين
الگوها تصميمـــات لازم اتخاذ مي شود. در واقع ابزار داده كــــاوي، داده
را مي گيرد و يك تصوير از واقعيت به شكل مدل مي سازد، اين مدل روابط
موجود در داده ها را شرح مي دهد.

از نظر فرايندي فعاليتهاي داده كاوي به سه طبقه بندي عمومي تقسيم مي شوند:

اكتشاف : فرايند جستجو در يك بانك داده براي يافتن الگوهاي پنهان، بدون
داشتن يك فرضيه از پيش تعيين شده درباره اينكه اين الگو ممكن است چه
باشد.

مانند تحليلهايي كه برحسب كالاهاي خريداري شده صورت مي گيرد، اينگونه
تحليلهاي سبدي نشانگر موارديست كه مشتري تمايل به خريد آنها دارند. اين
اطلاعات مي تواند به بهبود موجودي، استراتژي طراحي، آرايش فروشگاه و
تبليغات منجر گردد.

مدل پيش بيني : فرايندي كه الگوهاي كشف شــده از بانك داده را مي گيرد و
آنها را براي پيش بيني آينده به كار مي برد.

مانند پيش بيني فروش در خرده فروشي، الگوهاي كشف شده براي فروش به آنها
كمك مي كند تا تصميماتي را در رابطه با موجودي اتخاذ كنند.

تحليلهاي دادگاهي : به فرايند به كارگيري الگوهاي استخراج شده براي يافتن
عوامــل داده اي نامعقول و متناقض مربوط مي شود.
مانند شناسايي و تشخيص كلاهبرداري در موسسات مالي. كلاهبرداري به ميزان
زيادي پرهزينه و زيان آور است، بانكها مي توانند با تحليل دادوستدهاي
جعلي گذشته الگوهايي را براي تشخيص و كشف كلاهبرداري به دست آورند.
از نمایی دیگر، داده كاوي ، بعنوان روشي در استخراج دانش از متون، يكي
از موضوعات مهم در گستره اي از اعمال مديريت اطلاعات است. در اين ميان
آنچه از اهميت فوق العاده اي برخوردار است ارايه راه‌كارهايي براي مواجه
با اين حجم عظيم اطلاعاتي و استفاده بهينه از اطلاعات در جهت خلق دانش،
توليد سينرجي و در نهايت افزايش خرد جمعي است.
در سالهاي اخير اهميت متون به عنوان منابع با پتانسيل اطلاعاتي بسيار
بالا به نحو گسترده‌اي مورد توجه قرار گرفته به طوري كه كشف دانش از متون
به عنوان يكي از مهمترين فعاليتهاي محققين حوزه هوش مصنوعي و فناوري
اطلاعات قرار گرفته است. تحقيقات بسياري صورت گرفته اما محدوده فعاليت
بقدري گسترده است كه نيازمند توجه بيشتري مي‌باشد.
امروزه محققان به اين مسئله معترفند كه با وجود انجام تحقيقات بي وقفه در
زمينه كاري خود، نمي‌توانند همزمان با پيشرفت دانش، معلومات خود را به
روز نگاه دارند. بعنوان مثال بانك اطلاعاتي Medline در حال حاضر حاوي 10
ميليون چكيده مقاله است و هر هفته بين هفت تا هشت هزار چكيده مقاله به
اين بانك اطلاعاتي افزوده مي‌شود. در اين بين شايد همه مقالات مربوط به
يك دانش خاص نباشند، اما تعداد مقالات تخصصي كه در حوزه تحقيق يك دانش
خاص قرار مي‌گيرد به اندازه اي است كه يك نفر نمي‌تواند ادعا كند همه
آنها را مطالعه كرده است بعلاوه نقش مطالعات عميق و گسترده و استخراج
ايده ها و دانش جديد از مطالب مطالعه شده بر كسي پوشيده نيست.
در اين ميان اينترنت بعنوان بزرگترين منبع اطلاعاتي همگاني، تشكيل يافته
از صد ها ميليون صفحه اطلاعات است كه به جهت همگاني بودن آن و نبود
آينده‌نگري كافي در زمان تشكيل و رشد آن ، متحمل نگاهداري اطلاعات
نويسندگان، محققان ، انديشمندان و غيره به همان نحوي كه آنها مي نوشتند
گرديد. نبود يك استاندارد همه جانبه و دقيق در تنظيم متون و قرار گيري
اين مجموعه عظيم بصورتي غير ساختيافته و يا بعضاً نيمه ساختيافته، جامعه
اطلاعاتي را دچار نوعي سردر گمي و مشكل در دستيابي به اطلاعات مورد نياز
كرده بطوري‌كه براي يافتن مطالب مورد نظر خود متحمل هزينه هاي زماني
بسياري مي‌گردند. محققان به ارايه راه كارهايي براي ساخت يافته كردن
اطلاعات نمودند و با ارايه زبانهاي نشانه گذاري استاندارد نظير XML تا حد
زيادي جلوي اين از هم پاشيدگي اطلاعاتي را گرفتند اما آنچه همچنان باقي
است وجود بسياري از متون غير ساخت‌يافته مي‌باشد؛ در همين راستا ارايه
ابزاهايي كه با بررسي متون بتوانند تحليلي روي آنها انجام دهند منجر به
شكل گيري زمينه‌اي جديد در هوش مصنوعي و فناوري اطلاعات گرديده كه به
يادگيري متن معروف است.
اين حوزه تمام فعاليتهايي كه به نوعي به دنبال كسب دانش از متن هستند را
شامل مي‌گردد. آناليز داده هاي متني توسط تكنيكهاي يادگيري ماشين،
بازيابي اطلاعات هوشمند، پردازش زبان طبيعي يا روشهاي مرتبط ديگر همگي در
زمره مقوله يادگيري متن قرار مي‌گيرند. يكي از روشهايي كه ذكر گرديد،
استفاده از تكنيكهاي يادگيري ماشين در زمينه پردازش متن است، مسئله قابل
تامل اين است كه اين تكنيكها در ابتدا در مورد داده هاي ساخت‌يافته به
كار گرفته شدند و علمي به نام داده كاوي را بوجود آوردند. داده هاي
ساخت‌يافته به داده هايي اطلاق مي‌گردد كه بطور كاملاً مستقل از همديگر
ولي يكسان از لحاظ ساختاري در يك محل گردآوري شده اند. انواع بانكهاي
اطلاعاتي را مي‌توان نمونه هايي از اين دسته اطلاعات نام برد. در اينصورت
مسئله داده كاوي عبارت از كسب اطلاعات و دانش از اين مجموعه ساخت يافته.
اما در مورد متون كه عمدتاً غير ساخت يافته يا نيمه ساخت يافته هستند
ابتدا بايد توسط روشهايي ، آنها را ساختارمند نمود و سپس از اين روشها
براي استخراج اطلاعات و دانش از آنها استفاده كرد. به هر حال استفاده از
داده كاوي در مورد متن خود شاخه اي ديگر را در علوم هوش مصنوعي بوجود
آورد به نام متن كاوي . از جمله فعاليتهاي بسيار مهم در اين زمينه، طبقه
بندي (دسته بندي) متن مي‌باشد.
طبقه بندي متن، يعني انتساب اسناد متني بر اساس محتوي به يك يا چند طبقه
از قبل تعيين شده، يكي از مهمترين مسايل در متن كاوي است؛ مرتب كردن
بلادرنگ نامه هاي الكترونيكي يا فايلها در سلسله مراتبي از پوشه ها،
تشخيص موضوع متن، جستجوي ساختيافته و/ يا پيدا كردن اسنادي كه در راستاي
علايق كاربر ميباشد، از جمله كاربردهاي مبحث طبقه بندي (دسته بندي-كلاسه
بندي ) متن است. در بسياري از موارد ، افراد حرفه اي آموزش ديده، براي
طبقه بندي متون جديد به كار گرفته مي‌شوند. اين فرآيند بسيار زمان بر و
پر هزينه است و لذا كاربرد خود را محدود مي‌سازد، به همين منظور علاقه
روزافزوني به توسعه فناوري هايي در دسته بندي خودكار متن ابراز ميشود.
در هر حال در جوامع اطلاعاتي امروزي آنچه از اهميت روزافزوني برخوردار
است، اطلاعات و تبادل آن است و در اين راستا به توسعه فناوري هاي مرتبط
پرداخته مي‌شود، اما يك مرحله كاملاٌ جديد تر و كاملاً مورد توجه جوامع
فرا صنعتي، خلق دانش جديد از اطلاعات قبلي است كه اين جوامع آنرا كليد
موفقيت خود در آينده دانسته و به سختي در اين زمينه فعاليت مي‌نمايند. بر
ما است تا ضمن ارتقاي فناوري اطلاعات در كشور و ايجاد زير ساختهاي لازمه
در اسرع وقت، به اينگونه مسائل جدي‌تر كه در زمره Information High
Technology قرار مي‌گيرند، بپردازيم.

پیشرفت در تکنولوژیهای داده پردازی
سازمانهای بزرگ و چند- مکانه مثل بانکها، دفاتر هواپیمایی و فروشگاههای
زنجیره ای با حجم زیادی از داده ها که ناشی از عملکرد روزانه آنهاست
روبرو هستند. بطور سنتی چنین داده هایی به دو دسته تقسیم شده اند:
1. رکوردهای اصلی
2. رکوردهای عملیاتی
فرض بر این است که رکوردهای اصلی حاوی اطلاعات پایه هستند که معمولا
چندان تغییر نمی کنند در حالیکه رکوردهای عملیاتی با توجه به طبیعت
عملیات تجاری حتی بطور ساعتی تغییر خواهند کرد.
سیستمهای مدیریت پایگاه داده مناسب برای پیوند دادن این دو مجموعه
اطلاعاتی و تهیه گزارشهای استاندارد جهت کنترل فعالیتها گسترش یافتند.
سیستم اطلاعات مدیریت رایج برای پشتیبانی عملیات و سرویس دهی به چند
کاربر در سطوح مختلف سازمان مبتنی بر این نظریه است.
بمنظور کمک به تصمیم گیری راهبردی، نظریه تاسیس بانک اطلاعات رکوردهای
اصلی به نظریه سازماندهی دیتا مارت و انبار داده ها تغییر یافت. استخراج
اطلاعات از رکوردهای عملیاتی یا پایگاههای اطلاعات عملیاتی و سازماندهی
آن برای تحلیل استاندارد یا زمانی فلسفه اولیه و اصولی چنین پیشرفتهایی
است. گرچه، دیتا مارت و انبار داده ها از نظر هدف و ساختار با هم
متفاوتند.

دیتامارت
دیتا مارت اغلب کوچک است و بر یک موضوع یا دپارتمان خاص متمرکز است.
بنابراین پاسخگوی یک نیاز داخلی است. طرح بانک اطلاعات برای یک دیتامارت
حول ساختار اتصال ستاره ای ساخته شده است که بهینه برای نیازهای کاربران
دپارتمان است. دیتامارت معمولا با ابزارهای کامپیوتری که انعطاف پذیری
تحلیل را تامین میکنند اما ممکن است برای سازماندهی حجم بالای داده ها
مناسب نباشند؛ نیرومند میشود. رکوردهای ذخیره شده در دیتامارتها بخوبی
نمایه شده اند.
یک دیتامارت در صورتیکه داده ها را از منابع داده ای بسیار سازماندهی شده
مثل انبار داده ها بگیرد؛ دیتامارت وابسته نامیده میشود. مسلما
دیتامارتهای وابسته از لحاظ ساختاری و معماری منطقی هستند. منبع
دیتامارتهای وابسته تکنولوژِی بانک اطلاعات دپارتمانی است. دیتامارتهای
مستقل ثابت نیستندو از لحاظ معماری بسیار با هم متفاوتند. این مساله
هنگام یکپارچه سازی دیتامارتهای مستقل، مشکل ایجاد میکند. بنابراین با
یکپارچه سازی ساده دیتامارتها یک انبار داده ایجاد نخواهد شد.
دیتامارت اساسا برای اهداف تاکتیکی طراحی شده است و هدفش تامین یک
نیازتجاری فوری است.

انبار داده ها
یک انبار داده کاملا " متفاوت از دیتامارت است. سازماندهی انبارهای داده
بگونه ایست که کلیه موضوعات حول فعالیتهای کاری سازمان را می پوشاند.
انبار داده نمایانگر یک تسهیلات مرکزی است.
برخلاف دیتامارت که در آن داده ها به شکل خلاصه تر و متراکم تر وجود
دارند، یک انبار داده ، داده ها را در یک سطح نامتراکم ذخیره می کند.
ساختار داده ها در یک انبار داده یک ساختار لزوما" هنجار شده است. بدین
معنی که ساختار و محتوای داده ها در انبار داده منعکس کننده ویژگیهای
دپارتمانهای عضو نیست. داده ها در انبار داده از نظر حجم و شکل کاملا"
متفاوت از داده ها در دیتامارت هستند. دیتامارت ممکن است شامل حجم زیادی
از داده های قدیمی و گذشته نگر باشد. داده ها در انبار داده اغلب بصورت
نسبتا" سبک نمایه میشوند. (به بیان دیگر در عمق کمتر).
انبار داده برای اهداف برنامه ریزی بلندمدت و راهبردی طراحی میشوند. در
نتیجه انبار داده برخلاف سیستم عملیات که کاربرمدار است متمرکز بر اقلام
است. ساختار یک انبارداده مشخصات زیر را نشان میدهد:

وابستگی به زمان:
رکوردها بر اساس یک برچسب زمانی نگهداری میشوند. وابستگی زمانی حاصل در
ایجاد صفحات زمانی مفید است که درک ترتیب زمانی وقایع را تسهیل میکند.

غیر فرار بودن:
رکوردهای داده در انبار داده ها هرگز بطور مستقیم روزآمد نمیشوند. برای
هر تغییری در ابتدا داده های عملیاتی روزآمد میشوند و سپس بگونه ای مقتضی
به انبار داده منتقل میشوند. این مساله ثبات داده ها را برای استفاده های
وسیعتر تضمین میکند.

تمرکز موضوعی:
داده ها از بانکهای اطلاعاتی عملیاتی بصورت گزینشی به انبار داده منتقل
میشوند. این استراتژی به ایجاد یک انبار داده بر اساس یک مطلب یا موضوع
خاص کمک میکند و بنابراین کاوش انبار داده ها برای پرس و جوهای موضوعی
با سرعت بیشتری انجام میشود.

یکپارچگی:
داده ها بگونه ای کامل سازماندهی شده اند تا با حذف موارد تکراری و چند
عنوانه یکپارچگی رکوردها حفظ شود ؛ به ایجاد ارجاع های متقابل کارآمد
بین رکوردها کمک نموده و ارجاع دهی را تسهیل نماید.

واضح است که انبار داده اساسا" برای پرس و جوهای پشتیبان تصمیم گیری
ساخته شده است. بر این اساس سازماندهی وعملیات انبار داده چنان طراحی شده
اند تا نیازهای اطلاعاتی روزمره یا معمولی را پاسخگو باشند. بدلیل حجم
بسیار بالای چنین پایگاه اطلاعاتی یک سیستم کامپیوتری پیشرفته برای
عملیات انبارسازی داده ها لازم است. همچنین یک بانک اطلاعات مجزا شامل
ابرداده که مشخصه هایی نظیر نوع، فرمت، مکان و پدیدآورندگان داده های
ذخیره شده در یک انبار داده ها را توصیف میکند نیز برای کمک به کاربران و
مدیران داده ها ساخته میشود. مشخص شد که انبار داده بدلیل اندازه و
تنوعش، اگر مبتکرانه پردازش شود میتواند به تولید اطلاعاتی منجر شود که
در وهله اول آشکار نیستند. با انتخاب متناسب داده ها، بکار گرفتن فنون
مختلف غربال کردن و تفسیر زمینه ای ، داده ذخیره شده میتوانست منجر به
کشف الگوها یا رابطه هایی شود که بینش نویی به تصمیم گیرنده دهد. این
مساله نظریه توسعه عملیات داده کاوی را به موازات معدن کاوی بروز داد.
ذکر این نکته لازم است که داده کاوی در اصل لزوما" نیاز به سازماندهی یک
انبار داده ندارد. حال به داده کاوی می پردازیم.

عناصر داده کاوی
توصیف و کمک به پیش بینی دو کارکرد اصلی داده کاوی هستند. تحلیل داده
مربوط به مشخصه های انتخابی متغیرها؛ از گذاشته و حال، و درک الگو مثالی
از تحلیل توصیفی است. برآورد ارزش آینده یک متغیر و طرح ریزی کردن روند
مثالی از توانایی پیشگویانه داده کاوی است.
برای عملی شدن هریک از دو کارکرد فوق الذکر داده کاوی، چند گام ابتدایی
اما مهم باید اجرا شوند که از این قرارند:
1. انتخاب داده ها
2. پاک سازی داد ها
3. غنی سازی داده ها
4. کد گذاری داده ها
با دارا بودن هدف کلی در مطالعه، انتخاب مجموعه داده های اصلی برای
تحلیل، اولین ضرورت است. رکوردهای لازم میتواند از انبار داده ها و یا
بانک اطلاعاتی عملیاتی استخراج شود. این رکوردهای داده جمع آوری شده؛
اغلب از آنچه آلودگی داده ها نامگذاری شده است رنج می برند و بنابراین
لازم است پاکسازی شوند تا از یکدستی فرمت (شکلی) آنها اطمینان حاصل شود،
موارد تکراری حذف شده و کنترل سازگاری دامنه بعمل آید. ممکن است داده های
گردآوری شده از جنبه های خاصی ناقص یا ناکافی باشند. در این صورت داده
های مشخصی باید گردآوری شوند تا بانک اطلاعات اصلی را تکمیل کنند. منابع
مناسب برای این منظور باید شناسایی شوند. این فرایند مرحله غنی سازی داده
ها را تکمیل میکند. یک سیستم کدگذاری مناسب معمولا" جهت انتقال داده ها
به فرم ساختار-بندی شده جدید؛ متناسب برای عملیات داده کاوی تعبیه میشود
.

فنون داده کاوی
ممکن است متوجه شده باشید که فنون داده کاوی یک گروه نامتجانس را شکل
میدهند چرا که هر تکنیکی که بتواند بینش جدیدی از داده ها را استخراج کند
میتواند داده کاوی به حساب آید. برخی از ابزارهای رایج بکار گرفته شده
تحت عنوان داده کاوی عبارتند از:
ابزارهای پرس و جو: ابزارهای متداول زبان پرس و جوی ساختاربندی شده در
ابتدا برای انجام تحلیلهای اولیه بکار گرفته شدند که می تواند مسیرهایی
برای تفحص بیشتر نشان دهد.
فنون آماری: مشخصات اصلی داده ها لازمست با کاربرد انواع مختلفی از
تحلیلهای آماری شامل جدول بندی ساده و متقاطع داده ها و محاسبه
پارامترهای آماری مهم بدست آید.
مصور سازی: با نمایش داده ها در قالب نمودارها و عکسها مانند نمودار
پراکندگی؛ گروه بندی داده ها در خوشه های متناسب تسهیل میشود. استنباط
عمیق تر ممکن است با بکارگیری تکنیکهای گرافیکی پیشرفته حاصل شود.
پردازش تحلیلی پیوسته: از آنجا که مجموعه داده ها ممکن است روابط چندین
بعدی داشته باشند، روشهای متعددی برای ترکیب کردن آنها وجود دارد.
ابزارهای پردازش تحلیلی پیوسته به ذخیره چنین ترکیباتی کمک میکند و
ابزارهای ابتدا-انتهای پیوسته برای انجام پرس و جو ایجاد میکند. اما این
ابزارها هیچ دانش جدیدی ایجاد نمی کنند.

یادگیری مبتنی بر مورد: این تکنیک مشخصات گروههای داده ها را تحلیل میکند
و به پیش بینی هر نهاد واقع شده در همسایگی شان کمک میکند. الگوریتمهایی
که استراتژی یادگیری تعاملی را برای کاوش در یک فضای چندین بعدی بکار
میگیرند برای این منظور مفیدند.

درختان تصمیم گیری: این تکنیک بخشهای مختلف فهرست پاسخهای موفق داده شده
مربوط به یک پرس و جو را بازیابی می کند و به این ترتیب به ارزیابی صحیح
گزینه های مختلف کمک میکند.

قوانین وابستگی: اغلب مشاهده میشود که یک وابستگی نزدیک (مثبت یا منفی)
بین مجموعه ای از داده های معین وجود دارد. بنابراین قوانین رسمی وابستگی
برای تولید الگوهای جدید ساخته و بکار گرفته میشوند.

شبکه های عصبی : این یک الگوریتم یادگیری ماشینی است که عملکرد خودش را
بر اساس کاربرد و ارزیابی نتایج بهبود می بخشد.

الگوریتم ژنتیکی: این هم تکنیک مفید دیگری برای پیش بینی هدف است. به این
ترتیب که با یک گروه یا خوشه شروع میشود و رشدش در آینده را با حضور در
برخی مراحل فرایند محاسبه احتمال جهش تصادفی؛ همانطور که در تکامل طبیعی
فرض میشود طرح ریزی می نماید. این تکنیک به چند روش میتواند عملی شود. و
ترکیب غیرقابل انتظار یا نادری را از عواملی که در حال وقوع بوده و مسیر
منحنی طراحی داده ها را تغییر میدهند؛ منعکس میکند.

گام نهایی فرایند داده کاوی، گزارش دادن است. گزارش شامل تحلیل نتایج و
کاربردهای پروژه، درصورت بکارگیری آنها، است . و متن مناسب، جداول و
گرافیکها را در خود جای می دهد. بیشتر اوقات گزارش دهی یک فرایند تعاملی
است که تصمیم گیرنده با داده ها در پایانه کامپیوتری بازی میکند و فرم
چاپی برخی نتایج واسطه محتمل را برای عملیات فوری بدست می آورد.
داده کاوی در تولید چهار نوع دانش ذیل مفید است:
- دانش سطحی (کاربردهای (SQL
- دانش چند وجهی (کاربردهای (OALP
- دانش نهان (تشخیص الگو و کاربردهای الگوریتم یادگیری ماشینی)
- دانش عمیق (کاربردهای الگوریتم بهینه سازی داخلی)

نرم افزار
از آنجا که داده کاوی با بانکهای اطلاعاتی بزرگ سروکار دارد، به گونه ای
ایده ال با تکنولوژی خدمت گیر-خدمت گر بکار میرود. کاربردهای عمومی داده
کاوی بیشتر شامل تقسیم کردن داده ها در خوشه های مقتضی، کدگذاریهای
مناسب، کاوش برای الگوها و طراحی کردن با استفاده از فنون آماری و
الگوریتمهای ژنتیکی است. تعداد زیادی از بسته های نرم افزاری واجد این
جنبه های ابزارهای داده کاوی با درجات متفاوتی از جامعیت در دسترس هستند.
برای مثال بسته های نرم افزاری که منحصرا" برای کاربردهای OLAP در دسترس
هستند عبارتند از: Oracle OLAP, DB2 OLAP Server, CleverPath OLAP . نرم
افزارهای آماری عمومی مثل SPSS, SAS, STATISTICA با امکاناتی برای داده
کاوی و بسته های نرم افزاری اختصاصی داده کاوی مثل Weka, Insightful
Miner3, Text Mining Software, Enterprise Data Mining software,
PolyAnalyst 4.6 مفید هستند.
کاربردهای داده کاوی
داده کاوی کاربردهای مختلفی دارد که اهم کاربردهای آن:
۱- كشف تقلب (كلاهبرداري) و آناليز ريسك
كشف تقلب كارتهاي اعتباري
كشف پولشويي
ريسك پرداخت وام

۲- خــرده فروشي (تكفروشي)
فروش و تبليغ
كوپن

3-آناليز بازار استوك
۴- تشخيص جرائم .
۵- پيش بيني سيل.
۶- ارتباطات راه دور
۷- تشخيص طبي و درمان.
۸- آناليز داده DNA و زيست پزشكي(Biomedical).
چه ژنهايي با ژنهاي ديگر همزمان رخ ميدهند.
ترتيب عمليات ژنتيكي در مراحل بيماري چيست.

۹- وب كاوي Web Mining
ارتباط بين صفحات گوناگون چيست.
مشخصات صفحه وب چيست.
توزيع اطلاعات در وب چگونه است.

برای آشنایی بیشتر با داده کاوی چند کاربرد مهم و کاربردی آن را مورد
مطالعه قرار می دهیم:
داده کاوی و کاربرد آن در کسب و کار هوشمند بانک
با رشد فزاینده حجم داده‌ها در سیستمهای متنوع کسب و کار، و همچنین نیاز
روز افزون جهت دستیابی به اطلاعات ارزشمند و معرفت از این داده‌های خام،
داده کاوی به عنوان روشی مهم و پرکاربرد برای استخراج اطلاعات و ارضاء
این نیاز مطرح شده است. در واقع داده کاوی(Data Mining) بخشی از فرایند
استخراج معرفت(Knowledge Discovery) است که در آن الگوهای مفید و ضمنی در
پایگاه داده ها جستجو می‌شوند. در این میان با افزایش کاربرد سیستمهای
اطلاعات جغرافیایی، پایگاه‌های بزرگی از داده‌های متنوع جغرافیایی در
دسترس قرارگرفته‌اند که کمک شایانی به انجام تحلیل‌های کامل‌تر و دقیق‌تر
می‌نمایند.داده کاوی روی داده‌هایی که دارای یک یا چند ویژگی مکانی،
فضایی و یا جغرافیایی باشند، داده کاوی فضایی(Spatial Data Mining)
نامیده می‌شود و خروجی آن اطلاعات و معرفتی است که دارای خصوصیات فضایی و
جغرافیایی، مانند مکان، جهت، فاصله، شکل هندسی و مانند آن می باشد. هدف
از این پروژه بررسی و اجرای یک روش داده کاوی پیشرفته روی داده‌های فضايي
موجود در بانک ملت ایران می‌باشد که با داده‌های مختلف بانکی از قبیل
مکان شعب، شاخصهای بانکی مانند درآمد، سود، هزینه، تعداد کارکنان، میزان
مراجعه و مانند آن تلفیق خواهند شد. بدین معنی که بعد از انجام مراحل
لازم جهت آماده سازی داده‌ها -با ملاحضات لازم به دلیل فضایی بودن آنها-
برای عملیات داده کاوی، شامل پردازش و پاکسازی داده‌ها(Data Processing
and Cleaning) و ساخت انبار داده‌ها(Data warehousing)، و همچنین در نظر
گرفتن روشهای دسترسی به داده‌های فضایی(Spatial Data Access) ، الگوریتمی
برای استخراج قوانین وابستگی(Association Rule Mining) توسعه و پیاده
سازی خواهد شد و از آن برای کشف روابط موجود ما بین مقادیر مختلف فضايي و
جغرافیایی مانند ترکیب جمعیتی، کاربری‌های منطقه، وضعیت سنی، درآمد،
تحصیلات، موقعیت رقبا، شبکه معابر و مانند آن از یک طرف و شاخصهای بانکی
شعب مانند سود، هزینه، درآمد، کارایی و مانند آن از طرفی دیگر استفاده
خواهد شد. دانش استخراج شده از این فرایند، در تصمیم گیریی های مختلف
مدیران در حوزه مدیریت شعب، مانند مکانیابی، توسعه، تلفیق و تنظیم شعب،
کاربرد و اهمیت بالایی خواهد داشت.
داده كاوي درمديريت ارتباط بامشتري
داده كاوي يكي از عناصر مديريت ارتباط با مشتري است و مي تواند به حركت
شركتها به سمت مشتري محوري كمك كند.
داده هاي خام از منابع مختلفي جمع آوري مي شوند و از طريق استخراج، ترجمه
و فرايندهاي فراخواني به انبار داده اين مديريت وارد مي شوند. در بخش
مهيـــاسازي داده، داده ها از انبار خارج شده و به صورت يك فرمت مناسب
براي داده كاوي در مي آيند.
بخش كشف الگو شامل چهار لايه است:
1 - سوالهاي تجاري مانند توصيف مشتري،2 - كاربردها مانند امتيازدهي، پيش
گويي،3 - روشها مانند سري هاي زماني، طبقه بندي،4 - الگوريتم ها.
در اين بخش روشهاي داده كاوي با كاربرد مخصوص خود براي پاسخ به سوالهاي
تجاري كه به ذهن مي رسند، الگوريتم هايي را استخراج مي كنند و از اين
الگوريتم ها براي ساخت الگو استفاده مي شود.
در بخش تجزيه و تحليل الگو، الگوها به يك دانش مفيد و قابل استفاده تبديل
مي شوند و پس از بهبود آنها، الگوهايي كه كارا محسوب مي شوند در يك سيستم
اجرايي به كار گرفته خواهند شد.
رابطه مشتري با زمان تغيير مي كند و چنانچه تجارت و مشتري درباره يكديگر
بيشتر بدانند اين رابطه تكامل و رشد مي يابد. چرخه زندگي مشتري چارچوب
خوبي براي به كارگيري داده كاوي در مديريت ارتباط با مشتري فراهم مي كند.
در بخش ورودي داده كاوي، چرخه زندگي مشتري مي گويد چه اطلاعاتي در دسترس
است و در بخش خروجي آن، چرخه زندگي مي گويد چه چيزي احتمالاً جالب توجه
است و چه تصميماتي بايد گرفته شود. داده كاوي مي تواند سودآوري مشتري هاي
بالقوه را كه مي توانند به مشتريان بالفعل تبديل شوند، پيش بيني كند و
اينكه تا چه مدت به صورت مشتريان وفادار خواهند ماند و چگونه احتمالاً ما
را ترك خواهند كرد.
بعضي از مشتريان مرتباً مراجعاتشان را به شركتها براي كسب مزيتهايي كه طي
رقابت ميان آنها به وجود مي آيد، تغيير مي دهند. در اين صورت شركتها مي
توانند هدفشان را روي مشترياني متمركز كنند كه سودآوري بيشتري دارند.
بنابراين مي توان از طريق داده كاوي ارزش مشتريان را تعيين، رفتار آينده
آنها را پيش بيني و تصميمات آگاهانه اي را در اين رابطه اتخاذ كرد.
کاربردهای داده کاوی در کتابخانه ها و محیط های دانشگاهی
داده کاوی در ابتدا از حوزه تجارت برخاست اما کاربردهای آن در سایر حوزه
هائی که به گردآوری حجم وسیعی از داده هائی می پردازند که دستخوش تغییرات
پویا نیز می گردند؛ مفید شناخته شد. بخشهایی مثل بانکداری، تجارت
الکترونیک، تجارت سهام، بیمارستان و هتل از این نمونه اند.
انتظار میرود که استفاده از داده کاوی در بخش آموزش بطور عام امکانهای
جدید بسیاری ارائه دهد. برخی کاربردهای داده کاوی در کتابخانه ها و قسمت
اداری آموزش در ذیل مورد بحث قرار گرفته اند.
عملیات کتابداری بطور کلی شامل مدیریت مدارک، ارائه خدمات و امور اداره و
نگهداری است. هر کدام از این کارکردها با انواع مختلفی از داده ها سروکار
دارد و بطور جداگانه پردازش میشود. اگرچه، انجام تحلیل ترکیبی براین
مجموعه های داده نیز میتواند افق تازه ای را بگشاید که به طرح خدمات
جدید و تحول رویه ها و عملیات جاری کمک نماید. جدول یک برخی از کاربردهای
ممکن داده کاوی را که میتواند در کتابداری مفید باشد ارائه میکند.

جدول یک- کاربردهای داده کاوی در کتابخانه ها
کاربرد متصور بانک اطلاعاتی
برای تعیین نقاط قوت و ضعف مجموعه گردآوری منابع
برای ایجاد رابطه بین خواننده، منابع کتابخانه و زمان مشخصی از
سال استفاده از مجموعه
برای تحلیل سفارشهای پاسخ داده شده و سفارشهای دریافت شده امانت بین کتابخانه ای
برای پیش بینی روند بازگشت منابع داده های بخش امانت
برای نشان دادن منابع مالی بکار گرفته شده داده های هزینه

داده کاوی میتواند برای پاسخ دادن به یک سوال خاص مربوط به کتابخانه و
نیز برای کشف روندهای عمومی که به تصمیم گیری کمک میکنند، استفاده شود .
برای مثال سوال میتواند چنین باشد: امکان اینکه امانت گیرندگان منابع را
یک هفته بعد از تاریخ عودت برگردانند تا نامه های یادآوری کمتری فرستاده
شود چقدر است؟ یا میزان اشتراک مورد انتظار برای نشریات بین المللی
انتخاب شده برای سال آینده چقدر است؟ درک الگوی استفاده کلی مجلات
الکترونیکی یا تحلیل درخواستهای اعضا برای میکروفیلمها طی 5 سال گذشته
نیز همگی مثالهایی از کشف روندهای عمومی اند. دامنه تحلیل استنادی هم
میتواند با استفاده از داده کاوی گسترش داده شود.
در ارتباط با کتابخانه ها، وب کاوی حوزه دیگری از علاقمندی است. وب کاوی
شامل محتوا کاوی وب، ساختار کاوی وب و استفاده کاوی وب با توجه به یک
موضوع خاص است که در طراحی خدمات جدید مبتنی بر وب کمک خواهد کرد.
مدیریت موسسات دانشگاهی
اداره موسسات دانشگاهی کار پیچیده ای است. در این موسسات دائما" نیاز به
درآمدزایی و خود- کارآمدی و کاهش وابستگی به بودجه دولتی احساس میشود.
این مساله کنترل دائمی جنبه های مختلف هر فعالیت و پروژه را می طلبد.
بانکهای اطلاعاتی برای چنین موسساتی مربوط به دانشجویان، دانشکده،
اساتید و کارمندان، تعداد رشته ها و چند مورد دیگر است . ارزیابی تقاضا و
وضعیت عرضه نقش مهمی بازی میکند. مرور بانکهای اطلاعاتی نمونه در جدول 2
نمایانگر کاربردهای بالقوه داده کاویست.

جدول 2- کاربردهای داده کاوی در موسسات دانشگاهی
کاربرد متصور بانک اطلاعاتی
برای درک رابطه های جمعیت شناختی، اقتصادی و اجتماعی ثبت نام دانشگاهی
برای ایجاد رابطه بین عوامل اقتصادی-اجتماعی و نمرات اخذ شده کارایی دانشگاهی
برای تعیین میزان مفید بودن سیستم با استناد به نمرات امتحان بانک سوالات
برای ارزیابی همکاری دانشکده با توجه به میزان استفاده از کتابخانه همکاری فکری
برای پیدا کردن تأثیر انتشارات در تقاضا برای رشته ها انتشارات
برای تحلیل سوالات دریافت شده در وب سایت دانشگاه و کمک به ایجاد رشته
های جدید دانشگاهی بازدید از وب سایت


کاربرد داده کاوی در دانشگاه ملی سنگاپور قابل ملاحظه است. در این
دانشگاه از ابزارهای داده کاوی برای شناسایی و دسته بندی دانشجویانی که
به کلاسهای پیش نیاز برای واحد درسی ارائه شده نیاز داشتند استفاده شد.
(Kurian and John, 2005)
علاوه بر آن، مسائلی مانند اختصاص بهتر منابع و نیروی انسانی، مدیریت
روابط دانشجو و به تصویر کشیدن رفتار گروههای مختلف میتواند بوسیله
ابزارهای داده کاوی انجام شود.

محدودیت ها
کاربرد داده کاوی با چند عامل محدود شده است. اولین مورد به سخت افزار و
نرم افزار لازم و موقعیت بانک اطلاعاتی مربوط میشود . برای مثال در هند،
داده های غیر مجتمع که برای کاربردهای داده کاوی لازم است ممکن است به
فرم دیجیتالی در دسترس نباشد. در دسترس بودن نیروی انسانی ماهر در داده
کاوی نیز مسأله مهم دیگری است. محرمانه بودن رکوردهای مراجعان ممکن است
در نتیجه پردازش داده های مبتنی بر داده کاوی آسیب پذیر شود. کتابداران و
مؤسسات آموزشی باید این مسأله را در نظر داشته باشند؛ چرا که در غیر
اینصورت ممکن است گرفتار شکایات قانونی گردند.
محدودیت دیگراز ضعف ذاتی نهفته در ابزارهای نظری ناشی میگردد. ابزارهایی
مانند یادگیری ماشینی و الگوریتمهای ژنتیکی بکار گرفته شده در فعالیتهای
داده کاوی به مفاهیم وفنون منطق و آمار بستگی دارد. در این حد نتایج به
روش مکانیکی تولید شده و بنابراین به یک بررسی دقیق نیاز دارند. اعتبار
الگوهای بدست آمده به این طریق؛ باید آزمایش شود. چرا که که در بسیاری
موارد روابط علل و معلول مشتق شده؛ از برخی استدلالات غلط ذیل رنج
میبرند.

داده کاوی آماری و مدیریت بهینه وب سایت ها
هر سایت اینترنتی بر اساس حجم فعالیت خود برای نگهداری به افراد مختلفی
که آشنا به امور فنی و اجرایی باشند نیاز دارد. مدیر سایت به عنوان شخصی
که تنظیم کننده و هماهنگ کننده تمام این افراد است باید برای هر کدام از
بخش‌های سایت از قبیل گرافیک، محتوا، امور فنی، بازاریابی و...
برنامه‌های مختلفی را تهیه و برای اجرا در اختیار همکاران خود قرار دهد.
این برنامه ها می توانند شامل برنامه های روزانه، هفتگی و ماهانه باشند.
تمامی این برنامه ها در راستای یک هدف کلی و نهایی به انجام می رسند و آن
هم بالا رفتن کارایی اقتصادی سایت است.
سایت ها زمانی می توانند خود را در سطح اقتصادی اطمینان بخشی قرار دهند
که از بازدیدکنندگان و کاربران و قابل توجهی برخوردار باشند. برای این
کار مدیر سایت سعی می کند مطالعه و تحقیق گسترده ای بر روی عوامل و
ابزارهای افزایش دهنده تعداد کاربران سایت انجام دهد و از این طریق در
واقع به مطالعه شرایط و موقعیت خود در بازار مجازی اینترنت می پردازد. به
عنوان مثال وی در مورد رنگ های به کار رفته در سایت، لوگو و سایر قطعات
گرافیکی سایت، متن های به کار رفته و بسیاری دیگر از مسائل مرتبط با سایت
به بررسی و مطالعه می پردازد.
یکی از روش ها و راهکارهایی که کمک بسیار زیادی برای بهتر شدن فرآیند
مدیریت وب سایت ها می کند استفاده از گزارش ها و تحلیل های آماری است.
مدیران سایت ها و مدیران بازایابی شرکت ها با استفاده از گزارش های به
دست آمده از فعالیت سایت اینترنتی می‌توانند شناخت خوبی از موقعیت و
تاثیر فعالیت های خود پیدا کنند و از این طریق نقاط ضعف و قوت سایت را به
راحتی شناسایی و برای حل و تقویت آنها تغییرات لازم را در سایت اعمال
نمایند و به برنامه های آینده و حتی استراتژی های سایت جهت ببخشند.
گزیده مطالب
تعـــــريف
۱- كاوش دانش بالقوه مفيد از مقدار معتنابهي داده را داده كاوي گويند.
۲- اصطلاحات ديگر:
كشف دانش موجود در پايگاه هاي داده (Knowledge Discovery in Databases--
KDD )- هر چند كه داده ورزي مرحله اي از KDD است.
استخراج دانش --> Knowledge Extraction
درو اطلاعات (برداشت اطلاعات) --> Information Harvesting
و ...

داده كاوي در مقابل استخراج دانش از پايگاه داده
Data Mining vs. Knowledge Discovery in Databases

1- KDD فرآيند يافتن اطلاعات و الگوهاي مفيد از داده را گويند.
۲- DM بهره گيري از الگوريتمهايي براي يافتن اطلاعات مفيد در فرآيند KDD است.
۳- فرآيند KDD عبارت است از:
پاكسازي و يكپاچه سازي داده (پيش پردازش داده)
ايجاد يك مخزن داده مشترك براي تمام منابع٬ مانند انبار داده (data warehouse).
داده كاوي
بصري سازي (visualization) نتايج توليد شده.
--مرحله پيش پردازش غالباً يكي از مراحل زمان بر و در عين حال بسيار مهم
در كسب نتيجه مطلوب ميباشد. تلاشهاي زيادي صورت گرفته و در حال حاضر نيز
انجام ميگيرد تا كارايي الگوريتمهاي اين قسمت بالا رود.
--از ديگر بخشهايي كه فعاليت زيادي را به خود معطوف ساخته بخش بصري سازي
است تا بتوان نتايج را در قالبهاي گرافيكي مشاهده كرده و مقايسه نمود.

داده کاوی در مقابل پايگاه داده
Data Mining vs database

۱- كاربر پايگاه داده ميداند دنبال چه چيزي است.
۲- اما كاربر داده كاوي ممكن است بداند و ممكن است نداند در جستجوي چيست.
۳- پاسخ پايگاه داده به سوال ۱۰۰٪ دقيق است٬ اگر داده صحيح باشد.
۴- اما تلاش داده كاوي اين است كه تا حد ممكن پاسخ دقيق بدست آورد.

۵- داده پايگاه داده همانطور كه ذخيره ميشود بازيابي نيز ميگردد.
۶- اما داده در داده كاوي٬قبل از توليد نتايج نياز به (تا حدي) تميز
(clean) شدن دارد.
۷- نتايج پايگاه داده زير مجموعه اي از داده است.
۸- نتايج داده كاوي تجزيه و تحليل و آناليز داده است.
۹- معنا دار بودن نتايج آنقدر كه در داده كاوي اهميت داشته و جزء اصلي
ترين مسايل آن مطرح ميگردد٬ در پايگاه داده مورد توجه نيست.
به عبارت ساده پايگاه داده تنها ذخيره و بازيابي داده است اما داده كاوي
آناليزي است كه روي اين داده ها صورت ميپذيرد تا بتواند قوانيني از آن
استخراج نمايد يا پيش بيني صورت دهد

ابزارهای تجاری داده کاوی
DM Commercial Tools
در مورد ابزارهاي موجود براي داده كاوي بايد به اين نكات توجه داشت كه:
مدل/معماري مشتركي بين آنها موجود نمي باشد.
به منابع داده گوناگون و نه لزوماً همه گونه منبعي دسترسي دارند.
از يك يا بيشتر الگوريتم DM پشتيباني مينمايد.
ممكن است از تمام انواع داده پشتيباني كند يا نكند.
قابليتهاي مختلف اما نه تمام آنها را پشتيباني مينمايد.
وابسته به بستر كاري
هر كاربردي ممكن است با يك ابزار كار كند و با ابزار ديگر كار نكند.

ابزارهای تجاری برای داده کاوی
Darwin (Oracle Corp.)
MineSet (Silicon Graphics Inc. - SGI)
Intelligent Miner (IBM Corp)
Enterprise Miner (SAS Institute Inc.)
Clementine (SPSS Inc – Integral Solutions)
DMMiner (DBMiner Technology Inc.)
BrainMaker (California Scientific Software)
CART (Salford Systems)
MARS (Salford Systems)
Scenario (Cognos Inc.)
Web Analyst (Megaputer Intelligence Inc.)
SurfAid Analysis (IBM corp)
Visualizer Workstation (Computer Science Innovations, Inc)


منابع اطلاعاتی مورد استفاده
منابع اطلاعاتی گوناگونی را ميتوان در زمينه داده کاوی بکار برد که عبارتند از:

---> پایگاه داده های رابطه ای
---> انبارهای داده
---> فایلها
---> وب
--->پایگاه های داده شیءگرا
---> چند رسانه ای

انبار داده
--->بسياری از سازمانها داده های خود را از مخازن داده همگن و ناهمگن در
يک مجموعه داده عمومی به نام انبار داده جمع آوری و ذخيره مينمايند.(Data
Warehouse)
--->انبار داده شامل داده های فعلی و قبلی است كه برای برنامه ريزی و پيش
بينی در سيستمهای پشتيبان تصميمگيری (Decision Support System) استفاده
خواهد گرديد.
--->پايگاه های داده سنتی پايگاه هايی عملياتی هستند كه داده های روزانه
را در خود ذخيره مينمايند.
--->star -schema, Snow-Flakes و Galaxy مدلهای رايج در انبارهای داده هستند.
---> برای افزايش كارايی در DW تكنيكهای مختلفی مانند خلاصه كردن و
denormalization استفاده ميگردد.
پای نوشته‌
Data mining را گاهی به "داده کاوی" ترجمه کرده‌اند که از چندین نظر
نامناسب است: (الف) Data کلمه‌ای‌ست جمع (با مفرد Datum) که به واژهء
مفرد "داده" نسبت داده شده (ب) ترکیب "داده کاوی" با روح، و خلق و خوی
عمومی زبان فارسی ناسازگار و بیگانه است، چرا که در فارسی باید مفاهیم را
با آرامی و به نرمی بیان نمود. درست است که "داده کاوی" همان تندی و شتاب
Data mining را با خود دارد، ولی، اینگونه سرعت‌ها و تند‌گوئی‌ها در بیان
مفاهیم، فقط به زبانهای غربی اختصاص دارد.

مراجع و ماخذ
http://www.Wikipedia.con
Barbara Mento and Brendan Rapple, SPEC Kit 274: Data mining and data
warehousing, Association of Research Libraries, Washington, DC (2003,
July)
http://www.infotechera.com/
http://www.ece.ut.ac.ir/dbrg/index.htm
http://www.irandoc.ac.ir/index.htm
http://www.arts.uci.edu/dobrain/gems.980415b.htm

شبکه های عصبی مصنوعی Artificial Neural Networks

چکیده
مقدمه
آشنایی با شبکه های عصبی زیستی
معرفی شبکه های عصبی مصنوعی(ANNها)
مبانی شبکه های عصبی مصنوعی
توپولوژی شبکه
مقایسه ی مدل سازی کلاسیک و مدل سازی شبکه ی عصبی
فرآیند یادگیری شبکه
ایده ی اصلی شبکه های عصبی مصنوعی
مهم ترین تفاوت حافظه ی انسان و حافظه ی کامپیوتر
شبکه های عصبی در مقابل کامپیوترهای معمولی
معایب شبکه های عصبی مصنوعی
کاربردهای شبکه های عصبی مصنوعی


چکیده:

شبکه‌های عصبی مصنوعی از مباحث جدیدی است که دانشمندان علوم کامپیوتر به
آن علاقمند شده‌اند و برای پیشرفت هرچه بیشتر علوم کامپیوتر وقت و هزینه
بسیاری را صرف آن کرده و می‌کنند. این موضوع با ایده گرفتن از سیستم عصبی
بدن انسان و با هدف شبیه‌سازی هرچه بیشتر کامپیوتر به انسان شکل گرفت و
تا حال به خوبی پیشرفته است. از جمله کاربردهای این بحث می‌توان از
شناسایی الگوها, پردازش تصویر و رویت, هوش مصنوعی, کنترل رباتها و موارد
بسیار دیگر نام برد. ما در این مقاله پس از مقدمه به مسائل در خور
شبکه‌های عصبی مصنوعی و نیز کاربردهای آن خواهیم پرداخت, در ادامه
Perceptron ها را که یکی از مهمترین الگوریتم‌های شبکه‌های عصبی مصنوعی
می‌باشد معرفی می‌کنیم.

مقدمه:

آیا کامپیوتر میتواند همان نوع از محاسباتی را که یک فرد هوشمند انجام
میدهد به کار گیرد؟
بسیاری از دانشمندان عقیده داشته ودارند که این بحث باید مورد توجه قرار
گیرد. شبکه‌های عصبی در حل مسائل یک جهت جدید و متمایز نسبت به
کامپیترهای عمومی می‌گشود. کامپیوترهای عمومی از یک الگوریتم استفاده
می‌کنند یعنی برای حل مسائل از یک سری دستورات از پیش تعیین شده پیروی
می‌کنند مگر در مواقع ویژه‌ای که کامپیوتر نیاز به یک‌سری اطلاعات برای
حل مسئله دارد. و همین مسئله توانایی پردازش را از کامپیوترهای عمومی به
مسائلی که ما قبلا فهمیده‌ایم و روش حل آنها را شناخته‌ایم محدود می‌کند
و تنها سرعت عمل و قدرت در حل نمونه‌های بزرگتر را به همراه دارند. اما
کامپیوترها باید به قدری مفید باشند که بتوانند کارهایی را انجام دهند که
واقعا ما نمی‌دانیم چگونه باید آنها را انجام دهیم.


تاریخچه:
شبکه‌های عصبی دهها سال است که جلب توجه می‌کنند وتاکنون راه حلهایی برای
استفاده از هوش بشری ارائه شده است. اولین نرون مصنوعی درسال 1943 توسط
نروفیزیولوژیست وارن‌مک‌کالوک و منطق دان والتر‌پیتز تولید شد.در دهه 60
به دلایلی که خارج از بحث این مقاله است مردم به‌سوی شبکه‌های عصبی
متمایل شدند و تنها در دهه 80 دانشمندان توانایی‌های واقعی شبکه‌های عصبی
را دیدند.

آشنایی با شبکه های عصبی زیستی:
این شبکه ها مجموعه ای بسیار عظیم از پردازشگرهایی موازی به نام نورون
اند که به صورت هماهنگ برای حل مسئله عمل می کنند و توسط سیناپس
ها(ارتباط های الکترومغناطیسی)اطلاعات را منتقل می کنند.
در این شبکه ها اگر یک سلول آسیب ببیند بقیه ی سلولها می توانند نبود
آنرا جبران کرده و نیز در بازسازی آن سهیم باشند.
این شبکه ها قادر به یادگیری اند.مثلا با اعمال سوزش به سلولهای عصبی
لامسه، سلولها یاد می گیرند که به طرف جسم داغ نروند و با این الگوریتم
سیستم می آموزد که خطای خود را اصلاح کند.(back propagation of error)
یادگیری در این سیستم ها به صورت تطبیقی صورت می گیرد، یعنی با استفاده
ازمثال ها وزن سیناپس ها به گونه ای تغییر می کند که در صورت دادن ورودی
های جدید سیستم پاسخ درستی تولید کند.

نرون کوچکترين واحد مستقل پردازش اطلاعات است که متشکل از دندريت، اکسون
است که با فاصله های کوچک موسوم به سيناپس از يکديگر جدا ميشوند.

دندريتها که بصورت درخت گونه پخش هستند اطلاعات دريافتی بشکل سيگنال را
دريافت نموده و و آن را به هسته سلول هدايت ميکنند، يک عمل جمع ساده از
کل سيگنالها بسته به وزن و شدت هريک در هسته انجام ميگردد و نتيجه توسط
اکسون هدايت ميشود و بسته به شدت آن ممکن است پالس الکتريکی را ازسيناپس
با شدت بيشتر يا با شدت کمترعبور دهند و يا ممکن است با دليل ضعيف بودن
بار الکتريکی آن را عبور ندهند.

مدل ریاضی یک نرون:
همان گونه که ذکر شد نرون کوچکترین واحد یک شبکه عصبی مصنوعی است که
عملکرد شبکه های عصبی را تشکیل می دهد.بدنه هر سلول عصبی از دو بخش تشکیل
می شود٬ بخش اول را تابع ترکیب می گویند. وظیفه تابع ترکیب این است که
تمام ورودی ها را ترکیب و یک عدد تولید می کند. در بخش دوم سلول تابع
انتقال قرار دارد که به آن تابع تحریک نیز می گویند. رایج ترین انواع
توابع تحریک بر پایه مدل های بیولوژیک استوار گردیده است. درواقع همان
گونه که یک سلول بیولوژیک باید به سطح آستانه تحریک خاصی برسد تا یک
سیگنال تولید کند٬ توابع تحریک نیز تا زمانی که ورودی های ترکیب شده و
وزن دار شده به یک حد آستانه ای خاص نرسند مقدار خروجی نظیر بسیار کوچکی
تولید میکنند.


ساختار یک نرون مصنوعی

وقتی ورودی های ترکیب شده به حد آستانه ای خاصی برسند٬ سلول عصبی تحریک
شده و سیگنال خروجی تولید می کند. با مقایسه جواب خروجی شبکه با مقدار
مطلوب مورد نظر بردار خطا محاسبه شده و این بردار با استفاده از الگوریتم
های مختلف از آخر به سمت ابتدای شبکه پخش شده٬ به طوری که در سیکل بعد
خطا کاهش یابد.
انسان و سلول های عصبی مصنوعی- در جستجوی شباهت ها-چگونه مغز انسان می آموزد ؟
مسائل زیادی راجع به این که مغز چگونه خود را برای پردازش اطلاعات آموزش
می دهد، نا شناخته باقی مانده است بنابر این تئوری های فراوانی وجود
دارد. در مغز انسان یک سلول سیگنال ها را از دیگران از طریق یک گروه از
ساختار های ریز به نام dendrites جمع آوری می کند سلول عصبی جهش سریع
فعالیت الکتریکی را در طول یک پایه بلند و نازک که axon نامیده میشود ،
می فرستد که به داخل هزاران شاخه گسترش می یابد و کشیده می شود . در
انتهای هر شاخه ، ساختاری که synapse نامیده می شود این فعالیت را ازaxon
به اثرات الکتریکی تبدیل می کند که فعالیت یکaxon به صورت اثرات
الکتریکی فعال کننده یا غیر فعال کننده تبدیل می شود که این کار باعث
برانگیخته شدن یا آرام شدن سلول های عصبی مرتبط می شود. وقتی یک سلول
عصبی پیام های فعال کننده را در یافت می کند، که بطور قانع کننده و وسیعی
با پیام های ورودی غیر فعال کننده اش مقایسه شده باشد ،در این زمان این
سلول نیز یک جهش از فعالیت الکتریکی را به داخل axon خودش می فرستد.
بررسی سلولهای مغزی افراد:
تحقیق درباره سلولهای مغزی افراد و همچنین شناخت Neuron ها یا رشته‌های
مغزی وبیان یک راه نسبتا متفاوت که یک سیستم هوشمند را بنا می‌کند شروع
شد. مغز بشر متشکل از میلیونها نرون عصبی منحصر بفرد است واین رشته‌های
عصبی به اشکال و اندازه‌های مختلف تغییر می‌کنند.. هر نرون عموما یک هسته
دارد و یک‌سری سلولهای عصبی Axon (آکسون)ـ که علائم خروجی را به سلولهای
عصبی نرون دیگر حمل می‌کنندـ و Dendrite ها (شاخه‌های سلولهای عصبی).
علائم در سلولهای عصبی میان شاخه‌های سلولهای عصبی ونواحی خروجی جریان
دارند.
در اینجا برای حالت برانگیزش باید آشفتگی از یک حدی تجاوز کند که آستانه
یا سرحد نامیده می‌شود و پس از برانگیزش نرون‌ها پیامهایی برای نرون‌های
دیگر می‌فرستند و خود را برای دریافت و پاسخ به اطلاعات عمومی آماده
می‌کنند.

شبکه عصبی چيست؟
يک برنامه نرم افزاری يا تراشه نیمه هادی است که بتواند همانند مغز انسان
عمل نمايد، به گونه ای که:
الف- به مرور زمان و تعامل بیشتر با محيط، کارآزموده تر گردد.
ب-علاوه بر انجام محاسبات قادر به نتیجه گیری منطقی باشد.
ج- در شرايط جديد راهکار مناسب را ارائه دهد. (قابلیت تعمیم)
د-بتواند الگو ها را طبقه بندی کند.
ه-به اندازه کافی کوچک باشد تا از نظر فیزیکی واقع گرایانه باشد


شبکه‌های عصبی شبیه به مغز انسان اطلاعاتی را پردازش می‌کنند. شبکه‌ از
تعداد زیادی سلولهای عصبی(Neuron ها) تشکیل شده با پردازشی بسیار بزرگ و
به‌هم پیوسته که در حل موازی مسائل ویژه مشغول به کارند.
یادگیری شبکه‌های عصبی از طریق مثالهاست. آنها برای انجام یک کار خاص
برنامه‌ریزی نشده‌اند. مثالها باید با دقت بسیار بالایی انتخاب شوند والا
زمان مفید هدر خواهد رفت و یا حتی ممکن است شبکه به طور ناقص دایر شود و
در اینجا راهی برای فهمیدن اینکه سیستم معیوب است یا خیر وجود ندارد مگر
اینکه خطایی رخ دهد.
شبکه‌های عصبی مصنوعی یک ترکیبی از مجموعه نرون‌هاست و البته نرونهای
مصنوعی‌ای که بسیار شبیه به نرونهای زیستی کار می‌کنند. و بدین گونه است
که ورودیهای زیادی با وزنهای مختلف می‌گیرد و یک خروجی که به ورودی
وابسته است تولید می‌کند. نرونهای زیستی می‌توانند در حال برانگیزش باشند
یا نباشند. ( وقتی یک نرون برانگیخته می‌شود ضربه علائم خروجی آن مقداری
کمتر از 100 هرتز است)
شبکه‌های عصبی استفاده وسیعی در شناسایی الگوها دارند زیرا از خودشان
قابلیت آن را دارند که بطور عمومی به ورودی‌های غیر منتظره نیز پاسخ
دهند. در طول ساخت نرونها می‌آموزند که چگونه الگوهای ویژه گوناگون را
تشخیص دهند. اگر الگویی پذیرفته شود در حالی که در طول اجرا ورودی با
خروجی مرتبط نباشد، نرون از مجموعه‌ای از الگوهایی که سابقا آموخته
خروجیی را که شبیه به الگو می‌باشد وکمترین تفاوت را با ورودی دارد
انتخاب می‌کند. این روال عموما فراخوانی می‌شود.
مثال:
وقتی که ورودی نرون 1111 باشد چهار ورودی بر حسب برانگیزش مرتب شده‌اند و
وقتی ورودی‌های 0000 را داریم نرون برای برانگیزش مرتب نیست. قاعده عمومی
این است که نرونها مایلند برانگیخته شوند وقتی که ورودی‌ها 0111 ، 1011 ،
1101 ، 1110 یا 1111 باشند و در صورتی که ورودی آنها 1000 ، 0001 ، 0010
، 0100 یا 0000 باشند مایل به برانگیخته شدن نیستند.
شناسایی الگوهای پیچیده سطح بالا می‌تواند به وسیله شبکه‌ای از نرونها
انجام شود و بدین ترتیب نام آن را شبکه‌های عصبی مصنوعی گذاشتند. اکنون
شبکه‌های عصبی کاربردهای زیادی دارند(درمنطق وکلام و شناسایی عکسها)البته
شناسایی الگوهامی‌تواند به‌طور موفقیت آمیز بر روی کامپیوترهای عمومی
انجام شود. این شبکه‌های عمومی که برای شناسایی الگوها استفاده می‌شوند
Feed-Forward نامیده می‌شدند زیرا آنها یک بازخورد (Feed-Back) داشتند.
آنها به‌طور ساده ورودی‌ها را با خروجی‌ها می‌آمیختند. اما شناسایی
الگوها به تدریج کاملتر شد به‌طوریکه بر روی کامپیوترهای عمومی با سیستم
خاص خودشان به‌سختی انجام می‌شد پس برای شناسایی الگوها شبکه‌های
Feed-Forward کافی نبودند.
در شبکه‌های عصبی خروجی هر نرون به ورودی نرونهای مجاورش متصل شده است.
شبکه‌های عصبی نمی‌توانند معجزه کنند اما اگر به درستی استفاده شوند
نتایج شگفت‌انگیزی خواهند داشت.

مشخصات مسائل در خور شبکه‌های عصبی مصنوعی :

تقلید از ساختارهای محاسباتی سیستم زیستی ممکن است ایده اصلی نمونه‌های
محاسباتی برای ساخت کلاسهایی از مسائل باشد. از جمله این مسائل می‌توان
از مسائل مشکل NP که شامل مسائل طبقه‌بندی شده، زمانبندی‌شده، جستجو
وغیره نام برد، کلاس مسائل شناسایی الگوها، افراد و موضوعات مشخص را در
دیدار و تماس با آنها می‌شناسد و کلاس مربوط به داده‌های ناقص، اشتباه،
متناقض، فازی و احتمالی. این مسائل توسط همه یا برخی از موارد زیر توصیف
می‌شوند:
یک فضای مسئله با بعد بزرگ، پیچیده، ناشناخته با اثرات متقابل پیچیده
ریاضی‌وار بین متغییرها و یک فضای راه‌حل که ممکن است خالی باشد(شامل یک
راه‌حل یکتا یا بیشتر ، شامل تعدادی از راه‌حلهای مفید)به نظر می‌رسد ANN
ها راه‌حلهایی برای مسائلی که با ورودی‌های حسی بیشتر درگیرند ارائه
می‌دهد(صحبت‌کردن، دیدن، شناسایی دستخط و ..)


معرفی ANN ها:

یک سیستم پردازشی داده ها که از مغز انسان ایده گرفته و پردازش داده ها
را به عهده ی پردازنده های کوچک و بسیار زیادی سپرده که به صورت شبکه ای
به هم پیوسته و موازی با یکدیگر رفتار می کنند تا یک مسئله را حل کنند.
در این شبکه ها به کمک د انش برنامه نویسی ، ساختا ر داده ای طراحی می
شود که می تواند هما نند نورون عمل کند.که به این ساختارداده node یا گره
نیزگفته می شود.بعد باایجاد شبکه ای بین این node ها و اعمال یک
الگوریتم آموزشی به آ ن، شبکه را آموزش می دهند

در این حافظه یا شبکه ی عصبی node ها دارای دو حالت فعال(on یا 1)
وغیرفعال( off یا 0) اند و هر یال (سیناپس یا ارتباط بین node
ها)دارای یک وزن می باشد.یالهای با وزن مثبت ،موجب تحریک یا فعال کردن
node غیر فعال بعدی می شوند و یالهای با وزن منفی node متصل بعدی را غیر
فعال یا مهار(در صورتی که فعال بوده باشد) می کنند.


مبانی ANN ها:

شبکه های عصبی به طور کلی سیستمهای ریاضی یادگیر غیر خطی هستند. طرز کار
این شبکه ها از روش کار مغز انسان الگو برداری شده است. در واقع شبکه های
عصبی طبق تعریف ماشینی است برای ساخت یک مدل که می توان آن را بوسیله سخت
افزار یا نرم افزار شبیه سازی کرد و عملکردی شبیه مغز انسان دارند.

یک شبکه عصبی بر خلاف کامپیوترهای رقومی که نیازمند دستورات کاملا صریح و
مشخص است٬ به مدل های ریاضی محض نیاز ندارد بلکه مانند انسان قابلیت
یادگیری به وسیله تعدادی مٽال مشخص را دارد.
هر شبکه عصبی سه مرحله آموزش٬ اعتبار سنجی و اجرا را پشت سر می گذارد. در
واقع شبکه های عصبی را می توان در حل مسایلی که روابط دقیق ریاضی بین
ورودی ها و خروجی های آن برقرار نیست بکار برد.
آموزش دیدن شبکه های عصبی در واقع چیزی جز تنظیم وزن های ارتباطی این
نرون ها به ازائ دریافت مٽال های مختلف نیست تا خروجی شبکه به سمت خروجی
مطلوب همگرا شود.
همان گونه که ذکر شد نرون کوچکترین واحد یک شبکه عصبی مصنوعی است که
عملکرد شبکه های عصبی را تشکیل می دهد.
بدنه هر سلول عصبی از دو بخش تشکیل می شود٬ بخش اول را تابع ترکیب می
گویند. وظیفه تابع ترکیب این است که تمام ورودی ها را ترکیب و یک عدد
تولید می کند. در بخش دوم سلول تابع انتقال قرار دارد که به آن تابع
تحریک نیز می گویند. درواقع همان گونه که یک سلول بیولوژیک باید به سطح
آستانه تحریک خاصی برسد تا یک سیگنال تولید کند٬ توابع تحریک نیز تا
زمانی که ورودی های ترکیب شده و وزن دار شده به یک حد آستانه ای خاص
نرسند مقدار خروجی نظیر بسیار کوچکی تولید میکنند.
وقتی ورودی های ترکیب شده به حد آستانه ای خاصی برسند٬ سلول عصبی تحریک
شده و سیگنال خروجی تولید می کند. با مقایسه جواب خروجی شبکه با مقدار
مطلوب مورد نظر بردار خطا محاسبه شده و این بردار با استفاده از الگوریتم
های مختلف از آخر به سمت ابتدایک شبکه پخش شده٬ به طوری که درسیکل بعد
خطا کاهش یابد.

مقایسه ی مدل سازی کلاسیک و مدل سازی شبکه ی عصبی:


مدل سازی کلاسیک:
این مدل از نخستین قدم خطای بزرگی مرتکب می شود که فقط در سیستمهای ساده
(خطی یا نزدیک به خطی )قابل صرفنظر است و آن محاسبه ی شاخصهای تمایل به
مرکز و پراکندگی است که به این ترتیب راهمیت فردی تک تک داده ها از بین
می رود و در نتیجه سیستم قادر به کشف پیچیدگی ها نخواهد بود.

مدل سازی شبکه ی عصبی :
در این مدل هر یک از کانالهای ورودی دارای یک ضریب عددی هستند که وزن
سیناپسی نامیده می شود.شدت تحریک الکتریکی در این ضریب ضرب می شود و به
جسم سلولی می رسد.
اگر مجموع تحریکات وارد به جسم سلولی به حد آستانه ی خاصی رسیده
باشد،نورون شلیک می کند و در مسیرهای خروجی جریان الکتریکی ثابتی را
ایجاد می کند.تحریکات لایه ی ورودی به یک یا چند لایه ی واسط می رود
.ادامه ی جریان تحریکات در این لایه ها طوری هدایت میشود که پیچیدگیهای
تاثیرات جریان ورودی را شبیه سازی می کند .سپس تحریکات به لایه ی خروجی
می روند که هدف نهایی ماست.

.توپولوژی شبکه:
وضعیت نسبی سلولها در شبکه(تعداد و گروه بندی و نوع اتصالات آنها)را
توپولوژی شبکه گویند.توپولوژی در واقع سیستم اتصال سخت افزار نورونها به
یکدیگر است که توام با نرم افزار مربوطه (یعنی روش ریاضی جریان اطلاعات
و محاسبه ی وزنها)نوع عملکرد شبکه ی عصبی را تعیین می کند.
در این توپولوژی یک لایه ی ورودی وجود دارد که اطلاعات را دریافت می
کند،تعدادی لایه ی مخفی وجود دارد که اطلاعات را از لایه های قبلی می
گیرند و در نهایت یک لایه ی خروجی وجود دارد که نتیجه ی محاسبات به آنجا
میرود و جوابها در آن قرار میگیرند.

FeedForward topology


فرآیند یادگیری شبکه:
وظیفه ی شبکه های عصبی یادگیری است.تقریبا چیزی شبیه به یادگیری کودک خردسال.

انواع آموزش شبکه:
یادگیری تحت نظارت(یا supervised ) :
با تمرکز روی یک موضوع خاص و ارائه ی مثالهای مختلفی از آن صورت می
گیرد .شبکه اطلاعات ورودی و مثال ها را تجزیه و تحلیل خواهد کرد به طوری
که پس از مدتی قادر خواهد بود یک نوع جدید از آن دسته مثال ها را که قبلا
هرگز ندیده بود شناسایی کند.
در الگوريتم يادگيري با ناظر مجموعه‏اي از زوج‏هاي داده‏ها به داده‏هاي
يادگيري موسوم هستند پس از اعمال ورودي X به شبكه عصبي خروجي حاصل از
شبكه y با مقدار ايده آل مقايسه شده و خطا براي تنظيم پارامتر هاي شبكه
نظير w محاسبه مي‏شود به گونه‏اي كه اگر دفعه بعد به شبكه همان ورودي X
اعمال شود خروجي شبكه به y همگرا شده باشد.
یادگیری بدون نظارت(یا unsupervised ) :
یادگیری سطح بالاتری است که کاربرد آن امروزه کمتر است. در يادگيري بدون
ناظر يا يادگيري خود سازمان‏ده (Self - Organized) بردار جواب مطلوب به
شبكه اعمال نمي‏شود. در واقع هنگامي كه تعداد لايه‏ها و نرون‏ها افزايش
مي‏يابد كار يادگيري در ا لگوريتم‏هاي با ناظر بسيار كند پيش‏مي‏رود و
اين ايراد اساسي اين دسته از الگوريتم‏هاست .
در الگوريتم‏هاي بدون ناظر جواب بدست آمده در حافظه بلند مدت ذخيره شده و
از همان ابتدا ورودي‏ها دسته‏بندي مي‏شوند و با استفاده از حافظه مشاركتي
بين آنها ارتباط برقرار مي‏شود.

ایده ی اصلی عملکرد شبکه های عصبی مصنوعی:
هر گره دارای دو وضعيت فعال و غيرفعال است(صفر يا يك) و هر يال نيز دارای
يك وزن میباشد . يالهای با وزن مثبت بين دو گره تا گره فعال ديگری را
تحريك میكنند و يالهای با وزن منفی بين دو گره، گره فعال ديگری را غير
فعال میسازند.
نحوه عملكرد شبكه بدين صورت است كه ابتدا يك گره به تصادف انتخاب میشود.
اگر يك يا بيشتر از همسايههای آن گره فعال بودند جمع وزندار يالهای منتهی
به آن گرهها حساب میشود. اگر اين جمع مثبت بود گره فعال میشود و در غير
اين صورت گره مذكور غيرفعال باقی خواهد ماند. سپس مجددا يك گره ديگر به
تصادف انتخاب شده و همين عمليات آنقدر تكرار میشود تا شبكه به يك حالت
پايدار برسد.
تز اصلی هاپفيلد : از هر حالت ابتدايی و با هر وزنی از يالها كه شروع
كنيم، شبكه در نهايت به حالت پايدار خواهد رسيد.


مهم ترین تفاوت حافظه ی انسان و حافظه ی کامپیوتر:

يكی از مهمترين تفاوتهای حافظه انسان با حافظه كامپيوتر در نوع آدرس دهی
اين دو نوع حافظه میباشد. در حافظه كامپيوتر اساس كار بر پايه آدرس
خانههای حافظه يا آدرس اطلاعات بر روی حافظه دائم میباشد. به عنوان مثال
برای دستيابی به يك تصوير يا متن خاص، بايد آدرس حافظه يا فايل مربوط به
آن تصوير يا متن را داشته باشيد. اما با داشتن خود تصوير يا متن
نمیتوانيد به سادگی آدرس حافظه مربوطه را بيابيد (البته به اين معنی كه
اين كار با يك قدم قابل انجام نيست، وگرنه میتوانيد تصوير يا متن مورد
نظر را با تمام موارد موجود در حافظه مقايسه كرده و در صورت تطبيق آدرس
را بيابيد. ناگفته پيداست كه انجام چنين كاری بسيار زمان بر و پر هزينه
میباشد).
اما به سازوكار همين عمل در ذهن انسان دقت كنيد. با ديدن يك تصوير ناقص
اغلب بلافاصله كامل آنرا به خاطر میآوريد يا با ديدن تصوير يك شخص سريعا
نام او را میگوييد، يا با خواندن يك متن سريعا تمامی مطالب مربوط به آن
را به ذهن میآوريد. در واقع ذهن انسان يك نوع حافظه آدرسدهی شده بر اساس
محتواست (Content Addressable Memory). همانگونه كه از اين نام مشخص است
در اين نوع حافظه، با دادن محتوای يك خانه حافظه، بلافاصله آدرس آن به
عنوان خروجی داده میشود.


شبکه های عصبی در مقابل کامپیوترهای معمولی:

شبکه های عصبی نسبت به کامپیوتر های معمولی مسیر متفاوتی را برای حل
مسئله طی می کنند . کامپیوتر های معمولی یک مسیر الگو ریتمی را استفاده
می کنند به این معنی که کامپیوتر یک مجموعه از دستورالعمل ها را به قصد
حل مسئله پی می گیرد. بدون اینکه، قدم های مخصوصی که کامپیوتر نیاز به طی
کردن دارد، شناخته شده باشند کامپیوتر قادر به حل مسئله نیست. این حقیقت
قابلیت حل مسئله ی کامپیوتر های معمولی را به مسائلی ،محدود می کند که ما
قادر به درک آنها هستیم و می دانیم چگونه حل میشوند. اما اگر کامپیوتر ها
می توانستند کار هایی را انجام دهند که ما دقیقا نمیدانیم چگونه انجام
دهیم ، خیلی پر فایده تر بودند.
شبکه های عصبی اطلاعات را به روشی مشابه با کاری که مغز انسان انجام می
دهد پردازش می کنند. آنها از تعداد زیادی از عناصر پرداز شی(سلول عصبی)
که فوق العاده بهم پیوسته اند تشکیل شده است که این عناصر به صورت موازی
باهم برای حل یک مسئله مشخص کار می کنند .شبکه های عصبی با مثال کار می
کنند و نمی توان آنها را برای انجام یک وظیفه خاص برنامه ریزی کرد مثال
ها می بایست با دقت انتخاب شوند در غیر این صورت زمان سودمند، تلف می شود
و یا حتی بدتر از این شبکه ممکن است نا درست کار کند. امتیاز شبکه عصبی
این است که خودش کشف می کند که چگونه مسئله را حل کند ، عملکرد آن غیر
قابل پیش گویی است.
از طرف دیگر ، کامپیوتر های معمولی از یک مسیر مشخص برای حل یک مسئله
استفاده می کنند . راه حلی که مسئله از آن طریق حل می شود باید از قبل
شناخته شود و به صورت دستورات کوتاه و غیر مبهمی شرح داده شود. این
دستورات سپس به زبان های برنامه نویسی سطح بالا برگردانده می شود و بعد
از آن به کدهایی که کامپیوتر قادر به درک آنها است تبدیل می شود. به طور
کلی این ماشین ها قابل پیش گویی هستند و اگر چیزی به خطا انجام شود به یک
اشتباه سخت افزاری یا نرم افزاری بر می گردد.
شبکه های عصبی و کامپیوتر های معمولی با هم در حال رقابت نیستند بلکه
کامل کننده یکدیگرند . وظایفی وجود دارد که بیشتر مناسب روش های الگو
ریتمی هستند نظیر عملیات محاسباتی و وظایفی نیز وجود دارد که بیشتر مناسب
شبکه های عصبی هستند . حتی فراتر از این ، مسائلی وجود دارد که نیازمند
به سیستمی است که از تر کیب هر دو روش بدست می آید (بطور معمول کامپیوتر
های معمولی برای نظارت بر شبکه های عصبی به کار گرفته می شوند ) به این
قصد که بیشترین کارایی بدست آید.
شبکه های عصبی معجزه نمی کنند اما اگر خردمندانه به کار گرفته شوند نتایج
شگفت آوری را خلق میکنند.

شبکه های عصبی نسبت به کامپیوتر های معمولی مسیر متفاوتی را برای حل
مسئله طی می کنند . کامپیوتر های معمولی یک مسیر الگو ریتمی را استفاده
می کنند به این معنی که کامپیوتر یک مجموعه از دستورالعمل ها را به قصد
حل مسئله پی می گیرد. بدون اینکه، قدم های مخصوصی که کامپیوتر نیاز به طی
کردن دارد، شناخته شده باشند کامپیوتر قادر به حل مسئله نیست. این حقیقت
قابلیت حل مسئله ی کامپیوتر های معمولی را به مسائلی ،محدود می کند که
ما قادر به درک آنها هستیم و می دانیم چگونه حل میشوند. اما اگر
کامپیوتر ها می توانستند کار هایی را انجام دهند که ما دقیقا نمیدانیم
چگونه انجام دهیم ، خیلی پر فایده تر بودند.شبکه های عصبی اطلاعات را
به روشی مشابه با کاری که مغز انسان انجام می دهد
پردازش می کنند. آنها از تعداد زیادی از عناصر پرداز شی(سلول عصبی) که
فوق العاده بهم پیوسته اند تشکیل شده است که این عناصر به صورت موازی
باهم برای حل یک مسئله مشخص کار می کنند .شبکه های عصبی با مثال کار می
کنند و نمی توان آنها را برای انجام یک وظیفه خاص برنامه ریزی کرد مثال
ها می بایست با دقت انتخاب شوند در غیر این صورت زمان سودمند، تلف می شود
و یا حتی بدتر از این شبکه ممکن است نا درست کار کند. امتیاز شبکه عصبی
این است که خودش کشف می کند که چگونه مسئله را حل کند ، عملکرد آن غیر
قابل پیش گویی است.از طرف دیگر ، کامپیوتر های معمولی از یک مسیر مشخص
برای حل یک مسئله استفاده می کنند . راه حلی که مسئله از آن طریق حل می
شود باید از قبل شناخته شود و به صورت دستورات کوتاه و غیر مبهمی شرح
داده شود. این دستورات سپس به زبان های برنامه نویسی سطح بالا برگردانده
می شود و بعد از آن به کدهایی که کامپیوتر قادر به درک آنها است تبدیل می
شود. به طور کلی این ماشین ها قابل پیش گویی هستند و اگر چیزی به خطا
انجام شود به یک اشتباه سخت افزاری یا نرم افزاری بر می گردد.شبکه های
عصبی و کامپیوتر های معمولی با هم در حال رقابت نیستند بلکه کامل کننده
یکدیگرند . وظایفی وجود دارد که بیشتر مناسب روش های الگو ریتمی هستند
نظیر عملیات محاسباتی و وظایفی نیز وجود دارد که بیشتر مناسب شبکه های
عصبی هستند . حتی فراتر از این ، مسائلی وجود دارد که نیازمند به سیستمی
است که از تر کیب هر دو روش بدست می آید (بطور معمول کامپیوتر های معمولی
برای نظارت بر شبکه های عصبی به کار گرفته می شوند ) به این قصد که
بیشترین کارایی بدست آید.شبکه های عصبی معجزه نمی کنند اما اگر خردمندانه
به کار گرفته شوند نتایج شگفت آوری را خلق میکنند.

مزایا و معایب ANN ها:

شبكه هاي عصبي توان بالقوه‏اي براي حل مسائلي دارد كه شبيه سازي آنها
استاندارد نرم افزاري مشكل است.
اين تكنيك قادر است در مواقعي كه داده ها در شرايط عدم اطمينان اعم از
آنكه داده‏هافازي باشند ويا به طور ناقص و توام با نويز دريافت شده باشند
جواب منطقي ارائه دهد
به دليل پيشرفت‏هاي تكنيكي از سرعت پردازش بالايي برخوردار شده است.
محاسبه‏گرهاي عصبي در مواقعي كه شرايط تغييرميكند بسيار منعطف هستند.
همچنين نگهداري آنها بسيار ساده است.
با وجود برتری هایی که شبکه های عصبی نسبت به سیستم های مرسوم دارند،
معایبی نیز دارند که پژوهشگران این رشته تلاش دارند که آن ها را به حداقل
برسانند، از جمله:
قواعد یا دستورات مشخصی برای طراحی شبكه جهت یك كاربرد اختیاری وجود ندارد.
در مورد مسایل مدل‌سازی، نمی‌توان صرفاً با استفاده از شبكه عصبی به
فیزیك مسأله پی برد. به عبارت دیگر مرتبط ساختن پارامترها یا ساختار شبكه
به پارامترهای فرآیند معمولاً غیرممكن است.
دقت نتایج بستگی زیادی به اندازه مجموعه آموزش دارد.
آموزش شبكه ممكن است مشكل یا حتی غیرممكن باشد.
پیش‌بینی عملكرد آینده شبكه ( عمومیت یافتن ) آن به سادگی امكان‌پذیر
نیست.یادگیری انطباق پذیر: قابلیت یاد گیری نحوه انجام وظایف بر پایه
اطلاعات داده شده برای تمرین و تجربه های مقدماتی .
سازماندهی توسط خود: یک ANN می تواند سازماندهی یا ارائه اش را ، برای
اطلاعاتی که در طول دوره یادگیری در یافت می کند، خودش ایجاد کند.
عملکرد بهنگام(Real time ) : محاسبات ANN می تواند بصورت موازی انجام
شود، و سخت افزارهای مخصوصی طراحی و ساخته شده است که می تواند از این
قابلیت استفاده کند.
تحمل اشتباه بدون ایجاد وقفه در هنگام کد گذاری اطلاعات : خرابی جزئی یک
شبکه منجر به تنزل کارایی متناظر با آن می شود اگر چه تعدادی از قابلیت
های شبکه ممکن است حتی با خسارت بزرگی هم باقی بماند.

معرفي نرم افزارهاي پژوهشي: شبكه هاي عصبي مصنوعي:

انسان امروز همواره در تلاش است تا با طراحي سيستمهاي جديد، هر چه بيشتر
به دستيابي به شبكه هاي عصبي مشابه مغز و سيستم عصبي انسان نزديكتر شود.
يكي از پيشرفتهاي نوين در اين زمينه، طراحي شبكههاي عصبي مصنوعي (ANN)
است.
ساختار كلي اين شبكه ها، مشابه شبكه هاي نوروني و سيناپسي انسان است،
بدين نحو كه مشابه با سيناپس عصبي انسان، اين شبكه ها نيز از تعداد
بيشماري سيناپس تشكيل يافته است كه تجزيه و تحليل اطلاعات ورودي به اين
سيناپسها، درآنها به انجام رسيده و نتايج آن به سيناپس هاي بعدي منتقل
ميگردد.
بر اين اساس، يك شبكه عصبي مصنوعي ساده داراي سه جزء يا لايه است:
1- لايه ورود اطلاعات (Input Layer):
در اين لايه، اطلاعات اوليه كه همان مقادير مربوط به متغيرهاي مستقل و
وابسته طرح ميباشند، وارد شبكه ميگردند.
لايه يا لايه هاي محاسباتي (Analyze Layer):
اين لايه كه بر مبناي پيچيدگي تحليلها، تعداد آنها نيز افزايش مييابد،
وظيفه ايجاد روابط منطقي ميان متغيرهاي مستقل و وابسته اوليه و يافتن
فرمول بين اين متغيرها را بر عهده دارد.
3- لايه خروجي (Output Layer)
در اين لايه، رابطه يا فرمول بين متغيرهاي مستقل و وابسته اوليه ارائه ميشود.
در واقع نرم افزار جديد از طريق سيستم فوق، ابتدا با دريافت نمونهاي
محدود از متغيرهاي مستقل و وابسته اوليه، رابطه منطقي را ميان آنها كشف
ميكند و در مرحله بعد، تنها با ارائه سري متغيرهاي مستقل، مقدار متغيرهاي
وابسته را با دقت بسيار بالا پيشبيني و ارائه مينمايد.

در اين قسمت با بيان مثالي علمي، نحوه كاركرد شبكه عصبي مصنوعي را شرح
ميدهيم: فرض كنيد ميخواهيم رابطه ميان مقدار قند خون و درصد گرفتگي عروق
كرونر قلب را بررسي نمايم.
درابتدا تعداد محدودي از مقادير متغيرهاي مستقل (مقدار قند خون) و وابسته
(درصد گرفتگي) را وارد شبكه ميكنيم:

شبكه عصبي، پس از دريافت داده ها، به بررسي رابطه ميان دو نوع متغير
ميپردازد و در مدت زماني بسيار بسيار اندك (چند ثانيه) رابطه منطقي ميان
متغير مستقل و وابسته را با دقتي بسيار بالا كشف ميكند.
در اين مرحله و پس از كشف فرمول ميان متغيرها، با ارائه هر مقدار از قند
خون به شبكه، درصد گرفتگي رگ كرونر محاسبه و پيشبيني ميشود.


کاربردهای شبکه های عصبی مصنوعی:

امروزه شبكههای عصبی در كاربردهای مختلفی نظير مسائل تشخيص
الگو(Pattern Recognition) كه خود شامل مسائلی مانند تشخيص خط(Character
Recognition).شناسايی گفتار(Speech Recognition)، پردازش تصوير(Image
Processing) و مسائلی ازاين دست میشود و نيز مسائل
دستهبندي(Classification) مانند دستهبندی (Classification Problems)متون
و يا تصاوير،به كار میروند.دركنترل يا مدلسازی سيستمهايی كه ساختار داخلی
ناشناخته يا بسيار پيچيدهای دارند نيز به صورت روز افزون از شبكههای عصبی
مصنوعی استفاده میشود . به عنوان مثال میتوان در كنترل ورودی يك موتور از
يك ANN استفاده نمود كه در اين صورت شبكه عصبی خود تابع كنترل را ياد
خواهد گرفت.
پردازش تصویر و دید( Image processing and computer vision )
پردازش علائم( Signal processing ): شامل ریخت‌شناسی و تجزیه و تحلیل
علائم مربوط به زمین‌لرزه‌ها و…
شناسایی الگوها( Pattern recognition ): شامل شناسایی چهره، اثر انگشت،
تشخیص نوع صدا و نوع صحبت کردن، دستخط و …
پزشکی( Medicine ): شامل تجزیه و تحلیل و تشخیص علائم دستگاه ضربان‌نگار
قلب (الکتروکاردیوگرافیک)، تشخیص امراض گوناگون و …
سیستم‌های نظامی( Military systems ): شامل ردیابی مین‌های زیردریایی،
دسته‌بندی صداهای نابه‌هنجار و مخل در رادارها و شناسایی گوینده رزمی.
سیستم‌های تجاری( Financial systems ): شامل تجزیه و تحلیل انبار
مغازه‌ها، ارزیابی واقعی املاک و …
برنامه‌ریزی، کنترل و جستجو( Planning, control, and search ): شامل
اجرای موازی مسائل و کنترل رباتها.
هوش مصنوعی( Artificial intelligence ): شامل برخی سیستم‌های طبی و اجرای
سیستم‌های خبره.
سیستم‌های قدرت( Power systems ): شامل برآورد وضعیت سیستم، ردیابی سریع
و دسته‌بندی ردیابی، ردیابی خطا و ترمیم آن، پیش‌بینی و برآورد تخمین
امنیت

مراجع ومنابع:
1.Why neural networks?
written by Dimitrios Siganos
2.Artificial neural networks
written by Robert J.Schalkoff
3.http://www.wikipedia.com/
4.http://www.dbase.irandoc.ac.ir/

الگوريتم کلوني مورچه ها Ant Colony Optimization

انسان هميشه براي الهام گرفتن به جهان زنده پيرامون خود نگريسته است. يکي
از بهترين طرح هاي شناخته شده، طرح پرواز انسان است که ابتدا لئورناردو
داوينچي(1519-1452) طرحي از يک ماشين پرنده را بر اساس ساختمان بدن خفاش
رسم نمود. چهار صد سال بعد کلمان آدر ماشين پرنده اي ساخت که داراي موتور
بود و بجاي بال از ملخ استفاده مي کرد.
هم اکنون کار روي توسعه سيستم هاي هوشمند با الهام از طبيعت از زمينه هاي
خيلي پرطرفدار هوش مصنوعي است. الگوريتمهاي ژنتيک که با استفاده از ايده
تکاملي دارويني و انتخاب طبيعي مطرح شده، روش بسيار خوبي براي يافتن
مسائل بهينه سازيست. ايده تکاملي دارويني بيانگر اين مطلب است که هر نسل
نسبت به نسل قبل داراي تکامل است و آنچه در طبيعت رخ مي دهد حاصل ميليون
ها سال تکامل نسل به نسل موجوداتي مثل مورچه است.
الگوريتم کلوني مورچه براي اولين بار توسط دوريگو (Dorigo) و همکارانش به
عنوان يک راه حل چند عامله (Multi Agent) براي مسائل مشکل بهينه سازي مثل
فروشنده دوره گرد (TSP :Traveling Sales Person) ارائه شد.
عامل هوشند(Intelligent Agent) موجودي است که از طريق حسگر ها قادر به
درک پيرامون خود بوده و از طريق تاثير گذارنده ها مي تواند روي محيط
تاثير بگذارد.
الگوريتم کلوني مورچه الهام گرفته شده از مطالعات و مشاهدات روي کلوني
مورچه هاست. اين مطالعات نشان داده که مورچه ها حشراتي اجتماعي هستند که
در کلوني ها زندگي مي کنند و رفتار آنها بيشتر در جهت بقاء کلوني است تا
درجهت بقاء يک جزء از آن. يکي از مهمترين و جالبترين رفتار مورچه ها،
رفتار آنها براي يافتن غذا است و بويژه چگونگي پيدا کردن کوتاهترين مسير
ميان منابع غذايي و آشيانه. اين نوع رفتار مورچه ها داراي نوعي هوشمندي
توده اي است که اخيرا مورد توجه دانشمندان قرار گرفته است.بايد تفاوت
هوشمندي توده اي(کلوني) و هوشمندي اجتماعي را روشن کنيم.
در هوشمندي اجتماعي عناصر ميزاني از هوشمندي را دارا هستند. بعنوان مثال
در فرآيند ساخت ساختمان توسط انسان، زماني که به يک کارگر گفته ميشود تا
يک توده آجر را جابجا کند، آنقدر هوشمند هست تا بداند براي اينکار بايد
از فرغون استفاده کند نه مثلا بيل!!! نکته ديگر تفاوت سطح هوشمندي افراد
اين جامعه است. مثلا هوشمندي لازم براي فرد معمار با يک کارگر ساده
متفاوت است.
در هوشمندي توده اي عناصر رفتاري تصادفي دارند و بين آن ها هيچ نوع
ارتباط مستقيمي وجود ندارد و آنها تنها بصورت غير مستقيم و با استفاده از
نشانه ها با يکديگر در تماس هستند. مثالي در اين مورد رفتار موريانه ها
در لانه سازيست.
جهت علاقه مند شدن شما به اين رفتار موريانه ها وتفاوت هوشمندي توده اي و
اجتماعي توضيحاتي را ارائه مي دهم :
فرآيند ساخت لانه توسط موريانه ها مورد توجه دانشمندي فرانسوي به نام گرس
قرار گرفت. موريانه ها براي ساخت لانه سه فعاليت مشخص از خود بروز مي
دهند. در ابتدا صدها موريانه به صورت تصادفي به اين طرف و آن طرف حرکت مي
کنند. هر موريانه به محض رسيدن به فضايي که کمي بالاتر از سطح زمين قرار
دارد شروع به ترشح بزاق مي کنند و خاک را به بزاق خود آغشته مي کنند. به
اين ترتيب گلوله هاي کوچک خاکي با بزاق خود درست مي کنند. عليرغم خصلت
کاملا تصادفي اين رفتار، نتيجه تا حدي منظم است. در پايان اين مرحله در
منطقه اي محدود تپه هاي بسيار کوچک مينياتوري از اين گلوله هاي خاکي
آغشته به بزاق شکل مي گيرد. پس از اين، همه تپه هاي مينياتوري باعث مي
شوند تا موريانه ها رفتار ديگري از خود بروز دهند. در واقع اين تپه ها به
صورت نوعي نشانه براي موريانه ها عمل مي کنند. هر موريانه به محض رسيدن
به اين تپه ها با انرژي بسيار بالايي شروع به توليد گلوله هاي خاکي با
بزاق خود مي کند. اين کار باعث تبديل شدن تپه هاي مينياتوري به نوعي ستون
مي شود. اين رفتار ادامه مي يابد تا زماني که ارتفاع هر ستون به حد معيني
برسد. در اين صورت موريانه ها رفتار سومي از خود نشان مي دهند. اگر در
نزديکي ستون فعلي ستون ديگيري نباشد بلافاصله آن ستون را رها مي کنند در
غير اين صورت يعني در حالتي که در نزديکي اين ستون تعداد قابل ملاحظه اي
ستون ديگر باشد، موريانه ها شروع به وصل کردن ستونها و ساختن لانه مي
کنند.
تفاوتهاي هوشمندي اجتماعي انسان با هوشمندي توده اي موريانه را در همين
رفتار ساخت لانه مي توان مشاهده کرد. کارگران ساختماني کاملا بر اساس يک
طرح از پيش تعيين شده عمل مي کنند، در حالي که رفتار اوليه موريانه ها
کاملا تصادفي است. علاوه بر اين ارتياط مابين کارگران سختماني مستقيم و
از طريق کلمات و ... است ولي بين موريانه ها هيچ نوع ارتباط مستقيمي وجود
ندارد و آنها تنها بصورت غير مستقيم و از طريق نشانه ها با يکديگر در
تماس اند. گرس نام اين رفتار را Stigmergie گذاشت، به معني رفتاري که
هماهنگي مابين موجودات را تنها از طريق تغييرات ايجاد شده در محيط ممکن
مي سازد.

بهينه سازي مسائل بروش کلوني مورچه(ACO) :
همانطور که مي دانيم مسئله يافتن کوتاهترين مسير، يک مسئله بهينه سازيست
که گاه حل آن بسيار دشوار است و گاه نيز بسيار زمانبر. بعنوان مثال مسئله
فروشنده دوره گرد(TSP). در اين مسئله فروشنده دوره گرد بايد از يک شهر
شروع کرده، به شهرهاي ديگر برود و سپس به شهر مبدا بازگردد بطوريکه از هر
شهر فقط يکبار عبور کند و کوتاهترين مسير را نيز طي کرده باشد. اگر تعداد
اين شهرها n باشد در حالت کلي اين مسئله از مرتبه (n-1)! است که براي فقط
21 شهر زمان واقعا زيادي مي برد:
روز1013*7/1 = S1016*433/2 = ms10*1018*433/2 = !20
با انجام يک الگوريتم برنامه سازي پويا براي اين مسئله ، زمان از مرتبه
نمايي بدست مي آيد که آن هم مناسب نيست. البته الگوريتم هاي ديگري نيز
ارائه شده ولي هيچ کدام کارايي مناسبي ندارند. ACO الگوريتم کامل و
مناسبي براي حل مسئله TSP است.

مورچه ها چگونه مي توانند کوتاهترين مسير را پيدا کنند؟
مورچه ها هنگام راه رفتن از خود ردي از ماده شيميايي فرومون(Pheromone)
بجاي مي گذارند البته اين ماده بزودي تبخير مي شد ولي در کوتاه مدت
بعنوان رد مورچه بر سطح زمين باقي مي ماند. يک رفتار پايه اي ساده در
مورچه هاي وجود دارد :
آنها هنگام انتخاب بين دو مسير بصورت احتمالاتي( Statistical) مسيري را
انتخاب مي کنند که فرومون بيشتري داشته باشد يا بعبارت ديگر مورچه هاي
بيشتري قبلا از آن عبور کرده باشند. حال دقت کنيد که همين يک تمهيد ساده
چگونه منجر به پيدا کردن کوتاهترين مسير خواهد شد :
همانطور که در شکل 1-1 مي بينيم مورچه هاي روي مسير AB در حرکت اند (در
دو جهت مخالف) اگر در مسير مورچه ها مانعي قرار ديهم(شکل 2-1) مورچه ها
دو راه براي انتخاب کردن دارند. اولين مورچه ازA مي آيد و بهC مي رسد،
در مسير هيچ فروموني نمي بيند بنابر اين براي مسير چپ و راست احتمال
يکسان مي دهد و بطور تصادفي و احتمالاتي مسير CED را انتخاب مي کند.
اولين مورچه اي که مورچه اول را دنبال مي کند زودتر از مورچه اولي که از
مسير CFD رفته به مقصد مي رسد. مورچه ها در حال برگشت و به مرور زمان يک
اثر بيشتر فرومون را روي CED حس مي کنند و آنرا بطور احتمالي و تصادفي (
نه حتما و قطعا) انتخاب مي کنند. در نهايت مسير CED بعنوان مسير کوتاهتر
برگزيده مي شود. در حقيقت چون طول مسير CED کوتاهتر است زمان رفت و برگشت
از آن هم کمتر مي شود و در نتيجه مورچه هاي بيشتري نسبت به مسير ديگر
آنرا طي خواهند کرد چون فرومون بيشتري در آن وجود دارد.
نکه بسيار با اهميت اين است که هر چند احتمال انتخاب مسير پر فرومون ت
توسط مورچه ها بيشتر است ولي اين کماکان احتمال است و قطعيت نيست. يعني
اگر مسير CED پرفرومون تر از CFD باشد به هيچ عنوان نمي شود نتيجه گرفت
که همه مورچه ها از مسيرCED عبور خواهند کرد بلکه تنها مي توان گفت که
مثلا 90% مورچه ها از مسير کوتاهتر عبور خواهند کرد. اگر فرض کنيم که
بجاي اين احتمال قطعيت وجود مي داشت، يعني هر مورچه فقط و فقط مسير
پرفرومون تر را انتخاب ميکرد آنگاه اساسا اين روش ممکن نبود به جواب
برسد. اگر تصادفا اولين مورچه مسيرCFD(مسير دورتر) را انتخاب مي کرد و
ردي از فرومون بر جاي مي گذاشت آنگاه همه مورچه ها بدنبال او حرکت مي
کردند و هيچ وقت کوتاهترين مسير يافته نمي شد. بنابراين تصادف و احتمال
نقش عمده اي در ACO بر عهده دارند.
نکته ديگر مسئله تبخير شدن فرومون بر جاي گذاشته شده است. برفرض اگر مانع
در مسير AB برداشته شود و فرومون تبخير نشود مورچه ها همان مسير قبلي را
طي خواهند کرد. ولي در حقيقت اين طور نيست. تبخير شدن فرومون و احتمال به
مورچه ها امکان پيدا کردن مسير کوتاهتر جديد را مي دهند.

مزيتهاي ACO :
همانطور که گقته شد «تبخير شدن فرومون» و «احتمال-تصادف» به مورچه ها
امکان پيدا کردن کوتاهترين مسير را مي دهند. اين دو ويژگي باعث ايجاد
انعطاف در حل هرگونه مسئله بهينه سازي مي شوند. مثلا در گراف شهرهاي
مسئله فروشنده دوره گرد، اگر يکي از يالها (يا گره ها) حذف شود الگوريتم
اين توانايي را دارد تا به سرعت مسير بهينه را با توجه به شرايط جديد
پيدا کند. به اين ترتيب که اگر يال (يا گره اي) حذف شود ديگر لازم نيست
که الگوريتم از ابتدا مسئله را حل کند بلکه از جايي که مسئله حل شده تا
محل حذف يال (يا گره) هنوز بهترين مسير را داريم، از اين به بعد مورچه ها
مي توانند پس از مدت کوتاهي مسير بهينه(کوتاهترين) را بيابند.

کاربردهاي ACO :
از کاربردهاي ACO مي توان به بهينه کردن هر مسئله اي که نياز به يافتن
کوتاهترين مسير دارد ، اشاره نمود :
1. مسير يابي داخل شهري و بين شهري
2. مسير يابي بين پست هاي شبکه هاي توزيع برق ولتاژ بالا
3. مسير يابي شبکه هاي کامپيوتري

مسير يابي شبکه هاي کامپيوتري با استفاده از ACO :
در ابتدا مقدمه اي از نحوه مسير يابي در شبکه هاي کامپيوتري را توضيح خواهيم داد :
اطلاعات بر روي شبکه بصورت بسته هاي اطلاعاتي کوچکي (Packet) منتقل مي
شوند. هر يک از اين بسته ها بر روي شبکه در طي مسير از مبدا تا مقصد بايد
از گره هاي زيادي که مسيرياب (Router) نام دارند عبور مي کنند. در داخل
هر مسيرياب جدولي قرار دارد تا بهترين و کوتاهترين مسير بعدي تا مقصد از
طريق آن مشخص مي شود، بنابر اين بسته هاي اطلاعاتي حين گذر از مسيرياب ها
با توجه به محتويات اين جداول عبور داده مي شوند.
روشي بنام ACR : Ant Colony Routering پيشنهاد شده که بر اساس ايده کلوني
مورچه به بهينه سازي جداول مي پردازيد و در واقع به هر مسيري با توجه به
بهينگي آن امتياز مي دهد. استفاده از ACR به اين منظور داراي برتري نسبت
به ساير روش هاست که با طبيعت ديناميک شبکه سازگاري دارد، زيرا به عنوان
مثال ممکن است مسيري پر ترافيک شود يا حتي مسير يابي (Router) از کار
افتاده باشد و بدليل انعطاف پذيري که ACO در برابر اين تغييرات دارد
همواره بهترين راه حل بعدي را در دسترس قرار مي دهد.

۱۳۸۹ اردیبهشت ۲۲, چهارشنبه

آشنايي با شيرپوينت Sharepoint


پورتال چيست؟
كلمه پورتال به مجموعه متنوعي از وب‌سايتها اطلاق مي‌شود كه شامل وب‌سايت‌هاي كوچك داخلي براي همكاري‌هاي درون سازماني تا سايت‌هاي اينترنتي براي ارتباط با مشتريان مي‌شود.
 به صورت كلي پورتال وب‌سايتي است كه اطلاعات، سيستم‌ها و خدمات مرتبط را يكپارچه مي‌كند. پورتال پيچيدگي خدمات و اطلاعات را با ارائه يك رابط واحد براي كاربر تسهيل مي‌كند.

انواع پورتال‌ها
داخلي (intranet)
ارتباطات درون سازماني و كارگروهي را سامان مي‌دهد.
خارجي (extranet)
به ارتباط سازمان با ساير همكاران و شركاي تجاري مي‌پردازد
اينترنتي
براي ارتباط سازمان با مشتريان بكار برده مي‌شود.

لزوم نگاه يكپارچه
سازمان‌هايي كه داراي پورتال‌هاي متعدد هستند ناگزير بايستي ديدگاه يكپارچه‌اي را دنبال كنند.
راه‌كار "جزيره‌اي" در توسعه پورتال‌ها مي‌تواند به اتلاف هزينه و افزايش ريسك منجر شود

توانايي‌هاي  پورتال‌
تعيين هويت كاربر
شخصي‌سازي (User Authentication)
يكپارچگي و تجميع سيستم‌ها (Integration)
جستجو
كار گروهي (Collaboration)
مديريت محتواي وب
گردش‌كار (Workflow)

تعيين هويت (Authentication)
بنا به تعريف پورتال‌ها اطلاعات و توانايي‌ها را بر اساس مشخصات كاربر ارائه مي‌كنند. به اين ترتيب قدم اول شناسايي كاربر است. در محيط‌هاي اينترنتي اين شناسايي ممكن است از طريق مكانيزم‌هاي ضعيفي نظير نگهداري Cookie صورت گيرد اما در انواع ديگر پورتال نظير پورتال‌هاي داخلي معمولا مكانيزم‌هاي قوي‌تري لازم است.
اگر هر سيستم در پورتال مكانيزم تعيين هويت جداگانه‌اي با كلمات عبور مجزا داشته باشد، مكانيزم تعيين هويت مشكل‌ساز خواهد شد. نكته اصلي در توسعه يك پورتال كارا فراهم آوردن امكاني است كه كاربر بتواند با يكبار تعيين هويت از تمامي قسمت‌ها و اطلاعات مناسب بهره‌مند شود. اين امر به single sign-on مشهور است.

شخصي‌سازي (Personalization)
شخصي سازي اصطلاحي است كه به فرآيند نمايش محتوا به كاربران بر اساس نوع‌كاربري، موقعيت و يا تاريخچه استفاده آنها اطلاق مي‌شود. پورتال‌ها مي‌توانند به روش‌هاي زير شخصي شوند:
از طريق نمايش اطلاعات: كاربراني مي‌توانند بخش‌هاي خاصي از رابط كاربر نظير انتخاب نوع و محل نمايش اطلاعات، انتخاب نحوه و فرمت نمايشي، و انتخاب خدمات مورد نظر را سفارشي كنند.
از طريق محتوي و امكانات: در اين روش محتوايي كه كاربر مشاهده مي‌كند به سلايق او و همچنين انتخاب‌هايي كه سيستم بصورت خودكار انجام مي‌دهد بستگي پيدا مي‌كند. انتخاب‌هاي سيستم بر اساس منطق كسب و كار شكل مي‌گيرد براي مثال بر اساس مشخصات كاربر و يا تاريخچه خريدهاي قبلي وي.

يكپارچگي و تجميع Integration
تجميع سيستم‌هاي كاربردي در واقع اتصال سيستم‌هاي مجزا از طريق اشتراك داده‌ها و عمليات خودكار است. براي مثال ممكن است سيستم پرسنلي، دستمزد و حسابداري به شكل يكپارچه ديده شوند اگرچه اين سيستم‌ها به شكلي مجزا عمل مي‌كنند اما از طريق اشتراك داده‌ها و برخي عمليات ممكن است با سيستم پورتال به صورت يكپارچه در رابط واحدي مشاهده شوند

تجميع محتوي (Content)
تجميع محتوي كمك مي‌كند تا  محتواي مورد نظر يكبار توليد شده و در موارد متعدد مورد استفاده قرار گيرد. در تجميع محتوا اطلاعات از منابع متعددي اخذ شده و در يك رابط واحد (پورتال) ارائه مي‌شود. به اين ترتيب پورتال مي‌تواند محتواي توليد شده توسط منابع مجزا را به صورتي يكپارچه نمايش دهد. براي مثال سايت يك موسسه مي‌تواند اطلاعات شركاي خود را مستقيما از پورتال اكسترانتي مختص شركا تامين كند.

جستجو
جستجو يكي از امكانات كليدي پورتال‌ها است كه از طريق آن كاربران مي‌توانند به اطلاعات مورد نظر خود فارغ از روشي كه در پورتال براي طبقه‌بندي اطلاعات مورد توجه بوده است دسترسي پيدا كنند.

كار گروهي (Collaboration)
امكانات مختص به كار گروهي از ديگر نيازمندي‌هاي سيستم‌هاي پورتال محسوب مي‌شود. امكاناتي نظير سايت پروژه‌ها، اشتراك مستندات، فضاي بحث‌گروهي، اخبار داخلي به همراه سيستم‌هاي اعلان و هشدار قابل تنظيم به كاربران كمك مي‌كند تا بتوانند اطلاعات خود را به اشتراك گذاشته و به شكل موثرتري كار خود را به انجام رسانند. اين امكانات كمك مي‌كند كه اشخاص به صورت همزمان يا غيرهمزمان با يكديگر همكاري كنند.

مديريت محتواي وب
مديريت محتوا در واقع فرآيند ذخيره‌سازي، مديريت و ايجاد ارتباط بين مستندات متنوع است. به اين ترتيب مديريت محتوا يكي از بخش‌هاي اساسي سيستم‌هاي پورتال است. مديريت محتواي وب به امكان توليد، ذخيره‌سازي و انتشار مستندات در محيط وب مي‌پردازد.
اين بخش از امكانات پورتال‌ها بيشتر به ارتباط بين پورتال‌ داخلي و يا اكسترانتي با وب سايت سازمان مي‌پردازد. براي مثال ممكن است اخبار توليد شده در پورتال داخلي پتانسيل انتشار بر روي وب سايت شركت را داشته باشند.

گردش‌كار (Workflow)
از نقطه‌نظر سيستم‌هاي پورتال "گردش‌كار" فرآيند توليد، تاييد و انتشار محتوا است. اين امكان براي كاربران شرايطي را فراهم مي‌كند كه به شكل كنترل شده‌اي به توليد محتوا و انتشار آن بپردازند.

معماري
چارچوب اصلي ارائه
براي آنكه پورتال‌ها بتوانند اطلاعات متفاوتي را در چارچوبي واحد ارائه كنند، عملا از تكنولوژي و هسته‌اي اصلي براي تبديل صور متفاوت اطلاعاتي به قالب HTML استفاده مي‌كنند. براي توسعه پورتال‌هاي يكپارچه طبيعي است استفاده از يك هسته اصلي به اين منظور كه مي‌تواند اجزاي مختلف پورتال را پوشش دهد امري اجتناب‌ناپذير است.
محيط مشترك توسعه
معمولا توسعه پورتال‌ها با فرآيندهاي پيچيده توسعه نرم‌افزار مرتبط مي‌شود كه در آن استفاده از تكنولوژي‌هاي متنوع و اتصال آنها در يك محيط مشترك مد نظر قرار مي‌گيرد.در اين شرايط نه تنها استفاده از تكنولوژي‌هاي يكپارچه موثر است بلكه امكان استفاده از يك محيط مشترك و سازگار توسعه نرم‌افزار تا حد زيادي مفيد است. در اين فضا بخش آي.‌تي مي‌تواند در محيط مشتركي كه مستقيما با تكنولوژي‌هاي متنوع پورتال متصل است، با سهولت بيشتري توسعه نرم‌افزار را دنبال كند.

تكنولوژي يكپارچه مايكروسافت براي پورتال‌ها
شركت مايكروسافت مجموعه يكپارچه‌اي از محصولات كه در كنار هم مي‌توانند تمامي امكانات اوليه پورتال‌ها را فراهم كنند را ارائه ميكند. اين مجموعه به صورت كلي "تكنولوژي يكپارچه پورتال مايكروسافت Microsoft Integrated Portal Technology ناميده مي‌شود.

پلت‌فرمهاي مايكروسافت نظير
 Windows Server




.Net Faremwork




محصولاتي مانند:




Sharepoint Portal Serve




Microsoft Content Management Server




Micrsoft BizTalk Server




تكنولوژي‌هايي نظير




 Windows Sharepoint Services




راه‌كارها و راهنمايي‌هاي عمومي نظير :




Microsoft Solutions for Internet Business and Content Integration


معرفي محصولات كليدي
Sharepoint Portal Server 2003
Content Management Server 2002
Commerce Server 2002
BizTalk Server
Windows Sharepoint Services


Sharepoint Portal Server 2003
Microsoft Office Sharepoint Portal Server ابزاري است كه ارتباط بين اشخاص، گروه‌هاي كاري و اطلاعات را از ميان فرآيندهاي سازماني فراهم مي‌سازد. اين ابزار اطلاعات سيستم‌هاي مختلفي را در يك محيط واحد و متصل با سيستم‌هاي كاربردي و با تكيه بر مكانيزم تعيين هويت واحد كاربر ارائه مي‌كند. اين محصول ابزارهاي مناسبي براي كار گروهي از طريق تجميع اطلاعات و جستجوي پيشرفته را در اختيار سازمان قرار مي‌دهد.
شيرپوينت پورتال امكان دسترسي به اطلاعات مرتبط را از طريق توانايي‌هاي سفارشي‌سازي و شخصي‌سازي محتوا و الگوي نمايشي فراهم مي‌كند. همچنين با طبقه‌بندي انتخابات بر اساس نقش‌هاي سازماني كاربران مي‌تواند در انتشار محتواي مرتبط با كاربر به صورت ابزاري كارآمد عمل كند.


Commerce Server 2002
Microsoft Commerce Server روش مناسب و مقرون به صرفه‌اي براي توسعه راه‌كارهاي تجارت الكترونيكي ارائه مي‌كند. با فراهم ساختن چارچوب توسعه مناسب به همراه مكانيزم‌هاي پيشرفته كسب و كار و آناليز مي‌توان با سرعت قابل ملاحظه‌اي وب‌سايتهاي مناسبي كه كاربري مراجعه‌كنندگان را بهينه كرده آنها را به همكاري‌هاي بعدي ترغيب مي‌كند، را توسعه داد.

BizTalk Server
امكان توسعه ابزارهاي مناسب جهت پيش‌برد فرآيندهاي سازماني يكپارچه را فراهم مي‌سازد. اين محصول مجموعه‌اي از ابزارهاي لازم براي تسريع پياده‌سازي فرآيندهاي سازماني و يكپارچه‌سازي سيستم‌هاي كاربردي را ارائه مي‌كند.


Windows Sharepoint Services
Microsoft Windows Server 2003 مهمترين زيرساخت براي توسعه سيستم‌هاي متصل، شبكه‌ها و سرويس‌هاي وب است. يكي از بخش‌هاي كليدي اين سيستم عامل Microsoft Windwos Sharepoint Services است كه امكانات مناسبي را به مجموعه مايكروسافت آفيس براي فراهم ساختن محيط كار گروهي مي‌افزايد. علاوه بر آن شيرپوينت محيطي براي توسعه نرم‌افزارهاي پورتال فراهم مي‌كند.