<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علی جلالی</title>
        <link>https://virgool.io/feed/@alijalali</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-18 23:47:21</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/14207/avatar/bD4tWe.png?height=120&amp;width=120</url>
            <title>علی جلالی</title>
            <link>https://virgool.io/@alijalali</link>
        </image>

                    <item>
                <title>محصول مورد نظر شما یافت نشد</title>
                <link>https://virgool.io/@alijalali/%D9%85%D8%AD%D8%B5%D9%88%D9%84-%D9%85%D9%88%D8%B1%D8%AF-%D9%86%D8%B8%D8%B1-%D8%B4%D9%85%D8%A7-%DB%8C%D8%A7%D9%81%D8%AA-%D9%86%D8%B4%D8%AF-tiljenoku2ay</link>
                <description>در جهان فعلی با افزایش سرعت اتفاقات،بی حوصلگی کاربران و انتظار بالای بازدید کنندگان محصول، فرصت شما برای رساندن مخاطب به هدف مورد نظر بسیار کاهش یافته.در گذشته تمایل اکثر وبسایت ها و اپلیکیشن ها بر بازید اکثر صفحات توسط کاربر بود اما در جهانی که در آن نفس میکشیم سرعت رساندن به هدف، مزیت رقابتی شما با سیستم ها رقیب است به صورتی که با کمترین تعلل میدان را به نفع رقبای خود خالی کرده اید.این مقاله درباره چیست؟در این مقاله قصد دارم شما رو بیشتر با سیستم های ذخیره اطلاعات یا همان دیتابیس هایی آشنا کنم که میتوانند مزیت رقابتی و همچنین نجات دهنده کسب و کار شما باشند و بگویم چگونه با عدم استفاده، استارتاپ خود را به ورطه نابودی سوق میدهید.اکثر application ها یا website هایی که به عنوان یک کسب و کار فعالیت میکنند، برای توسعه سیستم خودشان از دیتابیس های مرسوم همچون MYSQL و MongoDB استفاده میکنند اما این دیتابیس ها در جستجو های auto complete یا regular expression چقدر میتوانند موفق باشند؟ زمانی که حجم اطلاعات افزایش یافت، آیا استفاده از این سیستم ها به عنوان جستجوگر سریع کارساز است؟فرض کنید فروشگاهی را توسعه دادید و رفته رفته فروشگاه شما بازدیدکنندگان زیادی را تجربه میکند.اکثر افراد برای رسیدن به هدف خود روی search input کلیک کرده و انتظار دارند با تایپ چند حرف اول محصول، محصول مورد نظر خود را در لیست پیشنهادی ببینند.قطعا حس انتظار چند ثانیه ای برای دیدن نتایج جستجو تجربه کاربری مناسبی ایجاد نمیکند. محصول مورد نظر شما یافت نشدشاید از تلخ ترین تجربه های کاربری که احتمال بازگشت به سیستم مورد نظر را به میزان زیادی کاهش میدهد، دیدن این جمله باشد. در صورتی که کاربر حرفی از کلمه مورد نظر را اشتباه تایپ کند انتظار دارد تا شما تصحیح شده آن متن به او نشان دهید و در اولین تلاش برای استفاده از سیستم شما او را ناامید نکنید.اما چگونه؟شاید تا کنون اسم text search engine به گوشتان خورده باشد اما در سیستم های خود از آن ها استفاده ای نکرده باشید یا شاید یه عنوان یک دیتابیس معمولی برای ذخیره اطلاعات استفاده کرده باشید.  سیستم های جستجو گر متن، در گام اول برای جستجو های پیشرفته و سریع  متون بهینه سازی شده اند.منظور از متن میتواند عنوان یک محصول باشد یا چت های کاربران یا حتی مقالات ذخیره سازی شده در یک وبسایت. نوع ذخیره در این سیستم ها یه گونه ای است که از همان ابتدا بر اساس inverted index عمل دخیره سازی را انجام میدهند یعنی کلمات سطر ها و حضور آن کلمه در متون مختلف ستون ها را تشکیل میدهد که میتواند صفر و یک، به معنی حضور و عدم حضور آن کلمه در تمام سند های ذخیره شده باشد و یا میتواند تعداد حضور آن کلمه باشد در هر سند باشد.در این سیستم ها شما میتوانید نوع ذخیره سازی کلمات را بر اساس جستحوگر اپلیکیشن خودتان تعیین کنید به طور مثال کلمات را با فاصله در متون جدا کنید یا میتوانید به صورت n حرفی جدا سازی کنید تا بر اساس سیستم توسعه داده شده بتواند بیشترین کارایی را در اختیار شما قرار دهد.یکی از موارد استفاده مرسوم، در auto complete سرچ است که محبوبیت زیادی بین توسعه دهندگان دارد.الاستیک سرچ، محبوب ترین سیستم جستجوی متن (Elasticsearch)سیستمی بسیار محبوب که اکثر کسب و کار های بزرگ جهانی همچون Netflix, Linkedin, Stackoverflow از آن به عنوان temporary database استفاده میکنند. الاستیک سرچ تنها محدود به جستجوی متن نیست و یک سیستم چند محصولی است که با نام elastic stack در حال توسعه است. از این سیتم برای logging system  یا data visualization نیز میتوان استفاده کرد.در مقالات بعدی به صورت تخصصی تر در مورد elasticsearch مینویسم و از تجارب خودم در توسعه سیستم ها پیشرفته خواهم گفت.امیدوارم این مطلب تونسته باشه شما رو ترغیب به استفاده از elasticsearch در کسب و کار خودتون بکنه.</description>
                <category>علی جلالی</category>
                <author>علی جلالی</author>
                <pubDate>Tue, 05 May 2020 20:40:21 +0430</pubDate>
            </item>
                    <item>
                <title>آرامبخش موقتی در یادگیری ماشین</title>
                <link>https://virgool.io/@alijalali/%D8%A2%D8%B1%D8%A7%D9%85%D8%A8%D8%AE%D8%B4-%D9%85%D9%88%D9%82%D8%AA%DB%8C-pkjtqhqjvdaz</link>
                <description>در مبحث یاد گیری ماشین Over fitting را آرامبخش ضعیف می خوانند چون فریب دهنده است و چاره ای جز تحمل کمی رنج برنامه نویسی در ازای رسیدن به شرایط پایدار ندارد.در این مثال برای پیاده سازی مدل یادگیری روی مجموعه ای از داده ها از روش KNN استفاده کرده ام که یکی از پارامتر های مهم ورودی تعداد همسایه های نزدیک جهت بررسی است.برای فهم دقیق Over fitting از مقادیر مختلف برای تعداد همسایه ها در یادگیری مدل استفاده شده است که مرحله به مرحله با مشاهده ی مراحل کد نویسی شاهد توضیحات هر قسمت از کد خواهید بود:برای پیاده سازی مدل از زبان برنامه نویسی پایتون استفاده کردم1-  فراخوانی پکیج های مورد نیاز:برای انجام این پروژه از پکیج اصلی sklearn و چند پکیج دیگر استفاده شده است.2-  گرفتن داده ها از data set:برای این پروژه از یک data set آماده که نمایانگر احتمال ابتلای مردم هند به بیماری دیابت است، استفاده شده است که دارای 8 ستون ویژگی های بررسی شده و یک ستون نتایج ، متشکل از اعداد 0 و 1 است.3- اصلاح داده ها:این مجموعه از داده ها شامل تعدادی درایه بود که در حین انجام آزمایشات مفقود شده بودند در نتیجه مجبور شدم تا برای جایگزینی آنها از پکیج فرعی Imputer استفاده کنم.4- جداسازی داده ها:در هر کدام از روش های یادگیری ماشین مجبور به تقسیم داده ها به دو قسمت یادگیری و تست هستیم.5- تشکیل حلقه نتایج:در این قسمت با استفاده از حلقه for مدل را برای مقادیر مختلف همسایه های نزدیک به دست آورده و داخل یک آرایه ذخیره کردم تا برای نمایش روی نمودار از آنها استفاده کنم البته در هر مرحله یک بار روی داده های train و یک بار روی داده های test پیاده سازی کردم.6- رسم نمودار و نمایش نتایج:نتیجه گیری:همانطور که در نمودار بالا مشاهده می شود هر چقدر تعداد همسایه های نزدیک کمتر می شود صحت مدل برای داده های train بیشتر می شود چرا که مدل روی داده های fit ،train شده پس زمانیکه تعداد همسایه ها را برابر 1 قرار می دهیم دقیقا داده مورد استفاده در پیاده سازی را یافته و صحت 100% را به ما نشان می دهد و به همین روال با افزایش تعداد همسایه ها دقت تصمیم گیری کاهش می یابد. و در ادامه مشاهده می کنید که در داده های test و هر داده اتفاقی دیگر نمودار سیر کلی برعکس را پیش می گیرد و در حالتی که تعداد همسایه ها به کمترین حالت خود رسیده صحت نتایج نیز به کمترین مقدار خود می رسد چراکه در این حالت یادگیری دچار Overfitting شده است و همانطور که مشاهده میشود بهترین حالت در  n_neighbor=25 یا به صورت متعادل تر در n_neighbor=16 اتفاق میافتد</description>
                <category>علی جلالی</category>
                <author>علی جلالی</author>
                <pubDate>Fri, 09 Nov 2018 23:31:54 +0330</pubDate>
            </item>
            </channel>
</rss>