بخشی از مقاله
چکیده - یکی از مهمترین علائم حیاتی بدن فشار خون می باشد . متداول ترین روش اندازه گیری فشار خون استفاده از فشار سنج های عقربه ایی، جیوه ایی ودیجیتالی می باشد. هدف این مقاله ارائه روشی جهت اندازه گیری فشار خون بدون نیاز به استفاده از کاف و بستن رگ می باشد.در این روش با استفاده از سیگنال فتوپلتیسموگرافی1 و الگوریتم svm2 شبکه ایی طراحی می گردد که با دریافت سیگنال ppg میزان فشار را به شکل بالا یا پایین تخمین می زند.این شبکه توسط دو روش آموزش و تست گردیده است و در بهترین حالت فشار را با %14,28 خطا تخمین می زند.
-1 مقدمه
یکی از مهمترین علائم حیاتی بدن فشار خون می باشد. با توجه به اینکه فشار خون بالا یک فاکتور خطر کلیدی برای بروز حمله ی قلبی ،سکته، نارسایی قلبی و نارسایی کلیوی است اگرفشارخون کنترل شود براساس تخمین های انجام شده نارسایی قلبی 50 درصد کاهش می یابد. خطرناکترین زمان برای حمله قلبی و برای تمام حالات اضطراری قلبی عروقی، شامل ایست ناگهانی قلب، پارگی یا اتساع آئورت، انسداد جریان خون ریوی و سکته، صبح و در طول آخرین مرحله خواب است به همین جهت اندازه گیری فشار خون در این زمان اهمیت زیادی دارد. متداول ترین روش اندازه گیری فشار خون استفاده از کاف و گوشی پزشکی می باشد. مبنای این روش شنیدن صدای شریانی با استفاده از گوشی پزشکی می باشد.
با افزایش فشار کاف رگ کاملا بسته می گردد و پزشک از طریق کاهش فشار و شنیدن صدای شریانی میزان فشار را اندازه گیری می نماید.از طرفی اندازه گیری فشار توسط کاف در طول خواب شرایط نامطلوبی برای فرد ایجاد می نماید لذا به دنبال یافتن راهی برای اندازه گیری فشار هستیم که بدون نیاز به کاف و بستن رگ فشار اندازه گیری شود . [1] فتوپلتیسموگرافی به عنوان یک روش غیر تهاجمی برای مانیتورینگ و اندازه گیری علائم حیاتی بیمار نظیر ضربان قلب ،فشارخون،درصد اشباع اکسیژن خون و نرخ تنفسی مورد توجه بوده است از آنجا که سیگنال ppg در طول خواب برای فرد قابل ثبت است در این تحقیق سعی در تخمین فشار خون با استفاده از این سیگنال داریم [3] [2]. ماشین بردار پشتیبان یکی از روشهای یادگیری بانظارت3 است که از آن برای طبقه بندی رگرسیون استفاده میکنند.با استفاده از svm در محیط نرم افزار متلب می توان شبکه ایی طراحی نمود که با دریافت سیگنال ppg فشار فرد را تخمین زند.
-2 روش کار
الگوریتم svm نیازمند دو ماتریس ورودی است که یکی ماتریس ویژگی و دیگری ماتریس شاخص می باشد.شاخص فشار در این تحقیق به صورت بالا یا پایین تعریف شده است به طوری که فشار دیاستول بیشتر از 13 میلیمتر جیوه به عنوان فشار بالا درنظر گرفته شده است. ورودی های این مسئله شامل یک ماتریس 19×28 و یک ماتریس 1×28 می گردد . ماتریس اول ماتریس ویژگی شامل 28 سطر نشان دهنده ی 28 داده ی ورودی است.
ماتریس ویژگی پس از پردازش سیگنال ppg و استخراج 19 ویژگی از آن به دست آمده است لذا هر ستون ماتریس ورودی بیانگر یک ویژگی است. [5] ماتریس دوم ماتریس شاخص می باشد که شامل 28 سطر است هر سطر بالا یا پایین بودن فشار فرد متناظر با ماتریس ویژگی را نشان می دهد . عدد 1 فشار بالاتر از 13 میلیمتر جیوه و عدد 0 فشار کمتر از این مقدار را نشان می دهد.خروجی سیستم نیز به صورت 0 و1 خواهد بود که ارزش این اعداد همانند حالت ورودی است. سیستم به دو روش all train-all test و leave one out آموزش داده شده است و پس از آموزش ،شبکه تست می گردد . نتیجه ی تست میزان خطای سیستم در محاسبه ی فشار را نشان می دهد.برای آموزش شبکه از دو روش زیر استفاده شده است:
1-2 -1-1 آموزش به روش all train- all test
این روش به معنای آموزش شبکه با استفاده از همه ی داده ها و تست آن مجددا توسط همان داده ها می باشد. در این حالت به دلیل استفاده از تمام داده ها برای آموزش و تست نسبت به روش دیگر خطای کمتری را نشان می دهد . در مرحله اول بدون تغییری در پیش فرض های الگوریتم svm شبکه آموزش داده شده و تست می گردد.با اعمال ماتریس های ورودی و آموزش شبکه تابع کرنل پیشنهادی متلب تابع خطی می باشد. تابع کرنل خطی در فضای دو بعدی داده ها را توسط خط جدا می کند اما داده های ما در فضایی با 19 بعد قرار می گیرند لذا توسط یک ابر صفحه تفکیک می گردند. در مرحله ی بعد تابع کرنل الگوریتم از حالت خطی به حالت rbf تغییر داده می شود.تابع rbf یک تابع گوسی است که با تغییر پارامتر سیگما می توان شکل آن را تغییر داد. [6]
2-2 -2-1آموزش به روش leave one out
به دلیل کم بودن تعداد داده های الگوریتم از روش leave one out استفاده می گردد .این روش نسبت به روش قبل کارایی بهتری دارد زیرا در این روش شبکه 28 مرتبه آموزش داده شده وتست می گردد. Leave one out به معنای بیرون انداختن یکی از داده هاست .در واقع با کاهش یک داده 27 - داده - شبکه آموزش داده می شود و توسط داده ی کنار گذاشته شده تست می گردد. این عمل 28 مرتبه تکرار می گردد و هر بار داده ی متفاوت با داده های قبلی کنار گذاشته می شود. [7] در ابتدا شبکه را توسط تابع کرنل خطی و با در نظر گرفتن پیش فرض های الگوریتم آموزش داده و تست می گردد.در مرحله ی بعد پیش فرض های الگوریتم تغییر داده می شود. یکی از پیش فرض های قابل تغییر در تابع خطی پارامتر C می باشد. انتخاب مقدار صحیح برای این پارامتر نقش موثری بر روی نتیجه ی نهایی دارد. پارامتر سیگما نیز در پیش فرض متلب 1 می باشد.
[9]پارامتر ها ی C و سیگما به صورت تصادفی تغییر داده شد تا بازه ی مورد نظر برای کمترین خطا تعیین گردد یعنی مقدار دو متغیر به صورت تصادفی از 0,01تا 100000 تغییر یافته است تا بهترین محدوده با روش آزمون و خطا تعیین گردد.سپس توسط الگوریتم ژنتیک و بهینه سازی داده ها و با در نظر گرفتن بهترین بازه برای تغییرات متغیر C و میزان خطای سیستم ارزیابی گردیده است.الگوریتم ژنتیک بهترین مقدار برای پارامتر C و را به عنوان خروجی نشان می دهد.[10] لازم به ذکر است تمامی تغییراتی که در پیش فرض الگوریتم اعمال می گردد در جهت کاهش خطای سیستم و بهینه کرد آن می باشد.
-3 نتیجهگیری
1-3 آموزش به روش all train-all test
همانطور که درقسمت قبل توضیح داده شد ابتدا شبکه را با تمام ورودی ها و با استفاده از تابع کرنل خطی آموزش می دهیم در این صورت خروجی شبکه به شکل زیر خواهد بود:
شکل :1 فشار تخمین زده شده توسط تابع خطی
در شکل 1 نقاط نشان داده شده با علامت دایره فشار صحیح و مورد نظر و نقاط ستاره بیانگر تخمین الگوریتم است. همان طور که در شکل1 نشان داده شده است در سه نقطه سیستم دچار خطا شده است به عبارت دیگر میزان خطا %10,71 می باشد. با تغییر تابع کرنل از حالت خطی به rbf خروجی سیستم در شکل 2 نشان داده شده است. همان طور که در شکل 2 نشان داده شده است خروجی سیستم بدون خطا می باشد.
2-3 آموزش به روش leave one out
ابتدا شبکه را با استفاده از تابع کرنل خطی و با درنظر گرفتن پیش فرض های الگوریتم آموزش می دهیم.خروجی این مرحله در شکل3 نشان داده شده است.
شکل:3 فشار تخمین زده شده به روش leave one out
در این حالت سیستم در 9 نقطه دچار خطا شده است یعنی میزان خطای آن %32,14 می باشد. برای کاهش خطای سیستم پارامتر C موثر در تابع کرنل خطی تغییر داده شده است این تغییر ابتدا به صورت تصادفی اعمال می گردد تا بهترین بازه ی تغییرات پارامتر محاسبه گردد.نتایج حاصل از تغییرات C در شکل 4 نشان داده شده است: