查看完整版本: 我這樣算是一個fuzzy expert system了嗎?(AI問題)
頁: [1]

yx0001 發表於 2012-11-17 02:37 AM

我這樣算是一個fuzzy expert system了嗎?(AI問題)

本帖最後由 yx0001 於 2012-11-17 11:21 AM 編輯

Introduction:
本系統是用 "C++" 製作的 fuzzy expert system,主要是來對user的股票做"短線"的診斷。根據user所選的選項,預測欲購之股票短線(一周)之勝率。使用者可以透過此專家系統得到更多該股票的參考資料和建議。藉此在投資股票上有更靈活的操作策略與更大的投資勝率。

System design:
user 根據自己要分析的股票資料,然後透過本系統條列式的選項,選出其股票徵狀,利用fuzzy set的概念給予使用者對該股票的建議。其fuzzy set運用的例子例如:

    法人買超近期情況(近兩周)?
        1.大量增加
2.增加        3.減少
        4.大量減少
        5.不清楚
https://lh4.googleusercontent.com/tZCCtAHXh7Ka1cV3F00_1Kb0ymst64jCyv5e2EA0HL-HO1ReDoPUYa0yjDRaqvfsEJHDE9d50NOLMGLXL_8ufZ1G8f3YzEhRgvZWH5jmQuWFraluxEw

以此例子而言,這法人買超量的大量增加、增加,或是減少、大量減少,雖然都是一個答案,但是同樣一個圖給不同的使用者看,可能得到的想法都不太一樣,畢竟有每個人覺得的大量標準可能都不太同,增加跟大量增加的基準界線也是相當模糊不清的,在股票市場事實上也沒有一個計算方式,可能就是以比較的方式做為參考之類的。而我們根據其選擇給予其point,若是大量增加就給予0.8分,若是增加便給予0.6,若是減少則給予0.4,大量減少給予0.2,其point會在最後評斷勝率時來來做考量。公式便是”(總分/總題數)x100%”。在給point上的設計也並非0與1的結果,因為使用者選擇的感覺沒有絕對,股票市場的也沒有絕對,給予這樣的分數是比最適合的。當然在設計這程式時,我們考慮過,有可能user也搞不清楚其數據屬於哪一項,或是我們的選擇沒有適合他所選的選項,那我們允許使用者選擇"不清楚"的選項,讓使用者能跳過該選擇進行下一問題。而使用者每跳過一題,便會對總題數做"減1"的動作,讓最後的勝率判斷不將其列入考量。但若是使用者跳過的題目太多,我們最後結果也會提醒使用者其參考資料過少的問題,會影響其判斷正確性,畢竟參數越多的系統總是較為精確些。設計上,所有user所選擇的選項,都有不同的建議給予使用者做參考,即便user選了比較感覺模糊的選項也有相對應的建議與操作策略。
Expect Result:
利用fuzzy set的方式,還有對其股票輸入的特徵做推估。系統得顯示出適合投資者參考的建議,另外得顯示出若隔日買入的一周勝率,若是投資者給予的資訊過少會顯示其風險警示的提醒字句。

Implement:
問題與選擇問題時的樣子(每回答完一題問題後會跳到下一題):
https://lh4.googleusercontent.com/rnWmyq67Ng2YJf65i2g2wskb2AgVfE8lKkMdZ6M7tdw7njA88PnCsgCEmRAIvKjf98NjG51uexGg1eY98RcdxnGEjfXQEHZy7ztS1GWxvu-DEeLKkL0
問題都回答完的話,會顯示的結果(根據回答的不同,得到的結論也會不同):https://lh4.googleusercontent.com/WlX3jeXmEvDx5h8B9DbVpIWyvS3dSXRLuVcjBzuPzE05VbRJwYkZWq7sx9rHr758ncb60xgXuo9oMZG-T9zWYpkgE8Egx5t5_etEKCLdwTRZLdEuI0M

Conclusion:
本系統最美中不足的地方在於還無法完全切斷透過user自行判斷和選擇的步驟,若能只讓user輸入該股票編號,讓系統自我判斷其徵狀,再給予user其result,這樣的設計,會可使這系統的專家性更高些,當然準確度也會更加高些。
        另外此股票分析系統只用了大部分重點指標,其參數上若能增加更多,其準確性可以更加提高。
至今所有股票系統最無法完善預測的便是消息面的事情,有時消息面影響可是遠高過所有技術分析與股票基本面,若專家系統能替使用者判斷其消息並給予策略,那可將是一個相當宜人的專家系統,不過在此專家系統可能要有學習性的功能,方能判斷消息的影響是好是壞,也因為其中這個原因,系統在給予分數上並不給予1分或是0分這種結果,因為股票市場沒有絕對,不讓使用者有"100%"的錯覺。        此外系統本身雖然引用了fuzzy logic的概念,但是所給的選項仍舊有限,可能無法滿足使用者想要的感覺,若能改成數據輸入或許可以解決此問題,但是考慮過使用者輸入數據可能過多的不便利性,所以還是以選擇性的方式讓使用者選擇
============================================================
==============================================

以上不知道各位有沒有甚麼意見可以作為參考?
若是我有做錯的地方~還請指教與修正~ 謝謝! 感激不盡!

...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>
頁: [1]