اطلاعیه

Collapse
No announcement yet.

??دستور norm

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ??دستور norm

    سلام

    من دستور RMSE را برای محاسبه خطا در شبکه عصبی به صورت زیر وارد میکنم

    RMSE=norm(ynet-y)/sqrt(length(y))

    اگه ماتریس شامل یک سطر و تعدادی ستون باشه که میدونم این دستور چه جوری کار میکنه. ولی اگه ماتریس y یا ynet شامل چند سطر و ستون باشه این دستور چه جوری عمل میکنه؟میدونم مطلب حساب میکنه ولی میخوام روند کار را بدونم.

    با مثال دو ماتریس ساده زیر بهم بگید که این روند چه طوری انجام میشه. مثلا :

    y=[5 6 8 9;3 9 4 10]

    ynet=[6 7 9 10;4 7 5 12]



    #2
    پاسخ : ??دستور norm

    n = norm(A) returns the largest singular value of A, max(svd(A)).

    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

    دیدگاه


      #3
      پاسخ : ??دستور norm

      نوشته اصلی توسط هـــادی
      n = norm(A) returns the largest singular value of A, max(svd(A)).
      ممنون
      راستش من خودم هم این دستور را به اضافه ی مثالش توی help مطلب مطالعه کردم. مثلا وقتی ماتریس
      a=[1 2 3 4]
      راحت میشه مقدار نرم a را به دست آورد.ولی متوجه نشدم وقتی a چندتا سطر دیگه هم داشته باشه اونوقت نرم a چی میشه؟

      دیدگاه


        #4
        پاسخ : ??دستور norm

        در این صورت ماکزیمم مقدار ویژه ماتریس (SVD(SVG رو میده.
        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
        لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
        با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
        اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
        يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

        دیدگاه


          #5
          پاسخ : ??دستور norm

          نوشته اصلی توسط هـــادی
          در این صورت ماکزیمم مقدار ویژه ماتریس (SVD(SVG رو میده.
          خیلی عذر میخوام ولی نمیدونم ماکزیمم مقدار ویژه ماتریس....یعنی چی؟

          دیدگاه


            #6
            دستور norm

            با سلام .

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

            نوشته اصلی توسط هـــادی
            در این صورت ماکزیمم مقدار ویژه ماتریس (SVD(SVG رو میده.
            به نظرم باید گفت بزرگترین مقدار منفرد ماتریس .
            فکر کنم همون SV خالی هم باید نوشته بشه . چون تا اوجایی که یادم هست SVD یه روشی هست که با استفاده از مقادیر ویژه ماتریس میان ماتریس رو تجزیه می کنن که باتوجه به ترجمه اش هم همین معنی رو میده .

            نوشته اصلی توسط laughingrose1
            خیلی عذر میخوام ولی نمیدونم ماکزیمم مقدار ویژه ماتریس....یعنی چی؟
            من اول یه توضیح در مورد مقدار ویژه بدم . اگه ماتریس A رو داشته باشیم . مقدار وِِیژه های ماتریس A از رابطه زیر به دست میاد :


            معادله ای که از این رابطه به دست میاد رو بهش معادله مشخصه می گن . بعد از حل معادله مشخصه بزرگترین میشه بزرگترین مقدار وِِیژه ماتریس A

            این هم یه نمونه مثالش :


            مقادیر ویژه رو همون طور که می بینید با لاندا نمایش می دند . مقادیر ویژه در زیان با عنوان Eigenvalues می گن .

            همین رو می خواید با متلب به دست بیارید از دستور eig استفاده می کنن مثلا همین مثال :

            >> A=[-4 2 ; 3 -5 ]

            A =

            -4 2
            3 -5

            >> Eigenvalues_A = eig(A)

            Eigenvalues_A =

            -2
            -7



            ===========================================

            مقادیر منفرد


            Singular Value که مخفف آن SV گویند .

            ماتریس حقیقی رو در نظر بگیرید . که m بیانگر تعداد سطر ها و n بیانگر تعداد ستون هاست .

            اگر m<n باشد جذر مقادیر ویژه و اگر m>n باشد جذر مقادیر ویژه را مقادیر منفرد ماتریس حقیقی یا

            Singular Value که مخفف آن SV گویند .

            منظور از همان ترانهاد ماتریس A هست . این رو هم در نظر داشته یاشید که اگه ماتریس مریعی باشه دیگه فرقی نداره که شما جذر مقادیر یا جذر مقادیر ویژه رو محاسبه کنید . در نهایت جواب ها یکی میشه .

            این هم یه مثالش :

            فقط قبلش بگم که توی ریاضی برای نمایش مقادیر منفرد از سیگمای کوچیک استفاده می کنن یعنی این علامت

            که اگر بزرگترین مقدار منفرد ماتریس A مد نظر باشه یه اندیس ماکزیمم هم انتهاش اورده میشه یعنی این جوری :

            : بزرگترین مقدار منفرد ماتریس



            در متلب از دستور svd برای محاسبه مقادیر منفرد استفاده میشه این هم همین مثال بالا با این دستور :

            >> B=[3 1 1 ;-1 3 1 ]

            B =

            3 1 1
            -1 3 1

            >> SingularValue_B = svd(B)

            SingularValue_B =

            3.4641
            3.1623


            ===========================================

            نرم :

            کلا نرم ها انواع مختلف دارند توی متلب این ها هست :


            که شما با نرم دو کار دارید . این هم بگم وقتی که در متلب نرم خالی میزاریم همون مفهموم نرم دو رو میده .

            تعریف نرم دو :

            در ریاضیات برای محاسبه نرم دوم ماتریس از رابطه زیر استفاده می شود :


            در واقع تعریف نرم دو همون بزرگترین مقدار منفرد ماتریس A هست یا به عبارتی بزرگترین مقدار ویژه ماتریس رو به دست میارید و بعد از اون جذر می گیرید که همون تعریف مقدار منفرد هست .

            این هم با نرم افزار متلب یه مثالش که حالا من دقیقا همین فرمول بالا را پیاده سازی کردم تا مشاهده بشه که هر دو جواب یکی هست :

            >> C=[1 2 5 ; 8 0 9 ; 7 6 4]

            C =

            1 2 5
            8 0 9
            7 6 4

            >> svd_max_1 = sqrt(max(eig(C'*C)))

            svd_max_1 =

            15.4387

            >> svd_max_2=max(svd(C))

            svd_max_2 =

            15.4387


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

            >> norm2_C=norm(C)

            norm2_C =

            15.4387

            >> norm2_C=norm(C,2)

            norm2_C =

            15.4387


            ===================================

            داخل این لینک هم برای نرم نوشتم :

            http://www.eca.ir/forum2/index.php?t...3521#msg343521

            http://www.eca.ir/forum2/index.php?t...3073#msg343073


            ===========================
            مصادیق اظهار محبت به همسر
            بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
            ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
            اثر قصه گویی برای کودکان

            دیدگاه

            لطفا صبر کنید...
            X