Today is the last day of school. I guess a normal day for most of students in SFU, but somewhat significant for me.
Last day of my whole university life~ Well, I mean temporarily...who knows, I might come back for grad study...
WICS had a ice-cream sale, which turned out pretty good. I am glad I had an event ending my last day of school. Nice chats with WICS members and other staffs...
Happy Sunny Day! Above 17 degrees. Great day for icecream.
But inside somehow feeling sad, for the ending.
Friday, April 16, 2010
Wednesday, April 14, 2010
AUC: a better measurement for predicate performance
While working on the JBN project with Oliver and his PhD student, I came across a more complex measurement for predication performance, the Area under the ROC curve (AUC). Normally, people would just use accuracy to evaluate a inference algorithm, that is how much percentage the predicted result is correct.
But AUC is far more complex and accuracy and measures the predication performance from another aspect. It can be interpreted as the probability that when we randomly pick one positive and one negative example, the classifier will assign a higher score to the positive example than to the negative.
First, I need to explain what is ROC. A receiver operating characteristic curve (ROC) is a graphical plot of true positive rate v.s. false positive rate, for a binary classifier system as its discrimination threshold is varied.
For a binary classification problem, where the outcomes are labeled either as positive (p) or negative (n) class, there are four possible outcomes.
• True positive (TP): the prediction outcome is positive and the actual value is also positive
• False positive (FP): the prediction outcome is positive but the actual value is negative
• True negative (TN): the prediction outcome is negative and the actual value is also negative
• False negative (FN): the prediction outcome is positive and the actual value is also positive
The true positive rate (TPR) is the percentage of correctly classified positive instances out of all real positive instances, i.e. TPR = TP / P = TP / (TP + FN). The false positive rate (FPR), on the other hand, defines the percentage of incorrect positive results among all negative instances, i.e. FPR = FP / N = FP / (FP + TN).
In ROC space defined by FPR and TPR as x and y axes respectively, each point is corresponding to a threshold value. For instance, with one threshold, if probability values below or equal to that are sent to the positive class, and other values are assigned to the negative class, a pair of TPR and FPR can be calculated. The lower leftmost point for a given ROC curve is a classifier's performance on the raw data. The upper rightmost point is always (100%, 100%). The more the point is towards up-left corner, the better, while the more the point is towards right-below corner, the worse. A ROC curve is plotted through points for each possible threshold values results in a curve.
In our project, we use the area under the ROC curve (AUC) to summarize the ROC curve into a single number as one metric to measure performance of a classifier. We used 11 thresholds with interval 10% to form a ROC curve with 11 points and the AUC is calculated using a form of the trapezoid rule, i.e. the sum of trapezoids’ area.
I found it is a very interesting and sophisticated measurement and it was the most interesting thing I learned out of this project. I know it is really hard to explain it in plain text here and I probably did really bad job. But happy to give it a try. :p
But AUC is far more complex and accuracy and measures the predication performance from another aspect. It can be interpreted as the probability that when we randomly pick one positive and one negative example, the classifier will assign a higher score to the positive example than to the negative.
First, I need to explain what is ROC. A receiver operating characteristic curve (ROC) is a graphical plot of true positive rate v.s. false positive rate, for a binary classifier system as its discrimination threshold is varied.
For a binary classification problem, where the outcomes are labeled either as positive (p) or negative (n) class, there are four possible outcomes.
• True positive (TP): the prediction outcome is positive and the actual value is also positive
• False positive (FP): the prediction outcome is positive but the actual value is negative
• True negative (TN): the prediction outcome is negative and the actual value is also negative
• False negative (FN): the prediction outcome is positive and the actual value is also positive
The true positive rate (TPR) is the percentage of correctly classified positive instances out of all real positive instances, i.e. TPR = TP / P = TP / (TP + FN). The false positive rate (FPR), on the other hand, defines the percentage of incorrect positive results among all negative instances, i.e. FPR = FP / N = FP / (FP + TN).
In ROC space defined by FPR and TPR as x and y axes respectively, each point is corresponding to a threshold value. For instance, with one threshold, if probability values below or equal to that are sent to the positive class, and other values are assigned to the negative class, a pair of TPR and FPR can be calculated. The lower leftmost point for a given ROC curve is a classifier's performance on the raw data. The upper rightmost point is always (100%, 100%). The more the point is towards up-left corner, the better, while the more the point is towards right-below corner, the worse. A ROC curve is plotted through points for each possible threshold values results in a curve.
In our project, we use the area under the ROC curve (AUC) to summarize the ROC curve into a single number as one metric to measure performance of a classifier. We used 11 thresholds with interval 10% to form a ROC curve with 11 points and the AUC is calculated using a form of the trapezoid rule, i.e. the sum of trapezoids’ area.
I found it is a very interesting and sophisticated measurement and it was the most interesting thing I learned out of this project. I know it is really hard to explain it in plain text here and I probably did really bad job. But happy to give it a try. :p
Saturday, April 10, 2010
FAS Ambassadors
During the past four days, I was doing FAS Ambassadors. My job was to call newly admitted students to welcome them to SFU and answer questions they might have about the university experience.
I summarized my experience in a report as follow:
1. Student Response: How they did respond to your call? Were they nervous to speak to you? If so, how did you put them at ease during the conversation?
The student response varies. I don't think any of them were nervous (I guess this is because the call is from a student, and just to welcome them), they were more like "don't know what to ask or what do talk about".
Most of the time, when I asked "Do you have any questions", they would be like "No, not at this moment." In order to continue the conversation and guide them through, I would ask whether they have been to SFU campus before and invite them to our events, ( e.g. the information evening, Bits & Bytes ). I would also ask if they have paid the deposit and if they have gotten SFU Computing ID. Usually, it gives some time for the questions popping up to their mind.
Sometime, the students are at the stage of waiting for other school's answer or deciding which school should they go to. In these cases, I would encourage them to come to our information evening or Bits&Bytes events. I would tell them attending these events helps them to find out more about SFU, as they can talk to other SFU students and be shown around the campus.
There are cases (not too many though) when the students were thrilled and really curious about life here in SFU. They would ask many questions regarding various issues. This is the best case. I would just talk about my own experience in SFU, tips that I feel useful, and recommend the student groups ( e.g. WEG, WICS and CSSS).
2. Questions asked:What kinds of questions were asked by the students? Did any of the questions require follow-up from and Academic/Admissions Advisors?
- Questions regarding transcripts (they received a request about rtanscript)
- Course Selection
- Program or major
- is it easy to change the program or major
- what is it like to be in Computing Science/Engeering Science. what do you study
- are the courses hard
- Admission question:
- Registration Deposit Payment Deadline
- Is the deposit fee refundable / What would happen if I paid the fee but not coming to SFU
- What would happen if I pass the deadline
- Scholarship, enrtance scholarship specifically
- U-pass
- how much
- what are the available parking lots
- Parking ( adults students usually. Parking fees, parking slot availability)
- Civil Engeering ( Many BGSAP students asked about that )
3. Resources: What additional resources would have been helpful during your call? What things could have been addressed during the training session to prepare you for talking to students? What other information might have been useful to know about the students you were calling? Did it help to know if they were confirmed or registered?
- Yes. I think information of student is definitely helpful, like if they were confirmed or registered, which campus is your program located, which program do they register at, what is their current status.
- Informationa about student adimission office operatiing hours and phone number is helpful too, since many students asked about it.
- A piece of additional information, to call Victoria phone number, i.e. 250-, dial 8 before the phone number
4. Stats for each night (ie how many students you spoke with, left message for, emailed...etc anything that will help with planning).
The first day was very tiring. I was just making calls. I think it is a better idea to mix the phone call and emailing every night, versus just do one thing the whole night.
I feel the following days are better.
5. Overall volunteering experience.
I was a very cool and different experience. I had many interesting and engaged conversations and interaction.
Take some cases as examples:
- I was impressed by one student who has very good knowledge about computing science and it was fun to talk to him about some of the projects I have been involved in. I am glad that I can inspire him in someway and help him gain a better insight of what computing science is like. I also introduced DDP to him and encouraged him to check it out.
- There was one girl who sounded very uncertain and not sure what she should go for. She was worrying about the math part of computing science. I gave her some tips, told her the very good advising service we have in CS department, and also talked about WICS. I think I have helped her to relieve some concerns and worries, and make her more exciting about her university life.
- I was assigned to email some international students. One Karean student who enrolled in DDP replied my email, and also added me on facebook to ask questions through online chatting. I am also glad that I was able to share some of my experience from an international students' perspective of view, as I went through the similar frustrations he has right now.
I also found this volunteering experience is beneficial for myself. I gained different working experience, pratised skills of talking to different people through the phone and guiding them through a conversation, learned things that I didn't know about SFU before and promoted WICS. Doing this ambassoder work makes me feel more involved in the community. The dinner part at end of the day was awesome too. I got to know other FAS students (who I probably won't get a chance to meet otherwise).
Overall, I think this is very well-orgranized. It is good idea to assign students to the volunteers with similar background. Emailing is a good way to greeting students who are abroad or students that we don't have phone number of. It was my pleasure to be part of this and help the upcoming students in SFU.
I summarized my experience in a report as follow:
1. Student Response: How they did respond to your call? Were they nervous to speak to you? If so, how did you put them at ease during the conversation?
The student response varies. I don't think any of them were nervous (I guess this is because the call is from a student, and just to welcome them), they were more like "don't know what to ask or what do talk about".
Most of the time, when I asked "Do you have any questions", they would be like "No, not at this moment." In order to continue the conversation and guide them through, I would ask whether they have been to SFU campus before and invite them to our events, ( e.g. the information evening, Bits & Bytes ). I would also ask if they have paid the deposit and if they have gotten SFU Computing ID. Usually, it gives some time for the questions popping up to their mind.
Sometime, the students are at the stage of waiting for other school's answer or deciding which school should they go to. In these cases, I would encourage them to come to our information evening or Bits&Bytes events. I would tell them attending these events helps them to find out more about SFU, as they can talk to other SFU students and be shown around the campus.
There are cases (not too many though) when the students were thrilled and really curious about life here in SFU. They would ask many questions regarding various issues. This is the best case. I would just talk about my own experience in SFU, tips that I feel useful, and recommend the student groups ( e.g. WEG, WICS and CSSS).
2. Questions asked:What kinds of questions were asked by the students? Did any of the questions require follow-up from and Academic/Admissions Advisors?
- Questions regarding transcripts (they received a request about rtanscript)
- Course Selection
- Program or major
- is it easy to change the program or major
- what is it like to be in Computing Science/Engeering Science. what do you study
- are the courses hard
- Admission question:
- Registration Deposit Payment Deadline
- Is the deposit fee refundable / What would happen if I paid the fee but not coming to SFU
- What would happen if I pass the deadline
- Scholarship, enrtance scholarship specifically
- U-pass
- how much
- what are the available parking lots
- Parking ( adults students usually. Parking fees, parking slot availability)
- Civil Engeering ( Many BGSAP students asked about that )
3. Resources: What additional resources would have been helpful during your call? What things could have been addressed during the training session to prepare you for talking to students? What other information might have been useful to know about the students you were calling? Did it help to know if they were confirmed or registered?
- Yes. I think information of student is definitely helpful, like if they were confirmed or registered, which campus is your program located, which program do they register at, what is their current status.
- Informationa about student adimission office operatiing hours and phone number is helpful too, since many students asked about it.
- A piece of additional information, to call Victoria phone number, i.e. 250-, dial 8 before the phone number
4. Stats for each night (ie how many students you spoke with, left message for, emailed...etc anything that will help with planning).
The first day was very tiring. I was just making calls. I think it is a better idea to mix the phone call and emailing every night, versus just do one thing the whole night.
I feel the following days are better.
5. Overall volunteering experience.
I was a very cool and different experience. I had many interesting and engaged conversations and interaction.
Take some cases as examples:
- I was impressed by one student who has very good knowledge about computing science and it was fun to talk to him about some of the projects I have been involved in. I am glad that I can inspire him in someway and help him gain a better insight of what computing science is like. I also introduced DDP to him and encouraged him to check it out.
- There was one girl who sounded very uncertain and not sure what she should go for. She was worrying about the math part of computing science. I gave her some tips, told her the very good advising service we have in CS department, and also talked about WICS. I think I have helped her to relieve some concerns and worries, and make her more exciting about her university life.
- I was assigned to email some international students. One Karean student who enrolled in DDP replied my email, and also added me on facebook to ask questions through online chatting. I am also glad that I was able to share some of my experience from an international students' perspective of view, as I went through the similar frustrations he has right now.
I also found this volunteering experience is beneficial for myself. I gained different working experience, pratised skills of talking to different people through the phone and guiding them through a conversation, learned things that I didn't know about SFU before and promoted WICS. Doing this ambassoder work makes me feel more involved in the community. The dinner part at end of the day was awesome too. I got to know other FAS students (who I probably won't get a chance to meet otherwise).
Overall, I think this is very well-orgranized. It is good idea to assign students to the volunteers with similar background. Emailing is a good way to greeting students who are abroad or students that we don't have phone number of. It was my pleasure to be part of this and help the upcoming students in SFU.
Friday, April 2, 2010
My interview tips and experience
Coop program in SFU is organizing an technical interview panel and I was invited to join the panel, based on my interview experience with Microsoft, Google, Facebook, IBM Extreme Blue. I think it would be nice to share some of my tips and experience here in my blog too.
General Tips:
* The types of questions you will get depend more on what position you applied.
* Research about the company and their interviews online ahead of time
* Prepare for the behavioral questions. Career service in SFU provides mock-up practice, which I found very useful. You can contact them to make an appointment. They have very good resources too. http://www.sfu.ca/career/students/findajob.html
* To prepare for the technical questions
o review the data structure and algorithm concepts. I recommend one very useful book, "Programming Interviews Exposed", which summarizes a few main data structures and its associated technical questions, and includes tips for technical interviews as well.
o practice some coding questions in real time
o practice you ability to describe a approach to solve problem orally.
o practice solving problem or writing code in white board, because it is very different from coding on computer
My Facebook interview experience:
I submit my resume in a conference, Grace Hopper Celebration. That is how I got the interview opportunity. After that, their HR contacted me through email, where I found out that I need to go to their website and solve a programming puzzle before receiving a phone interview. So I spent two days on the programming puzzle and finally got a phone interview opportunity. First, I was scheduled a phone meeting with the HR recuiter. I thought it was going to be very informal chat, but it turned out very much like an interview. She asked me a serious of behavioral questions along with also some programming language questions, like "what is the 'static' in C++?", "what is v-table" and etc. After that, I was scheduled a technical interview with one of their engineers. Then that technical interview was very standard, mainly one programing question. I thought I did good, but apparently not good enough to reach their standard. So I didn't get into last round of the interview, which is the site interview.
A few things I would like to bring up specifically about facebook:
- I found facebook interview process is not very well standardized, compared to other big companies.
- The facebook puzzles are very hard, at least I found so. I picked a relatively easy one, but was still struggling for a long time. However, they are very good questions for improving your puzzle solving and coding skills, so I definitely recommend to practice on them. http://www.facebook.com/careers/puzzles.php.
- Facebook has not very strong connection with SFU. Few of their employees are from SFU.
General Tips:
* The types of questions you will get depend more on what position you applied.
* Research about the company and their interviews online ahead of time
* Prepare for the behavioral questions. Career service in SFU provides mock-up practice, which I found very useful. You can contact them to make an appointment. They have very good resources too. http://www.sfu.ca/career/students/findajob.html
* To prepare for the technical questions
o review the data structure and algorithm concepts. I recommend one very useful book, "Programming Interviews Exposed", which summarizes a few main data structures and its associated technical questions, and includes tips for technical interviews as well.
o practice some coding questions in real time
o practice you ability to describe a approach to solve problem orally.
o practice solving problem or writing code in white board, because it is very different from coding on computer
My Facebook interview experience:
I submit my resume in a conference, Grace Hopper Celebration. That is how I got the interview opportunity. After that, their HR contacted me through email, where I found out that I need to go to their website and solve a programming puzzle before receiving a phone interview. So I spent two days on the programming puzzle and finally got a phone interview opportunity. First, I was scheduled a phone meeting with the HR recuiter. I thought it was going to be very informal chat, but it turned out very much like an interview. She asked me a serious of behavioral questions along with also some programming language questions, like "what is the 'static' in C++?", "what is v-table" and etc. After that, I was scheduled a technical interview with one of their engineers. Then that technical interview was very standard, mainly one programing question. I thought I did good, but apparently not good enough to reach their standard. So I didn't get into last round of the interview, which is the site interview.
A few things I would like to bring up specifically about facebook:
- I found facebook interview process is not very well standardized, compared to other big companies.
- The facebook puzzles are very hard, at least I found so. I picked a relatively easy one, but was still struggling for a long time. However, they are very good questions for improving your puzzle solving and coding skills, so I definitely recommend to practice on them. http://www.facebook.com/careers/puzzles.php.
- Facebook has not very strong connection with SFU. Few of their employees are from SFU.
Thursday, April 1, 2010
TryCatch event is on May 15, 2010 at 2pm, SFU Burnaby
**********************
WHAT:
Try/CATCH (Computing and Technology Conference for Her) is a half-day event for high school girls from grades eight to ten, with a major objective of helping girls develop an interest in computing science and the field of technology.
WHEN: Sat May 15, 2010 at 2pm
WHERE: SFU Burnaby Campus
**********************
DETAILS:
Try/CATCH is an exciting outreach project organized by the Women in Computing Science (WICS) at Simon Fraser University.
Throughout the event, students will participate in a variety of enriching activities focusing on developing skills in areas such as programming, user interface design and other computing-related aspects. Networking will be encouraged and the advantages of working in a technology field will be highlighted through discussion with women mentors.
Try/CATCH will provide cakes, snacks, a casual reception for participants to enjoy. They will also be eligible to receive prizes awarded in both the workshops and at the end of the night with a raffle draw.
Please register online: http://trycatch.cmpt.sfu.ca/
or
Email us at trycatch.info@gmail.com
WHAT:
Try/CATCH (Computing and Technology Conference for Her) is a half-day event for high school girls from grades eight to ten, with a major objective of helping girls develop an interest in computing science and the field of technology.
WHEN: Sat May 15, 2010 at 2pm
WHERE: SFU Burnaby Campus
**********************
DETAILS:
Try/CATCH is an exciting outreach project organized by the Women in Computing Science (WICS) at Simon Fraser University.
Throughout the event, students will participate in a variety of enriching activities focusing on developing skills in areas such as programming, user interface design and other computing-related aspects. Networking will be encouraged and the advantages of working in a technology field will be highlighted through discussion with women mentors.
Try/CATCH will provide cakes, snacks, a casual reception for participants to enjoy. They will also be eligible to receive prizes awarded in both the workshops and at the end of the night with a raffle draw.
Please register online: http://trycatch.cmpt.sfu.ca/
or
Email us at trycatch.info@gmail.com
Entrepreneurship & Technology Commercialization workshop feedback
I just attended the Entrepreneurship & Technology Commercialization workshop on March 12, 19 & 26 at SFU Harbour Centre. This 3-day workshop is organized by the Faculty of Applied Sciences in collaboration with the British Columbia Innovation Council, and the intended is to provide students with intensive, applied training in technology entrepreneurship, product management and commercialization.
Overall, it was a very valuable experience for me.
The course content is well organized and covers various aspects and mainly focuses on technology commercialization. For me, the best part is the interaction with entrepreneurs. The students get paired up with entrepreneurs, working on their real business cases, which definitely brings me valuable hand-on experience and helps to get more insights of the industry. In addition, the networking with them is very beneficial.
However, I feel like the courses are very intense as there are only 3 days in total. The schedule of a day from 9 to 5pm is a little overwhelming. I easily lost my attention and got tired during the class. Moreover, I haven't taken any business classes, thus have very little business background. Sometime, it is hard to follow the lectures. So maybe a schedule based on half-a-day session would work out better.
The case studies are good and valuable. But without enough background knowledge, I lost track of the story. Maybe it would be better some brief introduction of the companies can be included in the slides for case studies.
But again, overall, it was a very informative and helpful workshop. I really appreciated the opportunity.
Overall, it was a very valuable experience for me.
The course content is well organized and covers various aspects and mainly focuses on technology commercialization. For me, the best part is the interaction with entrepreneurs. The students get paired up with entrepreneurs, working on their real business cases, which definitely brings me valuable hand-on experience and helps to get more insights of the industry. In addition, the networking with them is very beneficial.
However, I feel like the courses are very intense as there are only 3 days in total. The schedule of a day from 9 to 5pm is a little overwhelming. I easily lost my attention and got tired during the class. Moreover, I haven't taken any business classes, thus have very little business background. Sometime, it is hard to follow the lectures. So maybe a schedule based on half-a-day session would work out better.
The case studies are good and valuable. But without enough background knowledge, I lost track of the story. Maybe it would be better some brief introduction of the companies can be included in the slides for case studies.
But again, overall, it was a very informative and helpful workshop. I really appreciated the opportunity.
Thursday, March 25, 2010
"Late" Happy Ada Lovelace Day
I totally forgot I have this blog and I should have post this Ada Lovelace Day poster earlier! But better late than never! "Late" Happy Ada Lovelace Day! I am so pound that the first programmer is a women! Yay~
March 24th (just passed for 2 hours) is Ada Lovelace Day, an international day of blogging (videologging, podcasting, comic drawing etc.!) to draw attention to the achievements of women in technology and science.
The official site is http://findingada.com/
Augusta Ada Byron King, Countess of Lovelace (1815-1852), born Augusta Ada Byron, was the only legitimate child of the poet Lord Byron. She is mainly known for having written a description of Charles Babbage's early mechanical general-purpose computer, the analytical engine. She is today appreciated as the "first programmer" since she was writing programs for a machine that Babbage had not yet built. She also foresaw the capability of computers to go beyond mere calculating.
March 24th (just passed for 2 hours) is Ada Lovelace Day, an international day of blogging (videologging, podcasting, comic drawing etc.!) to draw attention to the achievements of women in technology and science.
The official site is http://findingada.com/
Augusta Ada Byron King, Countess of Lovelace (1815-1852), born Augusta Ada Byron, was the only legitimate child of the poet Lord Byron. She is mainly known for having written a description of Charles Babbage's early mechanical general-purpose computer, the analytical engine. She is today appreciated as the "first programmer" since she was writing programs for a machine that Babbage had not yet built. She also foresaw the capability of computers to go beyond mere calculating.
Subscribe to:
Posts (Atom)